hydra-python 0.17.7 → 0.18.0
raw patch · 19 files changed
+23042/−22957 lines, 19 filesdep ~hydra-kernelPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: hydra-kernel
API changes (from Hackage documentation)
- Hydra.Dsl.Python.Environment: pyGraph :: TypedTerm Graph -> TypedTerm PythonModuleMetadata -> TypedTerm PyGraph
- Hydra.Dsl.Python.Environment: pyGraphGraph :: TypedTerm PyGraph -> TypedTerm Graph
- Hydra.Dsl.Python.Environment: pyGraphMetadata :: TypedTerm PyGraph -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pyGraphPyGraph :: TypedName PyGraph
- Hydra.Dsl.Python.Environment: pyGraphWithGraph :: TypedTerm PyGraph -> TypedTerm Graph -> TypedTerm PyGraph
- Hydra.Dsl.Python.Environment: pyGraphWithMetadata :: TypedTerm PyGraph -> TypedTerm PythonModuleMetadata -> TypedTerm PyGraph
- Hydra.Dsl.Python.Environment: pythonEnvironment :: TypedTerm (ModuleNames DottedName) -> TypedTerm ([Name], Map Name Name) -> TypedTerm Graph -> TypedTerm (Set Name) -> TypedTerm PythonVersion -> TypedTerm Bool -> TypedTerm (Set Name) -> TypedTerm (Set String) -> TypedTerm PythonEnvironment
- Hydra.Dsl.Python.Environment: pythonEnvironmentBoundTypeVariables :: TypedTerm PythonEnvironment -> TypedTerm ([Name], Map Name Name)
- Hydra.Dsl.Python.Environment: pythonEnvironmentGraph :: TypedTerm PythonEnvironment -> TypedTerm Graph
- Hydra.Dsl.Python.Environment: pythonEnvironmentInlineVariables :: TypedTerm PythonEnvironment -> TypedTerm (Set Name)
- Hydra.Dsl.Python.Environment: pythonEnvironmentNamespaces :: TypedTerm PythonEnvironment -> TypedTerm (ModuleNames DottedName)
- Hydra.Dsl.Python.Environment: pythonEnvironmentNullaryBindings :: TypedTerm PythonEnvironment -> TypedTerm (Set Name)
- Hydra.Dsl.Python.Environment: pythonEnvironmentOverlaySubs :: TypedTerm PythonEnvironment -> TypedTerm (Set String)
- Hydra.Dsl.Python.Environment: pythonEnvironmentPythonEnvironment :: TypedName PythonEnvironment
- Hydra.Dsl.Python.Environment: pythonEnvironmentSkipCasts :: TypedTerm PythonEnvironment -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonEnvironmentVersion :: TypedTerm PythonEnvironment -> TypedTerm PythonVersion
- Hydra.Dsl.Python.Environment: pythonEnvironmentWithBoundTypeVariables :: TypedTerm PythonEnvironment -> TypedTerm ([Name], Map Name Name) -> TypedTerm PythonEnvironment
- Hydra.Dsl.Python.Environment: pythonEnvironmentWithGraph :: TypedTerm PythonEnvironment -> TypedTerm Graph -> TypedTerm PythonEnvironment
- Hydra.Dsl.Python.Environment: pythonEnvironmentWithInlineVariables :: TypedTerm PythonEnvironment -> TypedTerm (Set Name) -> TypedTerm PythonEnvironment
- Hydra.Dsl.Python.Environment: pythonEnvironmentWithNamespaces :: TypedTerm PythonEnvironment -> TypedTerm (ModuleNames DottedName) -> TypedTerm PythonEnvironment
- Hydra.Dsl.Python.Environment: pythonEnvironmentWithNullaryBindings :: TypedTerm PythonEnvironment -> TypedTerm (Set Name) -> TypedTerm PythonEnvironment
- Hydra.Dsl.Python.Environment: pythonEnvironmentWithOverlaySubs :: TypedTerm PythonEnvironment -> TypedTerm (Set String) -> TypedTerm PythonEnvironment
- Hydra.Dsl.Python.Environment: pythonEnvironmentWithSkipCasts :: TypedTerm PythonEnvironment -> TypedTerm Bool -> TypedTerm PythonEnvironment
- Hydra.Dsl.Python.Environment: pythonEnvironmentWithVersion :: TypedTerm PythonEnvironment -> TypedTerm PythonVersion -> TypedTerm PythonEnvironment
- Hydra.Dsl.Python.Environment: pythonModuleMetadata :: TypedTerm (ModuleNames DottedName) -> TypedTerm (Set Name) -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataNamespaces :: TypedTerm PythonModuleMetadata -> TypedTerm (ModuleNames DottedName)
- Hydra.Dsl.Python.Environment: pythonModuleMetadataPythonModuleMetadata :: TypedName PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataTypeVariables :: TypedTerm PythonModuleMetadata -> TypedTerm (Set Name)
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesAnnotated :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesCallable :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesCast :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesDataclass :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesDecimal :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesEither :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesEnum :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesFrozenDict :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesFrozenList :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesFrozenSet :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesGeneric :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesJust :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesLeft :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesLruCache :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesMaybe :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesName :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesNode :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesNothing :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesRight :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesTypeAlias :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesTypeVar :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithNamespaces :: TypedTerm PythonModuleMetadata -> TypedTerm (ModuleNames DottedName) -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithTypeVariables :: TypedTerm PythonModuleMetadata -> TypedTerm (Set Name) -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesAnnotated :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesCallable :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesCast :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesDataclass :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesDecimal :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesEither :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesEnum :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesFrozenDict :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesFrozenList :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesFrozenSet :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesGeneric :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesJust :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesLeft :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesLruCache :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesMaybe :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesName :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesNode :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesNothing :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesRight :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesTypeAlias :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesTypeVar :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonVersionPython310 :: TypedTerm PythonVersion
- Hydra.Dsl.Python.Environment: pythonVersionPython312 :: TypedTerm PythonVersion
- Hydra.Dsl.Python.Environment: pythonVersionPythonVersion :: TypedName PythonVersion
- Hydra.Dsl.Python.Names: encodeConstantForFieldName :: TypedTerm t0 -> TypedTerm t1 -> TypedTerm Name -> TypedTerm Name
- Hydra.Dsl.Python.Names: encodeConstantForTypeName :: TypedTerm t0 -> TypedTerm t1 -> TypedTerm Name
- Hydra.Dsl.Python.Names: encodeEnumValue :: TypedTerm PythonEnvironment -> TypedTerm Name -> TypedTerm Name
- Hydra.Dsl.Python.Names: encodeFieldName :: TypedTerm PythonEnvironment -> TypedTerm Name -> TypedTerm Name
- Hydra.Dsl.Python.Names: encodeName :: TypedTerm Bool -> TypedTerm CaseConvention -> TypedTerm PythonEnvironment -> TypedTerm Name -> TypedTerm Name
- Hydra.Dsl.Python.Names: encodeNameQualified :: TypedTerm PythonEnvironment -> TypedTerm Name -> TypedTerm Name
- Hydra.Dsl.Python.Names: encodeNamespace :: TypedTerm ModuleName -> TypedTerm DottedName
- Hydra.Dsl.Python.Names: encodeNamespaceStringWithOverrides :: TypedTerm (Set String) -> TypedTerm ModuleName -> TypedTerm String
- Hydra.Dsl.Python.Names: encodeNamespaceWithOverrides :: TypedTerm (Set String) -> TypedTerm ModuleName -> TypedTerm DottedName
- Hydra.Dsl.Python.Names: encodeTypeVariable :: TypedTerm Name -> TypedTerm Name
- Hydra.Dsl.Python.Names: overlayPythonModuleAliases :: TypedTerm (Map ModuleName String)
- Hydra.Dsl.Python.Names: sanitizePythonName :: TypedTerm String -> TypedTerm String
- Hydra.Dsl.Python.Names: termVariableReference :: TypedTerm PythonEnvironment -> TypedTerm Name -> TypedTerm Expression
- Hydra.Dsl.Python.Names: typeVariableReference :: TypedTerm PythonEnvironment -> TypedTerm Name -> TypedTerm Expression
- Hydra.Dsl.Python.Names: useFutureAnnotations :: TypedTerm Bool
- Hydra.Dsl.Python.Names: variableReference :: TypedTerm CaseConvention -> TypedTerm Bool -> TypedTerm PythonEnvironment -> TypedTerm Name -> TypedTerm Expression
- Hydra.Dsl.Python.Names: variantName :: TypedTerm Bool -> TypedTerm PythonEnvironment -> TypedTerm Name -> TypedTerm Name -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: annotatedRhsAnnotatedRhs :: TypedName AnnotatedRhs
- Hydra.Dsl.Python.Syntax: annotatedRhsStar :: TypedTerm [StarExpression] -> TypedTerm AnnotatedRhs
- Hydra.Dsl.Python.Syntax: annotatedRhsYield :: TypedTerm YieldExpression -> TypedTerm AnnotatedRhs
- Hydra.Dsl.Python.Syntax: annotatedStatement :: TypedTerm String -> TypedTerm Statement -> TypedTerm AnnotatedStatement
- Hydra.Dsl.Python.Syntax: annotatedStatementAnnotatedStatement :: TypedName AnnotatedStatement
- Hydra.Dsl.Python.Syntax: annotatedStatementComment :: TypedTerm AnnotatedStatement -> TypedTerm String
- Hydra.Dsl.Python.Syntax: annotatedStatementStatement :: TypedTerm AnnotatedStatement -> TypedTerm Statement
- Hydra.Dsl.Python.Syntax: annotatedStatementWithComment :: TypedTerm AnnotatedStatement -> TypedTerm String -> TypedTerm AnnotatedStatement
- Hydra.Dsl.Python.Syntax: annotatedStatementWithStatement :: TypedTerm AnnotatedStatement -> TypedTerm Statement -> TypedTerm AnnotatedStatement
- Hydra.Dsl.Python.Syntax: annotation :: TypedTerm Expression -> TypedTerm Annotation
- Hydra.Dsl.Python.Syntax: annotationAnnotation :: TypedName Annotation
- Hydra.Dsl.Python.Syntax: args :: TypedTerm [PosArg] -> TypedTerm [KwargOrStarred] -> TypedTerm [KwargOrDoubleStarred] -> TypedTerm Args
- Hydra.Dsl.Python.Syntax: argsArgs :: TypedName Args
- Hydra.Dsl.Python.Syntax: argsKwargOrDoubleStarred :: TypedTerm Args -> TypedTerm [KwargOrDoubleStarred]
- Hydra.Dsl.Python.Syntax: argsKwargOrStarred :: TypedTerm Args -> TypedTerm [KwargOrStarred]
- Hydra.Dsl.Python.Syntax: argsPositional :: TypedTerm Args -> TypedTerm [PosArg]
- Hydra.Dsl.Python.Syntax: argsWithKwargOrDoubleStarred :: TypedTerm Args -> TypedTerm [KwargOrDoubleStarred] -> TypedTerm Args
- Hydra.Dsl.Python.Syntax: argsWithKwargOrStarred :: TypedTerm Args -> TypedTerm [KwargOrStarred] -> TypedTerm Args
- Hydra.Dsl.Python.Syntax: argsWithPositional :: TypedTerm Args -> TypedTerm [PosArg] -> TypedTerm Args
- Hydra.Dsl.Python.Syntax: asPattern :: TypedTerm OrPattern -> TypedTerm PatternCaptureTarget -> TypedTerm AsPattern
- Hydra.Dsl.Python.Syntax: asPatternAs :: TypedTerm AsPattern -> TypedTerm PatternCaptureTarget
- Hydra.Dsl.Python.Syntax: asPatternAsPattern :: TypedName AsPattern
- Hydra.Dsl.Python.Syntax: asPatternPattern :: TypedTerm AsPattern -> TypedTerm OrPattern
- Hydra.Dsl.Python.Syntax: asPatternWithAs :: TypedTerm AsPattern -> TypedTerm PatternCaptureTarget -> TypedTerm AsPattern
- Hydra.Dsl.Python.Syntax: asPatternWithPattern :: TypedTerm AsPattern -> TypedTerm OrPattern -> TypedTerm AsPattern
- Hydra.Dsl.Python.Syntax: assertStatement :: TypedTerm Expression -> TypedTerm (Maybe Expression) -> TypedTerm AssertStatement
- Hydra.Dsl.Python.Syntax: assertStatementAssertStatement :: TypedName AssertStatement
- Hydra.Dsl.Python.Syntax: assertStatementExpression1 :: TypedTerm AssertStatement -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: assertStatementExpression2 :: TypedTerm AssertStatement -> TypedTerm (Maybe Expression)
- Hydra.Dsl.Python.Syntax: assertStatementWithExpression1 :: TypedTerm AssertStatement -> TypedTerm Expression -> TypedTerm AssertStatement
- Hydra.Dsl.Python.Syntax: assertStatementWithExpression2 :: TypedTerm AssertStatement -> TypedTerm (Maybe Expression) -> TypedTerm AssertStatement
- Hydra.Dsl.Python.Syntax: assignmentAssignment :: TypedName Assignment
- Hydra.Dsl.Python.Syntax: assignmentAug :: TypedTerm AugAssignment -> TypedTerm Assignment
- Hydra.Dsl.Python.Syntax: assignmentExpression :: TypedTerm Name -> TypedTerm Expression -> TypedTerm AssignmentExpression
- Hydra.Dsl.Python.Syntax: assignmentExpressionAssignmentExpression :: TypedName AssignmentExpression
- Hydra.Dsl.Python.Syntax: assignmentExpressionExpression :: TypedTerm AssignmentExpression -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: assignmentExpressionName :: TypedTerm AssignmentExpression -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: assignmentExpressionWithExpression :: TypedTerm AssignmentExpression -> TypedTerm Expression -> TypedTerm AssignmentExpression
- Hydra.Dsl.Python.Syntax: assignmentExpressionWithName :: TypedTerm AssignmentExpression -> TypedTerm Name -> TypedTerm AssignmentExpression
- Hydra.Dsl.Python.Syntax: assignmentTyped :: TypedTerm TypedAssignment -> TypedTerm Assignment
- Hydra.Dsl.Python.Syntax: assignmentUntyped :: TypedTerm UntypedAssignment -> TypedTerm Assignment
- Hydra.Dsl.Python.Syntax: atomAtom :: TypedName Atom
- Hydra.Dsl.Python.Syntax: atomDict :: TypedTerm Dict -> TypedTerm Atom
- Hydra.Dsl.Python.Syntax: atomDictcomp :: TypedTerm Dictcomp -> TypedTerm Atom
- Hydra.Dsl.Python.Syntax: atomEllipsis :: TypedTerm Atom
- Hydra.Dsl.Python.Syntax: atomFalse :: TypedTerm Atom
- Hydra.Dsl.Python.Syntax: atomGenexp :: TypedTerm Genexp -> TypedTerm Atom
- Hydra.Dsl.Python.Syntax: atomGroup :: TypedTerm Group -> TypedTerm Atom
- Hydra.Dsl.Python.Syntax: atomList :: TypedTerm List -> TypedTerm Atom
- Hydra.Dsl.Python.Syntax: atomListcomp :: TypedTerm Listcomp -> TypedTerm Atom
- Hydra.Dsl.Python.Syntax: atomName :: TypedTerm Name -> TypedTerm Atom
- Hydra.Dsl.Python.Syntax: atomNone :: TypedTerm Atom
- Hydra.Dsl.Python.Syntax: atomNumber :: TypedTerm Number -> TypedTerm Atom
- Hydra.Dsl.Python.Syntax: atomSet :: TypedTerm Set -> TypedTerm Atom
- Hydra.Dsl.Python.Syntax: atomSetcomp :: TypedTerm Setcomp -> TypedTerm Atom
- Hydra.Dsl.Python.Syntax: atomString :: TypedTerm String_ -> TypedTerm Atom
- Hydra.Dsl.Python.Syntax: atomTrue :: TypedTerm Atom
- Hydra.Dsl.Python.Syntax: atomTuple :: TypedTerm Tuple -> TypedTerm Atom
- Hydra.Dsl.Python.Syntax: attribute :: TypedTerm [Name] -> TypedTerm Attribute
- Hydra.Dsl.Python.Syntax: attributeAttribute :: TypedName Attribute
- Hydra.Dsl.Python.Syntax: augAssignAmpersandEqual :: TypedTerm AugAssign
- Hydra.Dsl.Python.Syntax: augAssignAtEqual :: TypedTerm AugAssign
- Hydra.Dsl.Python.Syntax: augAssignAugAssign :: TypedName AugAssign
- Hydra.Dsl.Python.Syntax: augAssignBarEqual :: TypedTerm AugAssign
- Hydra.Dsl.Python.Syntax: augAssignCaretEqual :: TypedTerm AugAssign
- Hydra.Dsl.Python.Syntax: augAssignDoubleSlashEqual :: TypedTerm AugAssign
- Hydra.Dsl.Python.Syntax: augAssignLeftShiftEqual :: TypedTerm AugAssign
- Hydra.Dsl.Python.Syntax: augAssignMinusEqual :: TypedTerm AugAssign
- Hydra.Dsl.Python.Syntax: augAssignPercentEqual :: TypedTerm AugAssign
- Hydra.Dsl.Python.Syntax: augAssignPlusEqual :: TypedTerm AugAssign
- Hydra.Dsl.Python.Syntax: augAssignRightShiftEqual :: TypedTerm AugAssign
- Hydra.Dsl.Python.Syntax: augAssignSlashEqual :: TypedTerm AugAssign
- Hydra.Dsl.Python.Syntax: augAssignStarStarEqual :: TypedTerm AugAssign
- Hydra.Dsl.Python.Syntax: augAssignTimesEqual :: TypedTerm AugAssign
- Hydra.Dsl.Python.Syntax: augAssignment :: TypedTerm SingleTarget -> TypedTerm AugAssign -> TypedTerm AnnotatedRhs -> TypedTerm AugAssignment
- Hydra.Dsl.Python.Syntax: augAssignmentAugAssignment :: TypedName AugAssignment
- Hydra.Dsl.Python.Syntax: augAssignmentAugassign :: TypedTerm AugAssignment -> TypedTerm AugAssign
- Hydra.Dsl.Python.Syntax: augAssignmentLhs :: TypedTerm AugAssignment -> TypedTerm SingleTarget
- Hydra.Dsl.Python.Syntax: augAssignmentRhs :: TypedTerm AugAssignment -> TypedTerm AnnotatedRhs
- Hydra.Dsl.Python.Syntax: augAssignmentWithAugassign :: TypedTerm AugAssignment -> TypedTerm AugAssign -> TypedTerm AugAssignment
- Hydra.Dsl.Python.Syntax: augAssignmentWithLhs :: TypedTerm AugAssignment -> TypedTerm SingleTarget -> TypedTerm AugAssignment
- Hydra.Dsl.Python.Syntax: augAssignmentWithRhs :: TypedTerm AugAssignment -> TypedTerm AnnotatedRhs -> TypedTerm AugAssignment
- Hydra.Dsl.Python.Syntax: awaitPrimary :: TypedTerm Bool -> TypedTerm Primary -> TypedTerm AwaitPrimary
- Hydra.Dsl.Python.Syntax: awaitPrimaryAwait :: TypedTerm AwaitPrimary -> TypedTerm Bool
- Hydra.Dsl.Python.Syntax: awaitPrimaryAwaitPrimary :: TypedName AwaitPrimary
- Hydra.Dsl.Python.Syntax: awaitPrimaryPrimary :: TypedTerm AwaitPrimary -> TypedTerm Primary
- Hydra.Dsl.Python.Syntax: awaitPrimaryWithAwait :: TypedTerm AwaitPrimary -> TypedTerm Bool -> TypedTerm AwaitPrimary
- Hydra.Dsl.Python.Syntax: awaitPrimaryWithPrimary :: TypedTerm AwaitPrimary -> TypedTerm Primary -> TypedTerm AwaitPrimary
- Hydra.Dsl.Python.Syntax: bitwiseAnd :: TypedTerm (Maybe BitwiseAnd) -> TypedTerm ShiftExpression -> TypedTerm BitwiseAnd
- Hydra.Dsl.Python.Syntax: bitwiseAndBitwiseAnd :: TypedName BitwiseAnd
- Hydra.Dsl.Python.Syntax: bitwiseAndLhs :: TypedTerm BitwiseAnd -> TypedTerm (Maybe BitwiseAnd)
- Hydra.Dsl.Python.Syntax: bitwiseAndRhs :: TypedTerm BitwiseAnd -> TypedTerm ShiftExpression
- Hydra.Dsl.Python.Syntax: bitwiseAndWithLhs :: TypedTerm BitwiseAnd -> TypedTerm (Maybe BitwiseAnd) -> TypedTerm BitwiseAnd
- Hydra.Dsl.Python.Syntax: bitwiseAndWithRhs :: TypedTerm BitwiseAnd -> TypedTerm ShiftExpression -> TypedTerm BitwiseAnd
- Hydra.Dsl.Python.Syntax: bitwiseOr :: TypedTerm (Maybe BitwiseOr) -> TypedTerm BitwiseXor -> TypedTerm BitwiseOr
- Hydra.Dsl.Python.Syntax: bitwiseOrBitwiseOr :: TypedName BitwiseOr
- Hydra.Dsl.Python.Syntax: bitwiseOrLhs :: TypedTerm BitwiseOr -> TypedTerm (Maybe BitwiseOr)
- Hydra.Dsl.Python.Syntax: bitwiseOrRhs :: TypedTerm BitwiseOr -> TypedTerm BitwiseXor
- Hydra.Dsl.Python.Syntax: bitwiseOrWithLhs :: TypedTerm BitwiseOr -> TypedTerm (Maybe BitwiseOr) -> TypedTerm BitwiseOr
- Hydra.Dsl.Python.Syntax: bitwiseOrWithRhs :: TypedTerm BitwiseOr -> TypedTerm BitwiseXor -> TypedTerm BitwiseOr
- Hydra.Dsl.Python.Syntax: bitwiseXor :: TypedTerm (Maybe BitwiseXor) -> TypedTerm BitwiseAnd -> TypedTerm BitwiseXor
- Hydra.Dsl.Python.Syntax: bitwiseXorBitwiseXor :: TypedName BitwiseXor
- Hydra.Dsl.Python.Syntax: bitwiseXorLhs :: TypedTerm BitwiseXor -> TypedTerm (Maybe BitwiseXor)
- Hydra.Dsl.Python.Syntax: bitwiseXorRhs :: TypedTerm BitwiseXor -> TypedTerm BitwiseAnd
- Hydra.Dsl.Python.Syntax: bitwiseXorWithLhs :: TypedTerm BitwiseXor -> TypedTerm (Maybe BitwiseXor) -> TypedTerm BitwiseXor
- Hydra.Dsl.Python.Syntax: bitwiseXorWithRhs :: TypedTerm BitwiseXor -> TypedTerm BitwiseAnd -> TypedTerm BitwiseXor
- Hydra.Dsl.Python.Syntax: blockBlock :: TypedName Block
- Hydra.Dsl.Python.Syntax: blockIndented :: TypedTerm [[Statement]] -> TypedTerm Block
- Hydra.Dsl.Python.Syntax: blockSimple :: TypedTerm [SimpleStatement] -> TypedTerm Block
- Hydra.Dsl.Python.Syntax: capturePattern :: TypedTerm PatternCaptureTarget -> TypedTerm CapturePattern
- Hydra.Dsl.Python.Syntax: capturePatternCapturePattern :: TypedName CapturePattern
- Hydra.Dsl.Python.Syntax: caseBlock :: TypedTerm Patterns -> TypedTerm (Maybe Guard) -> TypedTerm Block -> TypedTerm CaseBlock
- Hydra.Dsl.Python.Syntax: caseBlockBody :: TypedTerm CaseBlock -> TypedTerm Block
- Hydra.Dsl.Python.Syntax: caseBlockCaseBlock :: TypedName CaseBlock
- Hydra.Dsl.Python.Syntax: caseBlockGuard :: TypedTerm CaseBlock -> TypedTerm (Maybe Guard)
- Hydra.Dsl.Python.Syntax: caseBlockPatterns :: TypedTerm CaseBlock -> TypedTerm Patterns
- Hydra.Dsl.Python.Syntax: caseBlockWithBody :: TypedTerm CaseBlock -> TypedTerm Block -> TypedTerm CaseBlock
- Hydra.Dsl.Python.Syntax: caseBlockWithGuard :: TypedTerm CaseBlock -> TypedTerm (Maybe Guard) -> TypedTerm CaseBlock
- Hydra.Dsl.Python.Syntax: caseBlockWithPatterns :: TypedTerm CaseBlock -> TypedTerm Patterns -> TypedTerm CaseBlock
- Hydra.Dsl.Python.Syntax: classDefinition :: TypedTerm (Maybe Decorators) -> TypedTerm Name -> TypedTerm [TypeParameter] -> TypedTerm (Maybe Args) -> TypedTerm Block -> TypedTerm ClassDefinition
- Hydra.Dsl.Python.Syntax: classDefinitionArguments :: TypedTerm ClassDefinition -> TypedTerm (Maybe Args)
- Hydra.Dsl.Python.Syntax: classDefinitionBody :: TypedTerm ClassDefinition -> TypedTerm Block
- Hydra.Dsl.Python.Syntax: classDefinitionClassDefinition :: TypedName ClassDefinition
- Hydra.Dsl.Python.Syntax: classDefinitionDecorators :: TypedTerm ClassDefinition -> TypedTerm (Maybe Decorators)
- Hydra.Dsl.Python.Syntax: classDefinitionName :: TypedTerm ClassDefinition -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: classDefinitionTypeParams :: TypedTerm ClassDefinition -> TypedTerm [TypeParameter]
- Hydra.Dsl.Python.Syntax: classDefinitionWithArguments :: TypedTerm ClassDefinition -> TypedTerm (Maybe Args) -> TypedTerm ClassDefinition
- Hydra.Dsl.Python.Syntax: classDefinitionWithBody :: TypedTerm ClassDefinition -> TypedTerm Block -> TypedTerm ClassDefinition
- Hydra.Dsl.Python.Syntax: classDefinitionWithDecorators :: TypedTerm ClassDefinition -> TypedTerm (Maybe Decorators) -> TypedTerm ClassDefinition
- Hydra.Dsl.Python.Syntax: classDefinitionWithName :: TypedTerm ClassDefinition -> TypedTerm Name -> TypedTerm ClassDefinition
- Hydra.Dsl.Python.Syntax: classDefinitionWithTypeParams :: TypedTerm ClassDefinition -> TypedTerm [TypeParameter] -> TypedTerm ClassDefinition
- Hydra.Dsl.Python.Syntax: classPattern :: TypedTerm NameOrAttribute -> TypedTerm (Maybe PositionalPatterns) -> TypedTerm (Maybe KeywordPatterns) -> TypedTerm ClassPattern
- Hydra.Dsl.Python.Syntax: classPatternClassPattern :: TypedName ClassPattern
- Hydra.Dsl.Python.Syntax: classPatternKeywordPatterns :: TypedTerm ClassPattern -> TypedTerm (Maybe KeywordPatterns)
- Hydra.Dsl.Python.Syntax: classPatternNameOrAttribute :: TypedTerm ClassPattern -> TypedTerm NameOrAttribute
- Hydra.Dsl.Python.Syntax: classPatternPositionalPatterns :: TypedTerm ClassPattern -> TypedTerm (Maybe PositionalPatterns)
- Hydra.Dsl.Python.Syntax: classPatternWithKeywordPatterns :: TypedTerm ClassPattern -> TypedTerm (Maybe KeywordPatterns) -> TypedTerm ClassPattern
- Hydra.Dsl.Python.Syntax: classPatternWithNameOrAttribute :: TypedTerm ClassPattern -> TypedTerm NameOrAttribute -> TypedTerm ClassPattern
- Hydra.Dsl.Python.Syntax: classPatternWithPositionalPatterns :: TypedTerm ClassPattern -> TypedTerm (Maybe PositionalPatterns) -> TypedTerm ClassPattern
- Hydra.Dsl.Python.Syntax: closedPatternCapture :: TypedTerm CapturePattern -> TypedTerm ClosedPattern
- Hydra.Dsl.Python.Syntax: closedPatternClass :: TypedTerm ClassPattern -> TypedTerm ClosedPattern
- Hydra.Dsl.Python.Syntax: closedPatternClosedPattern :: TypedName ClosedPattern
- Hydra.Dsl.Python.Syntax: closedPatternGroup :: TypedTerm GroupPattern -> TypedTerm ClosedPattern
- Hydra.Dsl.Python.Syntax: closedPatternLiteral :: TypedTerm LiteralExpression -> TypedTerm ClosedPattern
- Hydra.Dsl.Python.Syntax: closedPatternMapping :: TypedTerm MappingPattern -> TypedTerm ClosedPattern
- Hydra.Dsl.Python.Syntax: closedPatternSequence :: TypedTerm SequencePattern -> TypedTerm ClosedPattern
- Hydra.Dsl.Python.Syntax: closedPatternValue :: TypedTerm ValuePattern -> TypedTerm ClosedPattern
- Hydra.Dsl.Python.Syntax: closedPatternWildcard :: TypedTerm ClosedPattern
- Hydra.Dsl.Python.Syntax: commaStarEtc :: TypedTerm [ParamMaybeDefault] -> TypedTerm (Maybe Keywords) -> TypedTerm CommaStarEtc
- Hydra.Dsl.Python.Syntax: commaStarEtcCommaStarEtc :: TypedName CommaStarEtc
- Hydra.Dsl.Python.Syntax: commaStarEtcKeywords :: TypedTerm CommaStarEtc -> TypedTerm (Maybe Keywords)
- Hydra.Dsl.Python.Syntax: commaStarEtcParamMaybeDefault :: TypedTerm CommaStarEtc -> TypedTerm [ParamMaybeDefault]
- Hydra.Dsl.Python.Syntax: commaStarEtcWithKeywords :: TypedTerm CommaStarEtc -> TypedTerm (Maybe Keywords) -> TypedTerm CommaStarEtc
- Hydra.Dsl.Python.Syntax: commaStarEtcWithParamMaybeDefault :: TypedTerm CommaStarEtc -> TypedTerm [ParamMaybeDefault] -> TypedTerm CommaStarEtc
- Hydra.Dsl.Python.Syntax: compareOpBitwiseOrPair :: TypedTerm CompareOp -> TypedTerm BitwiseOr -> TypedTerm CompareOpBitwiseOrPair
- Hydra.Dsl.Python.Syntax: compareOpBitwiseOrPairCompareOpBitwiseOrPair :: TypedName CompareOpBitwiseOrPair
- Hydra.Dsl.Python.Syntax: compareOpBitwiseOrPairOperator :: TypedTerm CompareOpBitwiseOrPair -> TypedTerm CompareOp
- Hydra.Dsl.Python.Syntax: compareOpBitwiseOrPairRhs :: TypedTerm CompareOpBitwiseOrPair -> TypedTerm BitwiseOr
- Hydra.Dsl.Python.Syntax: compareOpBitwiseOrPairWithOperator :: TypedTerm CompareOpBitwiseOrPair -> TypedTerm CompareOp -> TypedTerm CompareOpBitwiseOrPair
- Hydra.Dsl.Python.Syntax: compareOpBitwiseOrPairWithRhs :: TypedTerm CompareOpBitwiseOrPair -> TypedTerm BitwiseOr -> TypedTerm CompareOpBitwiseOrPair
- Hydra.Dsl.Python.Syntax: compareOpCompareOp :: TypedName CompareOp
- Hydra.Dsl.Python.Syntax: compareOpEq :: TypedTerm CompareOp
- Hydra.Dsl.Python.Syntax: compareOpGt :: TypedTerm CompareOp
- Hydra.Dsl.Python.Syntax: compareOpGte :: TypedTerm CompareOp
- Hydra.Dsl.Python.Syntax: compareOpIn :: TypedTerm CompareOp
- Hydra.Dsl.Python.Syntax: compareOpIs :: TypedTerm CompareOp
- Hydra.Dsl.Python.Syntax: compareOpIsnot :: TypedTerm CompareOp
- Hydra.Dsl.Python.Syntax: compareOpLt :: TypedTerm CompareOp
- Hydra.Dsl.Python.Syntax: compareOpLte :: TypedTerm CompareOp
- Hydra.Dsl.Python.Syntax: compareOpNoteq :: TypedTerm CompareOp
- Hydra.Dsl.Python.Syntax: compareOpNotin :: TypedTerm CompareOp
- Hydra.Dsl.Python.Syntax: comparison :: TypedTerm BitwiseOr -> TypedTerm [CompareOpBitwiseOrPair] -> TypedTerm Comparison
- Hydra.Dsl.Python.Syntax: comparisonComparison :: TypedName Comparison
- Hydra.Dsl.Python.Syntax: comparisonLhs :: TypedTerm Comparison -> TypedTerm BitwiseOr
- Hydra.Dsl.Python.Syntax: comparisonRhs :: TypedTerm Comparison -> TypedTerm [CompareOpBitwiseOrPair]
- Hydra.Dsl.Python.Syntax: comparisonWithLhs :: TypedTerm Comparison -> TypedTerm BitwiseOr -> TypedTerm Comparison
- Hydra.Dsl.Python.Syntax: comparisonWithRhs :: TypedTerm Comparison -> TypedTerm [CompareOpBitwiseOrPair] -> TypedTerm Comparison
- Hydra.Dsl.Python.Syntax: complexNumber :: TypedTerm SignedRealNumber -> TypedTerm PlusOrMinus -> TypedTerm ImaginaryNumber -> TypedTerm ComplexNumber
- Hydra.Dsl.Python.Syntax: complexNumberComplexNumber :: TypedName ComplexNumber
- Hydra.Dsl.Python.Syntax: complexNumberImaginary :: TypedTerm ComplexNumber -> TypedTerm ImaginaryNumber
- Hydra.Dsl.Python.Syntax: complexNumberPlusOrMinus :: TypedTerm ComplexNumber -> TypedTerm PlusOrMinus
- Hydra.Dsl.Python.Syntax: complexNumberReal :: TypedTerm ComplexNumber -> TypedTerm SignedRealNumber
- Hydra.Dsl.Python.Syntax: complexNumberWithImaginary :: TypedTerm ComplexNumber -> TypedTerm ImaginaryNumber -> TypedTerm ComplexNumber
- Hydra.Dsl.Python.Syntax: complexNumberWithPlusOrMinus :: TypedTerm ComplexNumber -> TypedTerm PlusOrMinus -> TypedTerm ComplexNumber
- Hydra.Dsl.Python.Syntax: complexNumberWithReal :: TypedTerm ComplexNumber -> TypedTerm SignedRealNumber -> TypedTerm ComplexNumber
- Hydra.Dsl.Python.Syntax: compoundStatementClassDef :: TypedTerm ClassDefinition -> TypedTerm CompoundStatement
- Hydra.Dsl.Python.Syntax: compoundStatementCompoundStatement :: TypedName CompoundStatement
- Hydra.Dsl.Python.Syntax: compoundStatementFor :: TypedTerm ForStatement -> TypedTerm CompoundStatement
- Hydra.Dsl.Python.Syntax: compoundStatementFunction :: TypedTerm FunctionDefinition -> TypedTerm CompoundStatement
- Hydra.Dsl.Python.Syntax: compoundStatementIf :: TypedTerm IfStatement -> TypedTerm CompoundStatement
- Hydra.Dsl.Python.Syntax: compoundStatementMatch :: TypedTerm MatchStatement -> TypedTerm CompoundStatement
- Hydra.Dsl.Python.Syntax: compoundStatementTry :: TypedTerm TryStatement -> TypedTerm CompoundStatement
- Hydra.Dsl.Python.Syntax: compoundStatementWhile :: TypedTerm WhileStatement -> TypedTerm CompoundStatement
- Hydra.Dsl.Python.Syntax: compoundStatementWith :: TypedTerm WithStatement -> TypedTerm CompoundStatement
- Hydra.Dsl.Python.Syntax: conditional :: TypedTerm Disjunction -> TypedTerm Disjunction -> TypedTerm Expression -> TypedTerm Conditional
- Hydra.Dsl.Python.Syntax: conditionalBody :: TypedTerm Conditional -> TypedTerm Disjunction
- Hydra.Dsl.Python.Syntax: conditionalConditional :: TypedName Conditional
- Hydra.Dsl.Python.Syntax: conditionalElse :: TypedTerm Conditional -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: conditionalIf :: TypedTerm Conditional -> TypedTerm Disjunction
- Hydra.Dsl.Python.Syntax: conditionalWithBody :: TypedTerm Conditional -> TypedTerm Disjunction -> TypedTerm Conditional
- Hydra.Dsl.Python.Syntax: conditionalWithElse :: TypedTerm Conditional -> TypedTerm Expression -> TypedTerm Conditional
- Hydra.Dsl.Python.Syntax: conditionalWithIf :: TypedTerm Conditional -> TypedTerm Disjunction -> TypedTerm Conditional
- Hydra.Dsl.Python.Syntax: conjunction :: TypedTerm [Inversion] -> TypedTerm Conjunction
- Hydra.Dsl.Python.Syntax: conjunctionConjunction :: TypedName Conjunction
- Hydra.Dsl.Python.Syntax: decorators :: TypedTerm [NamedExpression] -> TypedTerm Decorators
- Hydra.Dsl.Python.Syntax: decoratorsDecorators :: TypedName Decorators
- Hydra.Dsl.Python.Syntax: defaultDefault :: TypedName Default
- Hydra.Dsl.Python.Syntax: default_ :: TypedTerm Expression -> TypedTerm Default
- Hydra.Dsl.Python.Syntax: delStatement :: TypedTerm DelTargets -> TypedTerm DelStatement
- Hydra.Dsl.Python.Syntax: delStatementDelStatement :: TypedName DelStatement
- Hydra.Dsl.Python.Syntax: delTAtomDelTAtom :: TypedName DelTAtom
- Hydra.Dsl.Python.Syntax: delTAtomName :: TypedTerm Name -> TypedTerm DelTAtom
- Hydra.Dsl.Python.Syntax: delTAtomTarget :: TypedTerm DelTarget -> TypedTerm DelTAtom
- Hydra.Dsl.Python.Syntax: delTAtomTargets :: TypedTerm DelTargets -> TypedTerm DelTAtom
- Hydra.Dsl.Python.Syntax: delTargetDelTAtom :: TypedTerm DelTAtom -> TypedTerm DelTarget
- Hydra.Dsl.Python.Syntax: delTargetDelTarget :: TypedName DelTarget
- Hydra.Dsl.Python.Syntax: delTargetPrimaryAndName :: TypedTerm TPrimaryAndName -> TypedTerm DelTarget
- Hydra.Dsl.Python.Syntax: delTargetPrimaryAndSlices :: TypedTerm TPrimaryAndSlices -> TypedTerm DelTarget
- Hydra.Dsl.Python.Syntax: delTargets :: TypedTerm [DelTarget] -> TypedTerm DelTargets
- Hydra.Dsl.Python.Syntax: delTargetsDelTargets :: TypedName DelTargets
- Hydra.Dsl.Python.Syntax: dict :: TypedTerm [DoubleStarredKvpair] -> TypedTerm Dict
- Hydra.Dsl.Python.Syntax: dictDict :: TypedName Dict
- Hydra.Dsl.Python.Syntax: dictcomp :: TypedTerm Kvpair -> TypedTerm ForIfClauses -> TypedTerm Dictcomp
- Hydra.Dsl.Python.Syntax: dictcompDictcomp :: TypedName Dictcomp
- Hydra.Dsl.Python.Syntax: dictcompForIfClauses :: TypedTerm Dictcomp -> TypedTerm ForIfClauses
- Hydra.Dsl.Python.Syntax: dictcompKvpair :: TypedTerm Dictcomp -> TypedTerm Kvpair
- Hydra.Dsl.Python.Syntax: dictcompWithForIfClauses :: TypedTerm Dictcomp -> TypedTerm ForIfClauses -> TypedTerm Dictcomp
- Hydra.Dsl.Python.Syntax: dictcompWithKvpair :: TypedTerm Dictcomp -> TypedTerm Kvpair -> TypedTerm Dictcomp
- Hydra.Dsl.Python.Syntax: disjunction :: TypedTerm [Conjunction] -> TypedTerm Disjunction
- Hydra.Dsl.Python.Syntax: disjunctionDisjunction :: TypedName Disjunction
- Hydra.Dsl.Python.Syntax: dottedAsName :: TypedTerm DottedName -> TypedTerm (Maybe Name) -> TypedTerm DottedAsName
- Hydra.Dsl.Python.Syntax: dottedAsNameAs :: TypedTerm DottedAsName -> TypedTerm (Maybe Name)
- Hydra.Dsl.Python.Syntax: dottedAsNameDottedAsName :: TypedName DottedAsName
- Hydra.Dsl.Python.Syntax: dottedAsNameName :: TypedTerm DottedAsName -> TypedTerm DottedName
- Hydra.Dsl.Python.Syntax: dottedAsNameWithAs :: TypedTerm DottedAsName -> TypedTerm (Maybe Name) -> TypedTerm DottedAsName
- Hydra.Dsl.Python.Syntax: dottedAsNameWithName :: TypedTerm DottedAsName -> TypedTerm DottedName -> TypedTerm DottedAsName
- Hydra.Dsl.Python.Syntax: dottedName :: TypedTerm [Name] -> TypedTerm DottedName
- Hydra.Dsl.Python.Syntax: dottedNameDottedName :: TypedName DottedName
- Hydra.Dsl.Python.Syntax: doubleStarPattern :: TypedTerm PatternCaptureTarget -> TypedTerm DoubleStarPattern
- Hydra.Dsl.Python.Syntax: doubleStarPatternDoubleStarPattern :: TypedName DoubleStarPattern
- Hydra.Dsl.Python.Syntax: doubleStarTypeParameter :: TypedTerm Name -> TypedTerm (Maybe Expression) -> TypedTerm DoubleStarTypeParameter
- Hydra.Dsl.Python.Syntax: doubleStarTypeParameterDefault :: TypedTerm DoubleStarTypeParameter -> TypedTerm (Maybe Expression)
- Hydra.Dsl.Python.Syntax: doubleStarTypeParameterDoubleStarTypeParameter :: TypedName DoubleStarTypeParameter
- Hydra.Dsl.Python.Syntax: doubleStarTypeParameterName :: TypedTerm DoubleStarTypeParameter -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: doubleStarTypeParameterWithDefault :: TypedTerm DoubleStarTypeParameter -> TypedTerm (Maybe Expression) -> TypedTerm DoubleStarTypeParameter
- Hydra.Dsl.Python.Syntax: doubleStarTypeParameterWithName :: TypedTerm DoubleStarTypeParameter -> TypedTerm Name -> TypedTerm DoubleStarTypeParameter
- Hydra.Dsl.Python.Syntax: doubleStarredKvpairDoubleStarredKvpair :: TypedName DoubleStarredKvpair
- Hydra.Dsl.Python.Syntax: doubleStarredKvpairPair :: TypedTerm Kvpair -> TypedTerm DoubleStarredKvpair
- Hydra.Dsl.Python.Syntax: doubleStarredKvpairStarred :: TypedTerm BitwiseOr -> TypedTerm DoubleStarredKvpair
- Hydra.Dsl.Python.Syntax: eval :: TypedTerm [Expression] -> TypedTerm Eval
- Hydra.Dsl.Python.Syntax: evalEval :: TypedName Eval
- Hydra.Dsl.Python.Syntax: exceptBlock :: TypedTerm (Maybe ExceptExpression) -> TypedTerm Block -> TypedTerm ExceptBlock
- Hydra.Dsl.Python.Syntax: exceptBlockBody :: TypedTerm ExceptBlock -> TypedTerm Block
- Hydra.Dsl.Python.Syntax: exceptBlockExceptBlock :: TypedName ExceptBlock
- Hydra.Dsl.Python.Syntax: exceptBlockExpression :: TypedTerm ExceptBlock -> TypedTerm (Maybe ExceptExpression)
- Hydra.Dsl.Python.Syntax: exceptBlockWithBody :: TypedTerm ExceptBlock -> TypedTerm Block -> TypedTerm ExceptBlock
- Hydra.Dsl.Python.Syntax: exceptBlockWithExpression :: TypedTerm ExceptBlock -> TypedTerm (Maybe ExceptExpression) -> TypedTerm ExceptBlock
- Hydra.Dsl.Python.Syntax: exceptExpression :: TypedTerm Expression -> TypedTerm (Maybe Name) -> TypedTerm ExceptExpression
- Hydra.Dsl.Python.Syntax: exceptExpressionAs :: TypedTerm ExceptExpression -> TypedTerm (Maybe Name)
- Hydra.Dsl.Python.Syntax: exceptExpressionExceptExpression :: TypedName ExceptExpression
- Hydra.Dsl.Python.Syntax: exceptExpressionExpression :: TypedTerm ExceptExpression -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: exceptExpressionWithAs :: TypedTerm ExceptExpression -> TypedTerm (Maybe Name) -> TypedTerm ExceptExpression
- Hydra.Dsl.Python.Syntax: exceptExpressionWithExpression :: TypedTerm ExceptExpression -> TypedTerm Expression -> TypedTerm ExceptExpression
- Hydra.Dsl.Python.Syntax: exceptStarBlock :: TypedTerm Expression -> TypedTerm (Maybe Name) -> TypedTerm Block -> TypedTerm ExceptStarBlock
- Hydra.Dsl.Python.Syntax: exceptStarBlockAs :: TypedTerm ExceptStarBlock -> TypedTerm (Maybe Name)
- Hydra.Dsl.Python.Syntax: exceptStarBlockBody :: TypedTerm ExceptStarBlock -> TypedTerm Block
- Hydra.Dsl.Python.Syntax: exceptStarBlockExceptStarBlock :: TypedName ExceptStarBlock
- Hydra.Dsl.Python.Syntax: exceptStarBlockExpression :: TypedTerm ExceptStarBlock -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: exceptStarBlockWithAs :: TypedTerm ExceptStarBlock -> TypedTerm (Maybe Name) -> TypedTerm ExceptStarBlock
- Hydra.Dsl.Python.Syntax: exceptStarBlockWithBody :: TypedTerm ExceptStarBlock -> TypedTerm Block -> TypedTerm ExceptStarBlock
- Hydra.Dsl.Python.Syntax: exceptStarBlockWithExpression :: TypedTerm ExceptStarBlock -> TypedTerm Expression -> TypedTerm ExceptStarBlock
- Hydra.Dsl.Python.Syntax: expressionConditional :: TypedTerm Conditional -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: expressionExpression :: TypedName Expression
- Hydra.Dsl.Python.Syntax: expressionLambda :: TypedTerm Lambda -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: expressionSimple :: TypedTerm Disjunction -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: factorComplement :: TypedTerm Factor -> TypedTerm Factor
- Hydra.Dsl.Python.Syntax: factorFactor :: TypedName Factor
- Hydra.Dsl.Python.Syntax: factorNegative :: TypedTerm Factor -> TypedTerm Factor
- Hydra.Dsl.Python.Syntax: factorPositive :: TypedTerm Factor -> TypedTerm Factor
- Hydra.Dsl.Python.Syntax: factorSimple :: TypedTerm Power -> TypedTerm Factor
- Hydra.Dsl.Python.Syntax: file :: TypedTerm [Statement] -> TypedTerm File
- Hydra.Dsl.Python.Syntax: fileFile :: TypedName File
- Hydra.Dsl.Python.Syntax: forIfClause :: TypedTerm Bool -> TypedTerm [StarTarget] -> TypedTerm Disjunction -> TypedTerm [Disjunction] -> TypedTerm ForIfClause
- Hydra.Dsl.Python.Syntax: forIfClauseAsync :: TypedTerm ForIfClause -> TypedTerm Bool
- Hydra.Dsl.Python.Syntax: forIfClauseForIfClause :: TypedName ForIfClause
- Hydra.Dsl.Python.Syntax: forIfClauseIfs :: TypedTerm ForIfClause -> TypedTerm [Disjunction]
- Hydra.Dsl.Python.Syntax: forIfClauseIn :: TypedTerm ForIfClause -> TypedTerm Disjunction
- Hydra.Dsl.Python.Syntax: forIfClauseTargets :: TypedTerm ForIfClause -> TypedTerm [StarTarget]
- Hydra.Dsl.Python.Syntax: forIfClauseWithAsync :: TypedTerm ForIfClause -> TypedTerm Bool -> TypedTerm ForIfClause
- Hydra.Dsl.Python.Syntax: forIfClauseWithIfs :: TypedTerm ForIfClause -> TypedTerm [Disjunction] -> TypedTerm ForIfClause
- Hydra.Dsl.Python.Syntax: forIfClauseWithIn :: TypedTerm ForIfClause -> TypedTerm Disjunction -> TypedTerm ForIfClause
- Hydra.Dsl.Python.Syntax: forIfClauseWithTargets :: TypedTerm ForIfClause -> TypedTerm [StarTarget] -> TypedTerm ForIfClause
- Hydra.Dsl.Python.Syntax: forIfClauses :: TypedTerm [ForIfClause] -> TypedTerm ForIfClauses
- Hydra.Dsl.Python.Syntax: forIfClausesForIfClauses :: TypedName ForIfClauses
- Hydra.Dsl.Python.Syntax: forStatement :: TypedTerm Bool -> TypedTerm [StarTarget] -> TypedTerm [StarExpression] -> TypedTerm (Maybe TypeComment) -> TypedTerm Block -> TypedTerm (Maybe Block) -> TypedTerm ForStatement
- Hydra.Dsl.Python.Syntax: forStatementAsync :: TypedTerm ForStatement -> TypedTerm Bool
- Hydra.Dsl.Python.Syntax: forStatementBody :: TypedTerm ForStatement -> TypedTerm Block
- Hydra.Dsl.Python.Syntax: forStatementElse :: TypedTerm ForStatement -> TypedTerm (Maybe Block)
- Hydra.Dsl.Python.Syntax: forStatementExpressions :: TypedTerm ForStatement -> TypedTerm [StarExpression]
- Hydra.Dsl.Python.Syntax: forStatementForStatement :: TypedName ForStatement
- Hydra.Dsl.Python.Syntax: forStatementTargets :: TypedTerm ForStatement -> TypedTerm [StarTarget]
- Hydra.Dsl.Python.Syntax: forStatementTypeComment :: TypedTerm ForStatement -> TypedTerm (Maybe TypeComment)
- Hydra.Dsl.Python.Syntax: forStatementWithAsync :: TypedTerm ForStatement -> TypedTerm Bool -> TypedTerm ForStatement
- Hydra.Dsl.Python.Syntax: forStatementWithBody :: TypedTerm ForStatement -> TypedTerm Block -> TypedTerm ForStatement
- Hydra.Dsl.Python.Syntax: forStatementWithElse :: TypedTerm ForStatement -> TypedTerm (Maybe Block) -> TypedTerm ForStatement
- Hydra.Dsl.Python.Syntax: forStatementWithExpressions :: TypedTerm ForStatement -> TypedTerm [StarExpression] -> TypedTerm ForStatement
- Hydra.Dsl.Python.Syntax: forStatementWithTargets :: TypedTerm ForStatement -> TypedTerm [StarTarget] -> TypedTerm ForStatement
- Hydra.Dsl.Python.Syntax: forStatementWithTypeComment :: TypedTerm ForStatement -> TypedTerm (Maybe TypeComment) -> TypedTerm ForStatement
- Hydra.Dsl.Python.Syntax: funcTypeComment :: TypedTerm TypeComment -> TypedTerm FuncTypeComment
- Hydra.Dsl.Python.Syntax: funcTypeCommentFuncTypeComment :: TypedName FuncTypeComment
- Hydra.Dsl.Python.Syntax: functionDefRaw :: TypedTerm Bool -> TypedTerm Name -> TypedTerm [TypeParameter] -> TypedTerm (Maybe Parameters) -> TypedTerm (Maybe Expression) -> TypedTerm (Maybe FuncTypeComment) -> TypedTerm Block -> TypedTerm FunctionDefRaw
- Hydra.Dsl.Python.Syntax: functionDefRawAsync :: TypedTerm FunctionDefRaw -> TypedTerm Bool
- Hydra.Dsl.Python.Syntax: functionDefRawBlock :: TypedTerm FunctionDefRaw -> TypedTerm Block
- Hydra.Dsl.Python.Syntax: functionDefRawFuncTypeComment :: TypedTerm FunctionDefRaw -> TypedTerm (Maybe FuncTypeComment)
- Hydra.Dsl.Python.Syntax: functionDefRawFunctionDefRaw :: TypedName FunctionDefRaw
- Hydra.Dsl.Python.Syntax: functionDefRawName :: TypedTerm FunctionDefRaw -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: functionDefRawParams :: TypedTerm FunctionDefRaw -> TypedTerm (Maybe Parameters)
- Hydra.Dsl.Python.Syntax: functionDefRawReturnType :: TypedTerm FunctionDefRaw -> TypedTerm (Maybe Expression)
- Hydra.Dsl.Python.Syntax: functionDefRawTypeParams :: TypedTerm FunctionDefRaw -> TypedTerm [TypeParameter]
- Hydra.Dsl.Python.Syntax: functionDefRawWithAsync :: TypedTerm FunctionDefRaw -> TypedTerm Bool -> TypedTerm FunctionDefRaw
- Hydra.Dsl.Python.Syntax: functionDefRawWithBlock :: TypedTerm FunctionDefRaw -> TypedTerm Block -> TypedTerm FunctionDefRaw
- Hydra.Dsl.Python.Syntax: functionDefRawWithFuncTypeComment :: TypedTerm FunctionDefRaw -> TypedTerm (Maybe FuncTypeComment) -> TypedTerm FunctionDefRaw
- Hydra.Dsl.Python.Syntax: functionDefRawWithName :: TypedTerm FunctionDefRaw -> TypedTerm Name -> TypedTerm FunctionDefRaw
- Hydra.Dsl.Python.Syntax: functionDefRawWithParams :: TypedTerm FunctionDefRaw -> TypedTerm (Maybe Parameters) -> TypedTerm FunctionDefRaw
- Hydra.Dsl.Python.Syntax: functionDefRawWithReturnType :: TypedTerm FunctionDefRaw -> TypedTerm (Maybe Expression) -> TypedTerm FunctionDefRaw
- Hydra.Dsl.Python.Syntax: functionDefRawWithTypeParams :: TypedTerm FunctionDefRaw -> TypedTerm [TypeParameter] -> TypedTerm FunctionDefRaw
- Hydra.Dsl.Python.Syntax: functionDefinition :: TypedTerm (Maybe Decorators) -> TypedTerm FunctionDefRaw -> TypedTerm FunctionDefinition
- Hydra.Dsl.Python.Syntax: functionDefinitionDecorators :: TypedTerm FunctionDefinition -> TypedTerm (Maybe Decorators)
- Hydra.Dsl.Python.Syntax: functionDefinitionFunctionDefinition :: TypedName FunctionDefinition
- Hydra.Dsl.Python.Syntax: functionDefinitionRaw :: TypedTerm FunctionDefinition -> TypedTerm FunctionDefRaw
- Hydra.Dsl.Python.Syntax: functionDefinitionWithDecorators :: TypedTerm FunctionDefinition -> TypedTerm (Maybe Decorators) -> TypedTerm FunctionDefinition
- Hydra.Dsl.Python.Syntax: functionDefinitionWithRaw :: TypedTerm FunctionDefinition -> TypedTerm FunctionDefRaw -> TypedTerm FunctionDefinition
- Hydra.Dsl.Python.Syntax: genexp :: TypedTerm GenexpHead -> TypedTerm ForIfClauses -> TypedTerm Genexp
- Hydra.Dsl.Python.Syntax: genexpGenexp :: TypedName Genexp
- Hydra.Dsl.Python.Syntax: genexpHead :: TypedTerm Genexp -> TypedTerm GenexpHead
- Hydra.Dsl.Python.Syntax: genexpHeadAssignment :: TypedTerm AssignmentExpression -> TypedTerm GenexpHead
- Hydra.Dsl.Python.Syntax: genexpHeadExpression :: TypedTerm Expression -> TypedTerm GenexpHead
- Hydra.Dsl.Python.Syntax: genexpHeadGenexpHead :: TypedName GenexpHead
- Hydra.Dsl.Python.Syntax: genexpTail :: TypedTerm Genexp -> TypedTerm ForIfClauses
- Hydra.Dsl.Python.Syntax: genexpWithHead :: TypedTerm Genexp -> TypedTerm GenexpHead -> TypedTerm Genexp
- Hydra.Dsl.Python.Syntax: genexpWithTail :: TypedTerm Genexp -> TypedTerm ForIfClauses -> TypedTerm Genexp
- Hydra.Dsl.Python.Syntax: groupExpression :: TypedTerm NamedExpression -> TypedTerm Group
- Hydra.Dsl.Python.Syntax: groupGroup :: TypedName Group
- Hydra.Dsl.Python.Syntax: groupPattern :: TypedTerm Pattern -> TypedTerm GroupPattern
- Hydra.Dsl.Python.Syntax: groupPatternGroupPattern :: TypedName GroupPattern
- Hydra.Dsl.Python.Syntax: groupYield :: TypedTerm YieldExpression -> TypedTerm Group
- Hydra.Dsl.Python.Syntax: guard :: TypedTerm NamedExpression -> TypedTerm Guard
- Hydra.Dsl.Python.Syntax: guardGuard :: TypedName Guard
- Hydra.Dsl.Python.Syntax: ifStatement :: TypedTerm NamedExpression -> TypedTerm Block -> TypedTerm (Maybe IfTail) -> TypedTerm IfStatement
- Hydra.Dsl.Python.Syntax: ifStatementBody :: TypedTerm IfStatement -> TypedTerm Block
- Hydra.Dsl.Python.Syntax: ifStatementCondition :: TypedTerm IfStatement -> TypedTerm NamedExpression
- Hydra.Dsl.Python.Syntax: ifStatementContinuation :: TypedTerm IfStatement -> TypedTerm (Maybe IfTail)
- Hydra.Dsl.Python.Syntax: ifStatementIfStatement :: TypedName IfStatement
- Hydra.Dsl.Python.Syntax: ifStatementWithBody :: TypedTerm IfStatement -> TypedTerm Block -> TypedTerm IfStatement
- Hydra.Dsl.Python.Syntax: ifStatementWithCondition :: TypedTerm IfStatement -> TypedTerm NamedExpression -> TypedTerm IfStatement
- Hydra.Dsl.Python.Syntax: ifStatementWithContinuation :: TypedTerm IfStatement -> TypedTerm (Maybe IfTail) -> TypedTerm IfStatement
- Hydra.Dsl.Python.Syntax: ifTailElif :: TypedTerm IfStatement -> TypedTerm IfTail
- Hydra.Dsl.Python.Syntax: ifTailElse :: TypedTerm Block -> TypedTerm IfTail
- Hydra.Dsl.Python.Syntax: ifTailIfTail :: TypedName IfTail
- Hydra.Dsl.Python.Syntax: imaginaryNumber :: TypedTerm Double -> TypedTerm ImaginaryNumber
- Hydra.Dsl.Python.Syntax: imaginaryNumberImaginaryNumber :: TypedName ImaginaryNumber
- Hydra.Dsl.Python.Syntax: importFrom :: TypedTerm [RelativeImportPrefix] -> TypedTerm (Maybe DottedName) -> TypedTerm ImportFromTargets -> TypedTerm ImportFrom
- Hydra.Dsl.Python.Syntax: importFromAsName :: TypedTerm Name -> TypedTerm (Maybe Name) -> TypedTerm ImportFromAsName
- Hydra.Dsl.Python.Syntax: importFromAsNameAs :: TypedTerm ImportFromAsName -> TypedTerm (Maybe Name)
- Hydra.Dsl.Python.Syntax: importFromAsNameImportFromAsName :: TypedName ImportFromAsName
- Hydra.Dsl.Python.Syntax: importFromAsNameName :: TypedTerm ImportFromAsName -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: importFromAsNameWithAs :: TypedTerm ImportFromAsName -> TypedTerm (Maybe Name) -> TypedTerm ImportFromAsName
- Hydra.Dsl.Python.Syntax: importFromAsNameWithName :: TypedTerm ImportFromAsName -> TypedTerm Name -> TypedTerm ImportFromAsName
- Hydra.Dsl.Python.Syntax: importFromDottedName :: TypedTerm ImportFrom -> TypedTerm (Maybe DottedName)
- Hydra.Dsl.Python.Syntax: importFromImportFrom :: TypedName ImportFrom
- Hydra.Dsl.Python.Syntax: importFromPrefixes :: TypedTerm ImportFrom -> TypedTerm [RelativeImportPrefix]
- Hydra.Dsl.Python.Syntax: importFromTargets :: TypedTerm ImportFrom -> TypedTerm ImportFromTargets
- Hydra.Dsl.Python.Syntax: importFromTargetsImportFromTargets :: TypedName ImportFromTargets
- Hydra.Dsl.Python.Syntax: importFromTargetsParens :: TypedTerm [ImportFromAsName] -> TypedTerm ImportFromTargets
- Hydra.Dsl.Python.Syntax: importFromTargetsSimple :: TypedTerm [ImportFromAsName] -> TypedTerm ImportFromTargets
- Hydra.Dsl.Python.Syntax: importFromTargetsStar :: TypedTerm ImportFromTargets
- Hydra.Dsl.Python.Syntax: importFromWithDottedName :: TypedTerm ImportFrom -> TypedTerm (Maybe DottedName) -> TypedTerm ImportFrom
- Hydra.Dsl.Python.Syntax: importFromWithPrefixes :: TypedTerm ImportFrom -> TypedTerm [RelativeImportPrefix] -> TypedTerm ImportFrom
- Hydra.Dsl.Python.Syntax: importFromWithTargets :: TypedTerm ImportFrom -> TypedTerm ImportFromTargets -> TypedTerm ImportFrom
- Hydra.Dsl.Python.Syntax: importName :: TypedTerm [DottedAsName] -> TypedTerm ImportName
- Hydra.Dsl.Python.Syntax: importNameImportName :: TypedName ImportName
- Hydra.Dsl.Python.Syntax: importStatementFrom :: TypedTerm ImportFrom -> TypedTerm ImportStatement
- Hydra.Dsl.Python.Syntax: importStatementImportStatement :: TypedName ImportStatement
- Hydra.Dsl.Python.Syntax: importStatementName :: TypedTerm ImportName -> TypedTerm ImportStatement
- Hydra.Dsl.Python.Syntax: interactive :: TypedTerm Statement -> TypedTerm Interactive
- Hydra.Dsl.Python.Syntax: interactiveInteractive :: TypedName Interactive
- Hydra.Dsl.Python.Syntax: inversionInversion :: TypedName Inversion
- Hydra.Dsl.Python.Syntax: inversionNot :: TypedTerm Inversion -> TypedTerm Inversion
- Hydra.Dsl.Python.Syntax: inversionSimple :: TypedTerm Comparison -> TypedTerm Inversion
- Hydra.Dsl.Python.Syntax: itemsPattern :: TypedTerm [KeyValuePattern] -> TypedTerm ItemsPattern
- Hydra.Dsl.Python.Syntax: itemsPatternItemsPattern :: TypedName ItemsPattern
- Hydra.Dsl.Python.Syntax: keyValuePattern :: TypedTerm LiteralExpressionOrAttribute -> TypedTerm Pattern -> TypedTerm KeyValuePattern
- Hydra.Dsl.Python.Syntax: keyValuePatternKey :: TypedTerm KeyValuePattern -> TypedTerm LiteralExpressionOrAttribute
- Hydra.Dsl.Python.Syntax: keyValuePatternKeyValuePattern :: TypedName KeyValuePattern
- Hydra.Dsl.Python.Syntax: keyValuePatternValue :: TypedTerm KeyValuePattern -> TypedTerm Pattern
- Hydra.Dsl.Python.Syntax: keyValuePatternWithKey :: TypedTerm KeyValuePattern -> TypedTerm LiteralExpressionOrAttribute -> TypedTerm KeyValuePattern
- Hydra.Dsl.Python.Syntax: keyValuePatternWithValue :: TypedTerm KeyValuePattern -> TypedTerm Pattern -> TypedTerm KeyValuePattern
- Hydra.Dsl.Python.Syntax: keywordPattern :: TypedTerm Name -> TypedTerm Pattern -> TypedTerm KeywordPattern
- Hydra.Dsl.Python.Syntax: keywordPatternKeywordPattern :: TypedName KeywordPattern
- Hydra.Dsl.Python.Syntax: keywordPatternName :: TypedTerm KeywordPattern -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: keywordPatternPattern :: TypedTerm KeywordPattern -> TypedTerm Pattern
- Hydra.Dsl.Python.Syntax: keywordPatternWithName :: TypedTerm KeywordPattern -> TypedTerm Name -> TypedTerm KeywordPattern
- Hydra.Dsl.Python.Syntax: keywordPatternWithPattern :: TypedTerm KeywordPattern -> TypedTerm Pattern -> TypedTerm KeywordPattern
- Hydra.Dsl.Python.Syntax: keywordPatterns :: TypedTerm [KeywordPattern] -> TypedTerm KeywordPatterns
- Hydra.Dsl.Python.Syntax: keywordPatternsKeywordPatterns :: TypedName KeywordPatterns
- Hydra.Dsl.Python.Syntax: keywords :: TypedTerm ParamNoDefault -> TypedTerm Keywords
- Hydra.Dsl.Python.Syntax: keywordsKeywords :: TypedName Keywords
- Hydra.Dsl.Python.Syntax: kvpair :: TypedTerm Expression -> TypedTerm Expression -> TypedTerm Kvpair
- Hydra.Dsl.Python.Syntax: kvpairKey :: TypedTerm Kvpair -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: kvpairKvpair :: TypedName Kvpair
- Hydra.Dsl.Python.Syntax: kvpairValue :: TypedTerm Kvpair -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: kvpairWithKey :: TypedTerm Kvpair -> TypedTerm Expression -> TypedTerm Kvpair
- Hydra.Dsl.Python.Syntax: kvpairWithValue :: TypedTerm Kvpair -> TypedTerm Expression -> TypedTerm Kvpair
- Hydra.Dsl.Python.Syntax: kwarg :: TypedTerm Name -> TypedTerm Expression -> TypedTerm Kwarg
- Hydra.Dsl.Python.Syntax: kwargKwarg :: TypedName Kwarg
- Hydra.Dsl.Python.Syntax: kwargName :: TypedTerm Kwarg -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: kwargOrDoubleStarredDoubleStarred :: TypedTerm Expression -> TypedTerm KwargOrDoubleStarred
- Hydra.Dsl.Python.Syntax: kwargOrDoubleStarredKwarg :: TypedTerm Kwarg -> TypedTerm KwargOrDoubleStarred
- Hydra.Dsl.Python.Syntax: kwargOrDoubleStarredKwargOrDoubleStarred :: TypedName KwargOrDoubleStarred
- Hydra.Dsl.Python.Syntax: kwargOrStarredKwarg :: TypedTerm Kwarg -> TypedTerm KwargOrStarred
- Hydra.Dsl.Python.Syntax: kwargOrStarredKwargOrStarred :: TypedName KwargOrStarred
- Hydra.Dsl.Python.Syntax: kwargOrStarredStarred :: TypedTerm StarredExpression -> TypedTerm KwargOrStarred
- Hydra.Dsl.Python.Syntax: kwargValue :: TypedTerm Kwarg -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: kwargWithName :: TypedTerm Kwarg -> TypedTerm Name -> TypedTerm Kwarg
- Hydra.Dsl.Python.Syntax: kwargWithValue :: TypedTerm Kwarg -> TypedTerm Expression -> TypedTerm Kwarg
- Hydra.Dsl.Python.Syntax: lambda :: TypedTerm LambdaParameters -> TypedTerm Expression -> TypedTerm Lambda
- Hydra.Dsl.Python.Syntax: lambdaBody :: TypedTerm Lambda -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: lambdaKwds :: TypedTerm LambdaParamNoDefault -> TypedTerm LambdaKwds
- Hydra.Dsl.Python.Syntax: lambdaKwdsLambdaKwds :: TypedName LambdaKwds
- Hydra.Dsl.Python.Syntax: lambdaLambda :: TypedName Lambda
- Hydra.Dsl.Python.Syntax: lambdaParamMaybeDefault :: TypedTerm Name -> TypedTerm (Maybe Default) -> TypedTerm LambdaParamMaybeDefault
- Hydra.Dsl.Python.Syntax: lambdaParamMaybeDefaultDefault :: TypedTerm LambdaParamMaybeDefault -> TypedTerm (Maybe Default)
- Hydra.Dsl.Python.Syntax: lambdaParamMaybeDefaultLambdaParamMaybeDefault :: TypedName LambdaParamMaybeDefault
- Hydra.Dsl.Python.Syntax: lambdaParamMaybeDefaultParam :: TypedTerm LambdaParamMaybeDefault -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: lambdaParamMaybeDefaultWithDefault :: TypedTerm LambdaParamMaybeDefault -> TypedTerm (Maybe Default) -> TypedTerm LambdaParamMaybeDefault
- Hydra.Dsl.Python.Syntax: lambdaParamMaybeDefaultWithParam :: TypedTerm LambdaParamMaybeDefault -> TypedTerm Name -> TypedTerm LambdaParamMaybeDefault
- Hydra.Dsl.Python.Syntax: lambdaParamNoDefault :: TypedTerm Name -> TypedTerm LambdaParamNoDefault
- Hydra.Dsl.Python.Syntax: lambdaParamNoDefaultLambdaParamNoDefault :: TypedName LambdaParamNoDefault
- Hydra.Dsl.Python.Syntax: lambdaParamWithDefault :: TypedTerm Name -> TypedTerm (Maybe Default) -> TypedTerm LambdaParamWithDefault
- Hydra.Dsl.Python.Syntax: lambdaParamWithDefaultDefault :: TypedTerm LambdaParamWithDefault -> TypedTerm (Maybe Default)
- Hydra.Dsl.Python.Syntax: lambdaParamWithDefaultLambdaParamWithDefault :: TypedName LambdaParamWithDefault
- Hydra.Dsl.Python.Syntax: lambdaParamWithDefaultParam :: TypedTerm LambdaParamWithDefault -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: lambdaParamWithDefaultWithDefault :: TypedTerm LambdaParamWithDefault -> TypedTerm (Maybe Default) -> TypedTerm LambdaParamWithDefault
- Hydra.Dsl.Python.Syntax: lambdaParamWithDefaultWithParam :: TypedTerm LambdaParamWithDefault -> TypedTerm Name -> TypedTerm LambdaParamWithDefault
- Hydra.Dsl.Python.Syntax: lambdaParameters :: TypedTerm (Maybe LambdaSlashNoDefault) -> TypedTerm [LambdaParamNoDefault] -> TypedTerm [LambdaParamWithDefault] -> TypedTerm (Maybe LambdaStarEtc) -> TypedTerm LambdaParameters
- Hydra.Dsl.Python.Syntax: lambdaParametersLambdaParameters :: TypedName LambdaParameters
- Hydra.Dsl.Python.Syntax: lambdaParametersParamNoDefault :: TypedTerm LambdaParameters -> TypedTerm [LambdaParamNoDefault]
- Hydra.Dsl.Python.Syntax: lambdaParametersParamWithDefault :: TypedTerm LambdaParameters -> TypedTerm [LambdaParamWithDefault]
- Hydra.Dsl.Python.Syntax: lambdaParametersSlashNoDefault :: TypedTerm LambdaParameters -> TypedTerm (Maybe LambdaSlashNoDefault)
- Hydra.Dsl.Python.Syntax: lambdaParametersStarEtc :: TypedTerm LambdaParameters -> TypedTerm (Maybe LambdaStarEtc)
- Hydra.Dsl.Python.Syntax: lambdaParametersWithParamNoDefault :: TypedTerm LambdaParameters -> TypedTerm [LambdaParamNoDefault] -> TypedTerm LambdaParameters
- Hydra.Dsl.Python.Syntax: lambdaParametersWithParamWithDefault :: TypedTerm LambdaParameters -> TypedTerm [LambdaParamWithDefault] -> TypedTerm LambdaParameters
- Hydra.Dsl.Python.Syntax: lambdaParametersWithSlashNoDefault :: TypedTerm LambdaParameters -> TypedTerm (Maybe LambdaSlashNoDefault) -> TypedTerm LambdaParameters
- Hydra.Dsl.Python.Syntax: lambdaParametersWithStarEtc :: TypedTerm LambdaParameters -> TypedTerm (Maybe LambdaStarEtc) -> TypedTerm LambdaParameters
- Hydra.Dsl.Python.Syntax: lambdaParams :: TypedTerm Lambda -> TypedTerm LambdaParameters
- Hydra.Dsl.Python.Syntax: lambdaSlashNoDefault :: TypedTerm [LambdaParamNoDefault] -> TypedTerm LambdaSlashNoDefault
- Hydra.Dsl.Python.Syntax: lambdaSlashNoDefaultLambdaSlashNoDefault :: TypedName LambdaSlashNoDefault
- Hydra.Dsl.Python.Syntax: lambdaSlashNoDefaultParameters :: TypedTerm LambdaSlashNoDefault -> TypedTerm [LambdaParamNoDefault]
- Hydra.Dsl.Python.Syntax: lambdaSlashNoDefaultWithParameters :: TypedTerm LambdaSlashNoDefault -> TypedTerm [LambdaParamNoDefault] -> TypedTerm LambdaSlashNoDefault
- Hydra.Dsl.Python.Syntax: lambdaSlashWithDefault :: TypedTerm [LambdaParamNoDefault] -> TypedTerm [LambdaParamWithDefault] -> TypedTerm LambdaSlashWithDefault
- Hydra.Dsl.Python.Syntax: lambdaSlashWithDefaultLambdaSlashWithDefault :: TypedName LambdaSlashWithDefault
- Hydra.Dsl.Python.Syntax: lambdaSlashWithDefaultParamNoDefault :: TypedTerm LambdaSlashWithDefault -> TypedTerm [LambdaParamNoDefault]
- Hydra.Dsl.Python.Syntax: lambdaSlashWithDefaultParamWithDefault :: TypedTerm LambdaSlashWithDefault -> TypedTerm [LambdaParamWithDefault]
- Hydra.Dsl.Python.Syntax: lambdaSlashWithDefaultWithParamNoDefault :: TypedTerm LambdaSlashWithDefault -> TypedTerm [LambdaParamNoDefault] -> TypedTerm LambdaSlashWithDefault
- Hydra.Dsl.Python.Syntax: lambdaSlashWithDefaultWithParamWithDefault :: TypedTerm LambdaSlashWithDefault -> TypedTerm [LambdaParamWithDefault] -> TypedTerm LambdaSlashWithDefault
- Hydra.Dsl.Python.Syntax: lambdaStarEtcKwds :: TypedTerm LambdaKwds -> TypedTerm LambdaStarEtc
- Hydra.Dsl.Python.Syntax: lambdaStarEtcLambdaStarEtc :: TypedName LambdaStarEtc
- Hydra.Dsl.Python.Syntax: lambdaStarEtcParamMaybeDefault :: TypedTerm [LambdaParamMaybeDefault] -> TypedTerm LambdaStarEtc
- Hydra.Dsl.Python.Syntax: lambdaStarEtcParamNoDefault :: TypedTerm LambdaParamNoDefault -> TypedTerm LambdaStarEtc
- Hydra.Dsl.Python.Syntax: lambdaStarEtcStar :: TypedTerm Bool -> TypedTerm LambdaStarEtc
- Hydra.Dsl.Python.Syntax: lambdaWithBody :: TypedTerm Lambda -> TypedTerm Expression -> TypedTerm Lambda
- Hydra.Dsl.Python.Syntax: lambdaWithParams :: TypedTerm Lambda -> TypedTerm LambdaParameters -> TypedTerm Lambda
- Hydra.Dsl.Python.Syntax: list :: TypedTerm [StarNamedExpression] -> TypedTerm List
- Hydra.Dsl.Python.Syntax: listList :: TypedName List
- Hydra.Dsl.Python.Syntax: listcomp :: TypedTerm NamedExpression -> TypedTerm ForIfClauses -> TypedTerm Listcomp
- Hydra.Dsl.Python.Syntax: listcompExpression :: TypedTerm Listcomp -> TypedTerm NamedExpression
- Hydra.Dsl.Python.Syntax: listcompForIfClauses :: TypedTerm Listcomp -> TypedTerm ForIfClauses
- Hydra.Dsl.Python.Syntax: listcompListcomp :: TypedName Listcomp
- Hydra.Dsl.Python.Syntax: listcompWithExpression :: TypedTerm Listcomp -> TypedTerm NamedExpression -> TypedTerm Listcomp
- Hydra.Dsl.Python.Syntax: listcompWithForIfClauses :: TypedTerm Listcomp -> TypedTerm ForIfClauses -> TypedTerm Listcomp
- Hydra.Dsl.Python.Syntax: literalExpressionComplex :: TypedTerm ComplexNumber -> TypedTerm LiteralExpression
- Hydra.Dsl.Python.Syntax: literalExpressionFalse :: TypedTerm LiteralExpression
- Hydra.Dsl.Python.Syntax: literalExpressionLiteralExpression :: TypedName LiteralExpression
- Hydra.Dsl.Python.Syntax: literalExpressionNone :: TypedTerm LiteralExpression
- Hydra.Dsl.Python.Syntax: literalExpressionNumber :: TypedTerm SignedNumber -> TypedTerm LiteralExpression
- Hydra.Dsl.Python.Syntax: literalExpressionOrAttributeAttribute :: TypedTerm Attribute -> TypedTerm LiteralExpressionOrAttribute
- Hydra.Dsl.Python.Syntax: literalExpressionOrAttributeLiteral :: TypedTerm LiteralExpression -> TypedTerm LiteralExpressionOrAttribute
- Hydra.Dsl.Python.Syntax: literalExpressionOrAttributeLiteralExpressionOrAttribute :: TypedName LiteralExpressionOrAttribute
- Hydra.Dsl.Python.Syntax: literalExpressionString :: TypedTerm String_ -> TypedTerm LiteralExpression
- Hydra.Dsl.Python.Syntax: literalExpressionTrue :: TypedTerm LiteralExpression
- Hydra.Dsl.Python.Syntax: mappingPattern :: TypedTerm (Maybe ItemsPattern) -> TypedTerm (Maybe DoubleStarPattern) -> TypedTerm MappingPattern
- Hydra.Dsl.Python.Syntax: mappingPatternDoubleStar :: TypedTerm MappingPattern -> TypedTerm (Maybe DoubleStarPattern)
- Hydra.Dsl.Python.Syntax: mappingPatternItems :: TypedTerm MappingPattern -> TypedTerm (Maybe ItemsPattern)
- Hydra.Dsl.Python.Syntax: mappingPatternMappingPattern :: TypedName MappingPattern
- Hydra.Dsl.Python.Syntax: mappingPatternWithDoubleStar :: TypedTerm MappingPattern -> TypedTerm (Maybe DoubleStarPattern) -> TypedTerm MappingPattern
- Hydra.Dsl.Python.Syntax: mappingPatternWithItems :: TypedTerm MappingPattern -> TypedTerm (Maybe ItemsPattern) -> TypedTerm MappingPattern
- Hydra.Dsl.Python.Syntax: matchStatement :: TypedTerm SubjectExpression -> TypedTerm [CaseBlock] -> TypedTerm MatchStatement
- Hydra.Dsl.Python.Syntax: matchStatementCases :: TypedTerm MatchStatement -> TypedTerm [CaseBlock]
- Hydra.Dsl.Python.Syntax: matchStatementMatchStatement :: TypedName MatchStatement
- Hydra.Dsl.Python.Syntax: matchStatementSubject :: TypedTerm MatchStatement -> TypedTerm SubjectExpression
- Hydra.Dsl.Python.Syntax: matchStatementWithCases :: TypedTerm MatchStatement -> TypedTerm [CaseBlock] -> TypedTerm MatchStatement
- Hydra.Dsl.Python.Syntax: matchStatementWithSubject :: TypedTerm MatchStatement -> TypedTerm SubjectExpression -> TypedTerm MatchStatement
- Hydra.Dsl.Python.Syntax: maybeSequencePattern :: TypedTerm [MaybeStarPattern] -> TypedTerm MaybeSequencePattern
- Hydra.Dsl.Python.Syntax: maybeSequencePatternMaybeSequencePattern :: TypedName MaybeSequencePattern
- Hydra.Dsl.Python.Syntax: maybeStarPatternMaybeStarPattern :: TypedName MaybeStarPattern
- Hydra.Dsl.Python.Syntax: maybeStarPatternPattern :: TypedTerm Pattern -> TypedTerm MaybeStarPattern
- Hydra.Dsl.Python.Syntax: maybeStarPatternStar :: TypedTerm StarPattern -> TypedTerm MaybeStarPattern
- Hydra.Dsl.Python.Syntax: moduleModule :: TypedName Module
- Hydra.Dsl.Python.Syntax: module_ :: TypedTerm [[Statement]] -> TypedTerm Module
- Hydra.Dsl.Python.Syntax: name :: TypedTerm String -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: nameName :: TypedName Name
- Hydra.Dsl.Python.Syntax: nameOrAttribute :: TypedTerm [Name] -> TypedTerm NameOrAttribute
- Hydra.Dsl.Python.Syntax: nameOrAttributeNameOrAttribute :: TypedName NameOrAttribute
- Hydra.Dsl.Python.Syntax: namedExpressionAssignment :: TypedTerm AssignmentExpression -> TypedTerm NamedExpression
- Hydra.Dsl.Python.Syntax: namedExpressionNamedExpression :: TypedName NamedExpression
- Hydra.Dsl.Python.Syntax: namedExpressionSimple :: TypedTerm Expression -> TypedTerm NamedExpression
- Hydra.Dsl.Python.Syntax: noDefaultStarAnnotationStarEtc :: TypedTerm ParamNoDefaultStarAnnotation -> TypedTerm [ParamMaybeDefault] -> TypedTerm (Maybe Keywords) -> TypedTerm NoDefaultStarAnnotationStarEtc
- Hydra.Dsl.Python.Syntax: noDefaultStarAnnotationStarEtcKeywords :: TypedTerm NoDefaultStarAnnotationStarEtc -> TypedTerm (Maybe Keywords)
- Hydra.Dsl.Python.Syntax: noDefaultStarAnnotationStarEtcNoDefaultStarAnnotationStarEtc :: TypedName NoDefaultStarAnnotationStarEtc
- Hydra.Dsl.Python.Syntax: noDefaultStarAnnotationStarEtcParamMaybeDefault :: TypedTerm NoDefaultStarAnnotationStarEtc -> TypedTerm [ParamMaybeDefault]
- Hydra.Dsl.Python.Syntax: noDefaultStarAnnotationStarEtcParamNoDefaultStarAnnotation :: TypedTerm NoDefaultStarAnnotationStarEtc -> TypedTerm ParamNoDefaultStarAnnotation
- Hydra.Dsl.Python.Syntax: noDefaultStarAnnotationStarEtcWithKeywords :: TypedTerm NoDefaultStarAnnotationStarEtc -> TypedTerm (Maybe Keywords) -> TypedTerm NoDefaultStarAnnotationStarEtc
- Hydra.Dsl.Python.Syntax: noDefaultStarAnnotationStarEtcWithParamMaybeDefault :: TypedTerm NoDefaultStarAnnotationStarEtc -> TypedTerm [ParamMaybeDefault] -> TypedTerm NoDefaultStarAnnotationStarEtc
- Hydra.Dsl.Python.Syntax: noDefaultStarAnnotationStarEtcWithParamNoDefaultStarAnnotation :: TypedTerm NoDefaultStarAnnotationStarEtc -> TypedTerm ParamNoDefaultStarAnnotation -> TypedTerm NoDefaultStarAnnotationStarEtc
- Hydra.Dsl.Python.Syntax: noDefaultStarEtc :: TypedTerm ParamNoDefault -> TypedTerm [ParamMaybeDefault] -> TypedTerm (Maybe Keywords) -> TypedTerm NoDefaultStarEtc
- Hydra.Dsl.Python.Syntax: noDefaultStarEtcKeywords :: TypedTerm NoDefaultStarEtc -> TypedTerm (Maybe Keywords)
- Hydra.Dsl.Python.Syntax: noDefaultStarEtcNoDefaultStarEtc :: TypedName NoDefaultStarEtc
- Hydra.Dsl.Python.Syntax: noDefaultStarEtcParamMaybeDefault :: TypedTerm NoDefaultStarEtc -> TypedTerm [ParamMaybeDefault]
- Hydra.Dsl.Python.Syntax: noDefaultStarEtcParamNoDefault :: TypedTerm NoDefaultStarEtc -> TypedTerm ParamNoDefault
- Hydra.Dsl.Python.Syntax: noDefaultStarEtcWithKeywords :: TypedTerm NoDefaultStarEtc -> TypedTerm (Maybe Keywords) -> TypedTerm NoDefaultStarEtc
- Hydra.Dsl.Python.Syntax: noDefaultStarEtcWithParamMaybeDefault :: TypedTerm NoDefaultStarEtc -> TypedTerm [ParamMaybeDefault] -> TypedTerm NoDefaultStarEtc
- Hydra.Dsl.Python.Syntax: noDefaultStarEtcWithParamNoDefault :: TypedTerm NoDefaultStarEtc -> TypedTerm ParamNoDefault -> TypedTerm NoDefaultStarEtc
- Hydra.Dsl.Python.Syntax: numberFloat :: TypedTerm Double -> TypedTerm Number
- Hydra.Dsl.Python.Syntax: numberImaginary :: TypedTerm Double -> TypedTerm Number
- Hydra.Dsl.Python.Syntax: numberInteger :: TypedTerm Integer -> TypedTerm Number
- Hydra.Dsl.Python.Syntax: numberNumber :: TypedName Number
- Hydra.Dsl.Python.Syntax: openSequencePattern :: TypedTerm MaybeStarPattern -> TypedTerm (Maybe MaybeSequencePattern) -> TypedTerm OpenSequencePattern
- Hydra.Dsl.Python.Syntax: openSequencePatternHead :: TypedTerm OpenSequencePattern -> TypedTerm MaybeStarPattern
- Hydra.Dsl.Python.Syntax: openSequencePatternOpenSequencePattern :: TypedName OpenSequencePattern
- Hydra.Dsl.Python.Syntax: openSequencePatternTail :: TypedTerm OpenSequencePattern -> TypedTerm (Maybe MaybeSequencePattern)
- Hydra.Dsl.Python.Syntax: openSequencePatternWithHead :: TypedTerm OpenSequencePattern -> TypedTerm MaybeStarPattern -> TypedTerm OpenSequencePattern
- Hydra.Dsl.Python.Syntax: openSequencePatternWithTail :: TypedTerm OpenSequencePattern -> TypedTerm (Maybe MaybeSequencePattern) -> TypedTerm OpenSequencePattern
- Hydra.Dsl.Python.Syntax: orPattern :: TypedTerm [ClosedPattern] -> TypedTerm OrPattern
- Hydra.Dsl.Python.Syntax: orPatternOrPattern :: TypedName OrPattern
- Hydra.Dsl.Python.Syntax: param :: TypedTerm Name -> TypedTerm (Maybe Annotation) -> TypedTerm Param
- Hydra.Dsl.Python.Syntax: paramAnnotation :: TypedTerm Param -> TypedTerm (Maybe Annotation)
- Hydra.Dsl.Python.Syntax: paramMaybeDefault :: TypedTerm Param -> TypedTerm (Maybe Default) -> TypedTerm (Maybe TypeComment) -> TypedTerm ParamMaybeDefault
- Hydra.Dsl.Python.Syntax: paramMaybeDefaultDefault :: TypedTerm ParamMaybeDefault -> TypedTerm (Maybe Default)
- Hydra.Dsl.Python.Syntax: paramMaybeDefaultParam :: TypedTerm ParamMaybeDefault -> TypedTerm Param
- Hydra.Dsl.Python.Syntax: paramMaybeDefaultParamMaybeDefault :: TypedName ParamMaybeDefault
- Hydra.Dsl.Python.Syntax: paramMaybeDefaultTypeComment :: TypedTerm ParamMaybeDefault -> TypedTerm (Maybe TypeComment)
- Hydra.Dsl.Python.Syntax: paramMaybeDefaultWithDefault :: TypedTerm ParamMaybeDefault -> TypedTerm (Maybe Default) -> TypedTerm ParamMaybeDefault
- Hydra.Dsl.Python.Syntax: paramMaybeDefaultWithParam :: TypedTerm ParamMaybeDefault -> TypedTerm Param -> TypedTerm ParamMaybeDefault
- Hydra.Dsl.Python.Syntax: paramMaybeDefaultWithTypeComment :: TypedTerm ParamMaybeDefault -> TypedTerm (Maybe TypeComment) -> TypedTerm ParamMaybeDefault
- Hydra.Dsl.Python.Syntax: paramName :: TypedTerm Param -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: paramNoDefault :: TypedTerm Param -> TypedTerm (Maybe TypeComment) -> TypedTerm ParamNoDefault
- Hydra.Dsl.Python.Syntax: paramNoDefaultParam :: TypedTerm ParamNoDefault -> TypedTerm Param
- Hydra.Dsl.Python.Syntax: paramNoDefaultParamNoDefault :: TypedName ParamNoDefault
- Hydra.Dsl.Python.Syntax: paramNoDefaultParameters :: TypedTerm [ParamNoDefault] -> TypedTerm [ParamWithDefault] -> TypedTerm (Maybe StarEtc) -> TypedTerm ParamNoDefaultParameters
- Hydra.Dsl.Python.Syntax: paramNoDefaultParametersParamNoDefault :: TypedTerm ParamNoDefaultParameters -> TypedTerm [ParamNoDefault]
- Hydra.Dsl.Python.Syntax: paramNoDefaultParametersParamNoDefaultParameters :: TypedName ParamNoDefaultParameters
- Hydra.Dsl.Python.Syntax: paramNoDefaultParametersParamWithDefault :: TypedTerm ParamNoDefaultParameters -> TypedTerm [ParamWithDefault]
- Hydra.Dsl.Python.Syntax: paramNoDefaultParametersStarEtc :: TypedTerm ParamNoDefaultParameters -> TypedTerm (Maybe StarEtc)
- Hydra.Dsl.Python.Syntax: paramNoDefaultParametersWithParamNoDefault :: TypedTerm ParamNoDefaultParameters -> TypedTerm [ParamNoDefault] -> TypedTerm ParamNoDefaultParameters
- Hydra.Dsl.Python.Syntax: paramNoDefaultParametersWithParamWithDefault :: TypedTerm ParamNoDefaultParameters -> TypedTerm [ParamWithDefault] -> TypedTerm ParamNoDefaultParameters
- Hydra.Dsl.Python.Syntax: paramNoDefaultParametersWithStarEtc :: TypedTerm ParamNoDefaultParameters -> TypedTerm (Maybe StarEtc) -> TypedTerm ParamNoDefaultParameters
- Hydra.Dsl.Python.Syntax: paramNoDefaultStarAnnotation :: TypedTerm ParamStarAnnotation -> TypedTerm (Maybe TypeComment) -> TypedTerm ParamNoDefaultStarAnnotation
- Hydra.Dsl.Python.Syntax: paramNoDefaultStarAnnotationParamNoDefaultStarAnnotation :: TypedName ParamNoDefaultStarAnnotation
- Hydra.Dsl.Python.Syntax: paramNoDefaultStarAnnotationParamStarAnnotation :: TypedTerm ParamNoDefaultStarAnnotation -> TypedTerm ParamStarAnnotation
- Hydra.Dsl.Python.Syntax: paramNoDefaultStarAnnotationTypeComment :: TypedTerm ParamNoDefaultStarAnnotation -> TypedTerm (Maybe TypeComment)
- Hydra.Dsl.Python.Syntax: paramNoDefaultStarAnnotationWithParamStarAnnotation :: TypedTerm ParamNoDefaultStarAnnotation -> TypedTerm ParamStarAnnotation -> TypedTerm ParamNoDefaultStarAnnotation
- Hydra.Dsl.Python.Syntax: paramNoDefaultStarAnnotationWithTypeComment :: TypedTerm ParamNoDefaultStarAnnotation -> TypedTerm (Maybe TypeComment) -> TypedTerm ParamNoDefaultStarAnnotation
- Hydra.Dsl.Python.Syntax: paramNoDefaultTypeComment :: TypedTerm ParamNoDefault -> TypedTerm (Maybe TypeComment)
- Hydra.Dsl.Python.Syntax: paramNoDefaultWithParam :: TypedTerm ParamNoDefault -> TypedTerm Param -> TypedTerm ParamNoDefault
- Hydra.Dsl.Python.Syntax: paramNoDefaultWithTypeComment :: TypedTerm ParamNoDefault -> TypedTerm (Maybe TypeComment) -> TypedTerm ParamNoDefault
- Hydra.Dsl.Python.Syntax: paramParam :: TypedName Param
- Hydra.Dsl.Python.Syntax: paramStarAnnotation :: TypedTerm Name -> TypedTerm StarAnnotation -> TypedTerm ParamStarAnnotation
- Hydra.Dsl.Python.Syntax: paramStarAnnotationAnnotation :: TypedTerm ParamStarAnnotation -> TypedTerm StarAnnotation
- Hydra.Dsl.Python.Syntax: paramStarAnnotationName :: TypedTerm ParamStarAnnotation -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: paramStarAnnotationParamStarAnnotation :: TypedName ParamStarAnnotation
- Hydra.Dsl.Python.Syntax: paramStarAnnotationWithAnnotation :: TypedTerm ParamStarAnnotation -> TypedTerm StarAnnotation -> TypedTerm ParamStarAnnotation
- Hydra.Dsl.Python.Syntax: paramStarAnnotationWithName :: TypedTerm ParamStarAnnotation -> TypedTerm Name -> TypedTerm ParamStarAnnotation
- Hydra.Dsl.Python.Syntax: paramWithAnnotation :: TypedTerm Param -> TypedTerm (Maybe Annotation) -> TypedTerm Param
- Hydra.Dsl.Python.Syntax: paramWithDefault :: TypedTerm Param -> TypedTerm Default -> TypedTerm (Maybe TypeComment) -> TypedTerm ParamWithDefault
- Hydra.Dsl.Python.Syntax: paramWithDefaultDefault :: TypedTerm ParamWithDefault -> TypedTerm Default
- Hydra.Dsl.Python.Syntax: paramWithDefaultParam :: TypedTerm ParamWithDefault -> TypedTerm Param
- Hydra.Dsl.Python.Syntax: paramWithDefaultParamWithDefault :: TypedName ParamWithDefault
- Hydra.Dsl.Python.Syntax: paramWithDefaultParameters :: TypedTerm [ParamWithDefault] -> TypedTerm (Maybe StarEtc) -> TypedTerm ParamWithDefaultParameters
- Hydra.Dsl.Python.Syntax: paramWithDefaultParametersParamWithDefault :: TypedTerm ParamWithDefaultParameters -> TypedTerm [ParamWithDefault]
- Hydra.Dsl.Python.Syntax: paramWithDefaultParametersParamWithDefaultParameters :: TypedName ParamWithDefaultParameters
- Hydra.Dsl.Python.Syntax: paramWithDefaultParametersStarEtc :: TypedTerm ParamWithDefaultParameters -> TypedTerm (Maybe StarEtc)
- Hydra.Dsl.Python.Syntax: paramWithDefaultParametersWithParamWithDefault :: TypedTerm ParamWithDefaultParameters -> TypedTerm [ParamWithDefault] -> TypedTerm ParamWithDefaultParameters
- Hydra.Dsl.Python.Syntax: paramWithDefaultParametersWithStarEtc :: TypedTerm ParamWithDefaultParameters -> TypedTerm (Maybe StarEtc) -> TypedTerm ParamWithDefaultParameters
- Hydra.Dsl.Python.Syntax: paramWithDefaultTypeComment :: TypedTerm ParamWithDefault -> TypedTerm (Maybe TypeComment)
- Hydra.Dsl.Python.Syntax: paramWithDefaultWithDefault :: TypedTerm ParamWithDefault -> TypedTerm Default -> TypedTerm ParamWithDefault
- Hydra.Dsl.Python.Syntax: paramWithDefaultWithParam :: TypedTerm ParamWithDefault -> TypedTerm Param -> TypedTerm ParamWithDefault
- Hydra.Dsl.Python.Syntax: paramWithDefaultWithTypeComment :: TypedTerm ParamWithDefault -> TypedTerm (Maybe TypeComment) -> TypedTerm ParamWithDefault
- Hydra.Dsl.Python.Syntax: paramWithName :: TypedTerm Param -> TypedTerm Name -> TypedTerm Param
- Hydra.Dsl.Python.Syntax: parametersParamNoDefault :: TypedTerm ParamNoDefaultParameters -> TypedTerm Parameters
- Hydra.Dsl.Python.Syntax: parametersParamWithDefault :: TypedTerm ParamWithDefaultParameters -> TypedTerm Parameters
- Hydra.Dsl.Python.Syntax: parametersParameters :: TypedName Parameters
- Hydra.Dsl.Python.Syntax: parametersSlashNoDefault :: TypedTerm SlashNoDefaultParameters -> TypedTerm Parameters
- Hydra.Dsl.Python.Syntax: parametersSlashWithDefault :: TypedTerm SlashWithDefaultParameters -> TypedTerm Parameters
- Hydra.Dsl.Python.Syntax: parametersStarEtc :: TypedTerm StarEtc -> TypedTerm Parameters
- Hydra.Dsl.Python.Syntax: patternAs :: TypedTerm AsPattern -> TypedTerm Pattern
- Hydra.Dsl.Python.Syntax: patternCaptureTarget :: TypedTerm Name -> TypedTerm PatternCaptureTarget
- Hydra.Dsl.Python.Syntax: patternCaptureTargetPatternCaptureTarget :: TypedName PatternCaptureTarget
- Hydra.Dsl.Python.Syntax: patternOr :: TypedTerm OrPattern -> TypedTerm Pattern
- Hydra.Dsl.Python.Syntax: patternPattern :: TypedName Pattern
- Hydra.Dsl.Python.Syntax: patternsPattern :: TypedTerm Pattern -> TypedTerm Patterns
- Hydra.Dsl.Python.Syntax: patternsPatterns :: TypedName Patterns
- Hydra.Dsl.Python.Syntax: patternsSequence :: TypedTerm OpenSequencePattern -> TypedTerm Patterns
- Hydra.Dsl.Python.Syntax: plusOrMinusMinus :: TypedTerm PlusOrMinus
- Hydra.Dsl.Python.Syntax: plusOrMinusPlus :: TypedTerm PlusOrMinus
- Hydra.Dsl.Python.Syntax: plusOrMinusPlusOrMinus :: TypedName PlusOrMinus
- Hydra.Dsl.Python.Syntax: posArgAssignment :: TypedTerm AssignmentExpression -> TypedTerm PosArg
- Hydra.Dsl.Python.Syntax: posArgExpression :: TypedTerm Expression -> TypedTerm PosArg
- Hydra.Dsl.Python.Syntax: posArgPosArg :: TypedName PosArg
- Hydra.Dsl.Python.Syntax: posArgStarred :: TypedTerm StarredExpression -> TypedTerm PosArg
- Hydra.Dsl.Python.Syntax: positionalPatterns :: TypedTerm [Pattern] -> TypedTerm PositionalPatterns
- Hydra.Dsl.Python.Syntax: positionalPatternsPositionalPatterns :: TypedName PositionalPatterns
- Hydra.Dsl.Python.Syntax: power :: TypedTerm AwaitPrimary -> TypedTerm (Maybe Factor) -> TypedTerm Power
- Hydra.Dsl.Python.Syntax: powerLhs :: TypedTerm Power -> TypedTerm AwaitPrimary
- Hydra.Dsl.Python.Syntax: powerPower :: TypedName Power
- Hydra.Dsl.Python.Syntax: powerRhs :: TypedTerm Power -> TypedTerm (Maybe Factor)
- Hydra.Dsl.Python.Syntax: powerWithLhs :: TypedTerm Power -> TypedTerm AwaitPrimary -> TypedTerm Power
- Hydra.Dsl.Python.Syntax: powerWithRhs :: TypedTerm Power -> TypedTerm (Maybe Factor) -> TypedTerm Power
- Hydra.Dsl.Python.Syntax: primaryCompound :: TypedTerm PrimaryWithRhs -> TypedTerm Primary
- Hydra.Dsl.Python.Syntax: primaryPrimary :: TypedName Primary
- Hydra.Dsl.Python.Syntax: primaryRhsCall :: TypedTerm Args -> TypedTerm PrimaryRhs
- Hydra.Dsl.Python.Syntax: primaryRhsGenexp :: TypedTerm Genexp -> TypedTerm PrimaryRhs
- Hydra.Dsl.Python.Syntax: primaryRhsPrimaryRhs :: TypedName PrimaryRhs
- Hydra.Dsl.Python.Syntax: primaryRhsProject :: TypedTerm Name -> TypedTerm PrimaryRhs
- Hydra.Dsl.Python.Syntax: primaryRhsSlices :: TypedTerm Slices -> TypedTerm PrimaryRhs
- Hydra.Dsl.Python.Syntax: primarySimple :: TypedTerm Atom -> TypedTerm Primary
- Hydra.Dsl.Python.Syntax: primaryWithRhs :: TypedTerm Primary -> TypedTerm PrimaryRhs -> TypedTerm PrimaryWithRhs
- Hydra.Dsl.Python.Syntax: primaryWithRhsPrimary :: TypedTerm PrimaryWithRhs -> TypedTerm Primary
- Hydra.Dsl.Python.Syntax: primaryWithRhsPrimaryWithRhs :: TypedName PrimaryWithRhs
- Hydra.Dsl.Python.Syntax: primaryWithRhsRhs :: TypedTerm PrimaryWithRhs -> TypedTerm PrimaryRhs
- Hydra.Dsl.Python.Syntax: primaryWithRhsWithPrimary :: TypedTerm PrimaryWithRhs -> TypedTerm Primary -> TypedTerm PrimaryWithRhs
- Hydra.Dsl.Python.Syntax: primaryWithRhsWithRhs :: TypedTerm PrimaryWithRhs -> TypedTerm PrimaryRhs -> TypedTerm PrimaryWithRhs
- Hydra.Dsl.Python.Syntax: quoteStyleDouble :: TypedTerm QuoteStyle
- Hydra.Dsl.Python.Syntax: quoteStyleQuoteStyle :: TypedName QuoteStyle
- Hydra.Dsl.Python.Syntax: quoteStyleSingle :: TypedTerm QuoteStyle
- Hydra.Dsl.Python.Syntax: quoteStyleTripleDouble :: TypedTerm QuoteStyle
- Hydra.Dsl.Python.Syntax: quoteStyleTripleSingle :: TypedTerm QuoteStyle
- Hydra.Dsl.Python.Syntax: raiseExpression :: TypedTerm Expression -> TypedTerm (Maybe Expression) -> TypedTerm RaiseExpression
- Hydra.Dsl.Python.Syntax: raiseExpressionExpression :: TypedTerm RaiseExpression -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: raiseExpressionFrom :: TypedTerm RaiseExpression -> TypedTerm (Maybe Expression)
- Hydra.Dsl.Python.Syntax: raiseExpressionRaiseExpression :: TypedName RaiseExpression
- Hydra.Dsl.Python.Syntax: raiseExpressionWithExpression :: TypedTerm RaiseExpression -> TypedTerm Expression -> TypedTerm RaiseExpression
- Hydra.Dsl.Python.Syntax: raiseExpressionWithFrom :: TypedTerm RaiseExpression -> TypedTerm (Maybe Expression) -> TypedTerm RaiseExpression
- Hydra.Dsl.Python.Syntax: raiseStatement :: TypedTerm (Maybe RaiseExpression) -> TypedTerm RaiseStatement
- Hydra.Dsl.Python.Syntax: raiseStatementRaiseStatement :: TypedName RaiseStatement
- Hydra.Dsl.Python.Syntax: realNumberFloat :: TypedTerm Double -> TypedTerm RealNumber
- Hydra.Dsl.Python.Syntax: realNumberInteger :: TypedTerm Integer -> TypedTerm RealNumber
- Hydra.Dsl.Python.Syntax: realNumberRealNumber :: TypedName RealNumber
- Hydra.Dsl.Python.Syntax: relativeImportPrefixDot :: TypedTerm RelativeImportPrefix
- Hydra.Dsl.Python.Syntax: relativeImportPrefixEllipsis :: TypedTerm RelativeImportPrefix
- Hydra.Dsl.Python.Syntax: relativeImportPrefixRelativeImportPrefix :: TypedName RelativeImportPrefix
- Hydra.Dsl.Python.Syntax: returnStatement :: TypedTerm [StarExpression] -> TypedTerm ReturnStatement
- Hydra.Dsl.Python.Syntax: returnStatementReturnStatement :: TypedName ReturnStatement
- Hydra.Dsl.Python.Syntax: sequencePatternList :: TypedTerm (Maybe MaybeSequencePattern) -> TypedTerm SequencePattern
- Hydra.Dsl.Python.Syntax: sequencePatternSequencePattern :: TypedName SequencePattern
- Hydra.Dsl.Python.Syntax: sequencePatternTuple :: TypedTerm (Maybe OpenSequencePattern) -> TypedTerm SequencePattern
- Hydra.Dsl.Python.Syntax: set :: TypedTerm [StarNamedExpression] -> TypedTerm Set
- Hydra.Dsl.Python.Syntax: setSet :: TypedName Set
- Hydra.Dsl.Python.Syntax: setcomp :: TypedTerm NamedExpression -> TypedTerm ForIfClauses -> TypedTerm Setcomp
- Hydra.Dsl.Python.Syntax: setcompExpression :: TypedTerm Setcomp -> TypedTerm NamedExpression
- Hydra.Dsl.Python.Syntax: setcompForIfClauses :: TypedTerm Setcomp -> TypedTerm ForIfClauses
- Hydra.Dsl.Python.Syntax: setcompSetcomp :: TypedName Setcomp
- Hydra.Dsl.Python.Syntax: setcompWithExpression :: TypedTerm Setcomp -> TypedTerm NamedExpression -> TypedTerm Setcomp
- Hydra.Dsl.Python.Syntax: setcompWithForIfClauses :: TypedTerm Setcomp -> TypedTerm ForIfClauses -> TypedTerm Setcomp
- Hydra.Dsl.Python.Syntax: shiftExpression :: TypedTerm (Maybe ShiftLhs) -> TypedTerm Sum -> TypedTerm ShiftExpression
- Hydra.Dsl.Python.Syntax: shiftExpressionLhs :: TypedTerm ShiftExpression -> TypedTerm (Maybe ShiftLhs)
- Hydra.Dsl.Python.Syntax: shiftExpressionRhs :: TypedTerm ShiftExpression -> TypedTerm Sum
- Hydra.Dsl.Python.Syntax: shiftExpressionShiftExpression :: TypedName ShiftExpression
- Hydra.Dsl.Python.Syntax: shiftExpressionWithLhs :: TypedTerm ShiftExpression -> TypedTerm (Maybe ShiftLhs) -> TypedTerm ShiftExpression
- Hydra.Dsl.Python.Syntax: shiftExpressionWithRhs :: TypedTerm ShiftExpression -> TypedTerm Sum -> TypedTerm ShiftExpression
- Hydra.Dsl.Python.Syntax: shiftLhs :: TypedTerm ShiftExpression -> TypedTerm ShiftOp -> TypedTerm ShiftLhs
- Hydra.Dsl.Python.Syntax: shiftLhsOperand :: TypedTerm ShiftLhs -> TypedTerm ShiftExpression
- Hydra.Dsl.Python.Syntax: shiftLhsOperator :: TypedTerm ShiftLhs -> TypedTerm ShiftOp
- Hydra.Dsl.Python.Syntax: shiftLhsShiftLhs :: TypedName ShiftLhs
- Hydra.Dsl.Python.Syntax: shiftLhsWithOperand :: TypedTerm ShiftLhs -> TypedTerm ShiftExpression -> TypedTerm ShiftLhs
- Hydra.Dsl.Python.Syntax: shiftLhsWithOperator :: TypedTerm ShiftLhs -> TypedTerm ShiftOp -> TypedTerm ShiftLhs
- Hydra.Dsl.Python.Syntax: shiftOpLeft :: TypedTerm ShiftOp
- Hydra.Dsl.Python.Syntax: shiftOpRight :: TypedTerm ShiftOp
- Hydra.Dsl.Python.Syntax: shiftOpShiftOp :: TypedName ShiftOp
- Hydra.Dsl.Python.Syntax: signedNumberNumber :: TypedTerm Number -> TypedTerm SignedNumber
- Hydra.Dsl.Python.Syntax: signedNumberSign :: TypedTerm PlusOrMinus -> TypedTerm SignedNumber
- Hydra.Dsl.Python.Syntax: signedNumberSignedNumber :: TypedName SignedNumber
- Hydra.Dsl.Python.Syntax: signedRealNumberNumber :: TypedTerm RealNumber -> TypedTerm SignedRealNumber
- Hydra.Dsl.Python.Syntax: signedRealNumberSign :: TypedTerm PlusOrMinus -> TypedTerm SignedRealNumber
- Hydra.Dsl.Python.Syntax: signedRealNumberSignedRealNumber :: TypedName SignedRealNumber
- Hydra.Dsl.Python.Syntax: simpleStatementAssert :: TypedTerm AssertStatement -> TypedTerm SimpleStatement
- Hydra.Dsl.Python.Syntax: simpleStatementAssignment :: TypedTerm Assignment -> TypedTerm SimpleStatement
- Hydra.Dsl.Python.Syntax: simpleStatementBreak :: TypedTerm SimpleStatement
- Hydra.Dsl.Python.Syntax: simpleStatementContinue :: TypedTerm SimpleStatement
- Hydra.Dsl.Python.Syntax: simpleStatementDel :: TypedTerm DelStatement -> TypedTerm SimpleStatement
- Hydra.Dsl.Python.Syntax: simpleStatementGlobal :: TypedTerm [Name] -> TypedTerm SimpleStatement
- Hydra.Dsl.Python.Syntax: simpleStatementImport :: TypedTerm ImportStatement -> TypedTerm SimpleStatement
- Hydra.Dsl.Python.Syntax: simpleStatementNonlocal :: TypedTerm [Name] -> TypedTerm SimpleStatement
- Hydra.Dsl.Python.Syntax: simpleStatementPass :: TypedTerm SimpleStatement
- Hydra.Dsl.Python.Syntax: simpleStatementRaise :: TypedTerm RaiseStatement -> TypedTerm SimpleStatement
- Hydra.Dsl.Python.Syntax: simpleStatementReturn :: TypedTerm ReturnStatement -> TypedTerm SimpleStatement
- Hydra.Dsl.Python.Syntax: simpleStatementSimpleStatement :: TypedName SimpleStatement
- Hydra.Dsl.Python.Syntax: simpleStatementStarExpressions :: TypedTerm [StarExpression] -> TypedTerm SimpleStatement
- Hydra.Dsl.Python.Syntax: simpleStatementTypeAlias :: TypedTerm TypeAlias -> TypedTerm SimpleStatement
- Hydra.Dsl.Python.Syntax: simpleStatementYield :: TypedTerm YieldStatement -> TypedTerm SimpleStatement
- Hydra.Dsl.Python.Syntax: simpleTypeParameter :: TypedTerm Name -> TypedTerm (Maybe Expression) -> TypedTerm (Maybe Expression) -> TypedTerm SimpleTypeParameter
- Hydra.Dsl.Python.Syntax: simpleTypeParameterBound :: TypedTerm SimpleTypeParameter -> TypedTerm (Maybe Expression)
- Hydra.Dsl.Python.Syntax: simpleTypeParameterDefault :: TypedTerm SimpleTypeParameter -> TypedTerm (Maybe Expression)
- Hydra.Dsl.Python.Syntax: simpleTypeParameterName :: TypedTerm SimpleTypeParameter -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: simpleTypeParameterSimpleTypeParameter :: TypedName SimpleTypeParameter
- Hydra.Dsl.Python.Syntax: simpleTypeParameterWithBound :: TypedTerm SimpleTypeParameter -> TypedTerm (Maybe Expression) -> TypedTerm SimpleTypeParameter
- Hydra.Dsl.Python.Syntax: simpleTypeParameterWithDefault :: TypedTerm SimpleTypeParameter -> TypedTerm (Maybe Expression) -> TypedTerm SimpleTypeParameter
- Hydra.Dsl.Python.Syntax: simpleTypeParameterWithName :: TypedTerm SimpleTypeParameter -> TypedTerm Name -> TypedTerm SimpleTypeParameter
- Hydra.Dsl.Python.Syntax: singleSubscriptAttributeTargetPrimaryAndName :: TypedTerm TPrimaryAndName -> TypedTerm SingleSubscriptAttributeTarget
- Hydra.Dsl.Python.Syntax: singleSubscriptAttributeTargetPrimaryAndSlices :: TypedTerm TPrimaryAndSlices -> TypedTerm SingleSubscriptAttributeTarget
- Hydra.Dsl.Python.Syntax: singleSubscriptAttributeTargetSingleSubscriptAttributeTarget :: TypedName SingleSubscriptAttributeTarget
- Hydra.Dsl.Python.Syntax: singleTargetName :: TypedTerm Name -> TypedTerm SingleTarget
- Hydra.Dsl.Python.Syntax: singleTargetParens :: TypedTerm SingleTarget -> TypedTerm SingleTarget
- Hydra.Dsl.Python.Syntax: singleTargetSingleTarget :: TypedName SingleTarget
- Hydra.Dsl.Python.Syntax: singleTargetSubscriptAttributeTarget :: TypedTerm SingleSubscriptAttributeTarget -> TypedTerm SingleTarget
- Hydra.Dsl.Python.Syntax: slashNoDefault :: TypedTerm [ParamNoDefault] -> TypedTerm SlashNoDefault
- Hydra.Dsl.Python.Syntax: slashNoDefaultParameters :: TypedTerm SlashNoDefault -> TypedTerm [ParamNoDefault] -> TypedTerm [ParamWithDefault] -> TypedTerm (Maybe StarEtc) -> TypedTerm SlashNoDefaultParameters
- Hydra.Dsl.Python.Syntax: slashNoDefaultParametersParamNoDefault :: TypedTerm SlashNoDefaultParameters -> TypedTerm [ParamNoDefault]
- Hydra.Dsl.Python.Syntax: slashNoDefaultParametersParamWithDefault :: TypedTerm SlashNoDefaultParameters -> TypedTerm [ParamWithDefault]
- Hydra.Dsl.Python.Syntax: slashNoDefaultParametersSlash :: TypedTerm SlashNoDefaultParameters -> TypedTerm SlashNoDefault
- Hydra.Dsl.Python.Syntax: slashNoDefaultParametersSlashNoDefaultParameters :: TypedName SlashNoDefaultParameters
- Hydra.Dsl.Python.Syntax: slashNoDefaultParametersStarEtc :: TypedTerm SlashNoDefaultParameters -> TypedTerm (Maybe StarEtc)
- Hydra.Dsl.Python.Syntax: slashNoDefaultParametersWithParamNoDefault :: TypedTerm SlashNoDefaultParameters -> TypedTerm [ParamNoDefault] -> TypedTerm SlashNoDefaultParameters
- Hydra.Dsl.Python.Syntax: slashNoDefaultParametersWithParamWithDefault :: TypedTerm SlashNoDefaultParameters -> TypedTerm [ParamWithDefault] -> TypedTerm SlashNoDefaultParameters
- Hydra.Dsl.Python.Syntax: slashNoDefaultParametersWithSlash :: TypedTerm SlashNoDefaultParameters -> TypedTerm SlashNoDefault -> TypedTerm SlashNoDefaultParameters
- Hydra.Dsl.Python.Syntax: slashNoDefaultParametersWithStarEtc :: TypedTerm SlashNoDefaultParameters -> TypedTerm (Maybe StarEtc) -> TypedTerm SlashNoDefaultParameters
- Hydra.Dsl.Python.Syntax: slashNoDefaultSlashNoDefault :: TypedName SlashNoDefault
- Hydra.Dsl.Python.Syntax: slashWithDefault :: TypedTerm [ParamNoDefault] -> TypedTerm [ParamWithDefault] -> TypedTerm SlashWithDefault
- Hydra.Dsl.Python.Syntax: slashWithDefaultParamNoDefault :: TypedTerm SlashWithDefault -> TypedTerm [ParamNoDefault]
- Hydra.Dsl.Python.Syntax: slashWithDefaultParamWithDefault :: TypedTerm SlashWithDefault -> TypedTerm [ParamWithDefault]
- Hydra.Dsl.Python.Syntax: slashWithDefaultParameters :: TypedTerm [ParamNoDefault] -> TypedTerm [ParamWithDefault] -> TypedTerm (Maybe StarEtc) -> TypedTerm SlashWithDefaultParameters
- Hydra.Dsl.Python.Syntax: slashWithDefaultParametersParamNoDefault :: TypedTerm SlashWithDefaultParameters -> TypedTerm [ParamNoDefault]
- Hydra.Dsl.Python.Syntax: slashWithDefaultParametersParamWithDefault :: TypedTerm SlashWithDefaultParameters -> TypedTerm [ParamWithDefault]
- Hydra.Dsl.Python.Syntax: slashWithDefaultParametersSlashWithDefaultParameters :: TypedName SlashWithDefaultParameters
- Hydra.Dsl.Python.Syntax: slashWithDefaultParametersStarEtc :: TypedTerm SlashWithDefaultParameters -> TypedTerm (Maybe StarEtc)
- Hydra.Dsl.Python.Syntax: slashWithDefaultParametersWithParamNoDefault :: TypedTerm SlashWithDefaultParameters -> TypedTerm [ParamNoDefault] -> TypedTerm SlashWithDefaultParameters
- Hydra.Dsl.Python.Syntax: slashWithDefaultParametersWithParamWithDefault :: TypedTerm SlashWithDefaultParameters -> TypedTerm [ParamWithDefault] -> TypedTerm SlashWithDefaultParameters
- Hydra.Dsl.Python.Syntax: slashWithDefaultParametersWithStarEtc :: TypedTerm SlashWithDefaultParameters -> TypedTerm (Maybe StarEtc) -> TypedTerm SlashWithDefaultParameters
- Hydra.Dsl.Python.Syntax: slashWithDefaultSlashWithDefault :: TypedName SlashWithDefault
- Hydra.Dsl.Python.Syntax: slashWithDefaultWithParamNoDefault :: TypedTerm SlashWithDefault -> TypedTerm [ParamNoDefault] -> TypedTerm SlashWithDefault
- Hydra.Dsl.Python.Syntax: slashWithDefaultWithParamWithDefault :: TypedTerm SlashWithDefault -> TypedTerm [ParamWithDefault] -> TypedTerm SlashWithDefault
- Hydra.Dsl.Python.Syntax: sliceExpression :: TypedTerm (Maybe Expression) -> TypedTerm (Maybe Expression) -> TypedTerm (Maybe Expression) -> TypedTerm SliceExpression
- Hydra.Dsl.Python.Syntax: sliceExpressionSliceExpression :: TypedName SliceExpression
- Hydra.Dsl.Python.Syntax: sliceExpressionStart :: TypedTerm SliceExpression -> TypedTerm (Maybe Expression)
- Hydra.Dsl.Python.Syntax: sliceExpressionStep :: TypedTerm SliceExpression -> TypedTerm (Maybe Expression)
- Hydra.Dsl.Python.Syntax: sliceExpressionStop :: TypedTerm SliceExpression -> TypedTerm (Maybe Expression)
- Hydra.Dsl.Python.Syntax: sliceExpressionWithStart :: TypedTerm SliceExpression -> TypedTerm (Maybe Expression) -> TypedTerm SliceExpression
- Hydra.Dsl.Python.Syntax: sliceExpressionWithStep :: TypedTerm SliceExpression -> TypedTerm (Maybe Expression) -> TypedTerm SliceExpression
- Hydra.Dsl.Python.Syntax: sliceExpressionWithStop :: TypedTerm SliceExpression -> TypedTerm (Maybe Expression) -> TypedTerm SliceExpression
- Hydra.Dsl.Python.Syntax: sliceNamed :: TypedTerm NamedExpression -> TypedTerm Slice
- Hydra.Dsl.Python.Syntax: sliceOrStarredExpressionSlice :: TypedTerm Slice -> TypedTerm SliceOrStarredExpression
- Hydra.Dsl.Python.Syntax: sliceOrStarredExpressionSliceOrStarredExpression :: TypedName SliceOrStarredExpression
- Hydra.Dsl.Python.Syntax: sliceOrStarredExpressionStarred :: TypedTerm StarredExpression -> TypedTerm SliceOrStarredExpression
- Hydra.Dsl.Python.Syntax: sliceSlice :: TypedName Slice
- Hydra.Dsl.Python.Syntax: sliceSlice_ :: TypedTerm SliceExpression -> TypedTerm Slice
- Hydra.Dsl.Python.Syntax: slices :: TypedTerm Slice -> TypedTerm [SliceOrStarredExpression] -> TypedTerm Slices
- Hydra.Dsl.Python.Syntax: slicesHead :: TypedTerm Slices -> TypedTerm Slice
- Hydra.Dsl.Python.Syntax: slicesSlices :: TypedName Slices
- Hydra.Dsl.Python.Syntax: slicesTail :: TypedTerm Slices -> TypedTerm [SliceOrStarredExpression]
- Hydra.Dsl.Python.Syntax: slicesWithHead :: TypedTerm Slices -> TypedTerm Slice -> TypedTerm Slices
- Hydra.Dsl.Python.Syntax: slicesWithTail :: TypedTerm Slices -> TypedTerm [SliceOrStarredExpression] -> TypedTerm Slices
- Hydra.Dsl.Python.Syntax: starAnnotation :: TypedTerm StarExpression -> TypedTerm StarAnnotation
- Hydra.Dsl.Python.Syntax: starAnnotationStarAnnotation :: TypedName StarAnnotation
- Hydra.Dsl.Python.Syntax: starAtomName :: TypedTerm Name -> TypedTerm StarAtom
- Hydra.Dsl.Python.Syntax: starAtomStarAtom :: TypedName StarAtom
- Hydra.Dsl.Python.Syntax: starAtomStarTargetsListSeq :: TypedTerm (Maybe StarTargetsListSeq) -> TypedTerm StarAtom
- Hydra.Dsl.Python.Syntax: starAtomStarTargetsTupleSeq :: TypedTerm (Maybe StarTargetsTupleSeq) -> TypedTerm StarAtom
- Hydra.Dsl.Python.Syntax: starAtomTargetWithStarAtom :: TypedTerm TargetWithStarAtom -> TypedTerm StarAtom
- Hydra.Dsl.Python.Syntax: starEtcKeywords :: TypedTerm Keywords -> TypedTerm StarEtc
- Hydra.Dsl.Python.Syntax: starEtcStarComma :: TypedTerm CommaStarEtc -> TypedTerm StarEtc
- Hydra.Dsl.Python.Syntax: starEtcStarEtc :: TypedName StarEtc
- Hydra.Dsl.Python.Syntax: starEtcStarNoDefault :: TypedTerm NoDefaultStarEtc -> TypedTerm StarEtc
- Hydra.Dsl.Python.Syntax: starEtcStarNoDefaultStarAnnotation :: TypedTerm NoDefaultStarAnnotationStarEtc -> TypedTerm StarEtc
- Hydra.Dsl.Python.Syntax: starExpressionSimple :: TypedTerm Expression -> TypedTerm StarExpression
- Hydra.Dsl.Python.Syntax: starExpressionStar :: TypedTerm BitwiseOr -> TypedTerm StarExpression
- Hydra.Dsl.Python.Syntax: starExpressionStarExpression :: TypedName StarExpression
- Hydra.Dsl.Python.Syntax: starNamedExpressionSimple :: TypedTerm NamedExpression -> TypedTerm StarNamedExpression
- Hydra.Dsl.Python.Syntax: starNamedExpressionStar :: TypedTerm BitwiseOr -> TypedTerm StarNamedExpression
- Hydra.Dsl.Python.Syntax: starNamedExpressionStarNamedExpression :: TypedName StarNamedExpression
- Hydra.Dsl.Python.Syntax: starNamedExpressions :: TypedTerm [StarNamedExpression] -> TypedTerm StarNamedExpressions
- Hydra.Dsl.Python.Syntax: starNamedExpressionsStarNamedExpressions :: TypedName StarNamedExpressions
- Hydra.Dsl.Python.Syntax: starPatternCapture :: TypedTerm PatternCaptureTarget -> TypedTerm StarPattern
- Hydra.Dsl.Python.Syntax: starPatternStarPattern :: TypedName StarPattern
- Hydra.Dsl.Python.Syntax: starPatternWildcard :: TypedTerm StarPattern
- Hydra.Dsl.Python.Syntax: starTargetStarTarget :: TypedName StarTarget
- Hydra.Dsl.Python.Syntax: starTargetStarred :: TypedTerm StarTarget -> TypedTerm StarTarget
- Hydra.Dsl.Python.Syntax: starTargetUnstarred :: TypedTerm TargetWithStarAtom -> TypedTerm StarTarget
- Hydra.Dsl.Python.Syntax: starTargetsListSeq :: TypedTerm [StarTarget] -> TypedTerm StarTargetsListSeq
- Hydra.Dsl.Python.Syntax: starTargetsListSeqStarTargetsListSeq :: TypedName StarTargetsListSeq
- Hydra.Dsl.Python.Syntax: starTargetsTupleSeq :: TypedTerm [StarTarget] -> TypedTerm StarTargetsTupleSeq
- Hydra.Dsl.Python.Syntax: starTargetsTupleSeqStarTargetsTupleSeq :: TypedName StarTargetsTupleSeq
- Hydra.Dsl.Python.Syntax: starTypeParameter :: TypedTerm Name -> TypedTerm (Maybe StarExpression) -> TypedTerm StarTypeParameter
- Hydra.Dsl.Python.Syntax: starTypeParameterDefault :: TypedTerm StarTypeParameter -> TypedTerm (Maybe StarExpression)
- Hydra.Dsl.Python.Syntax: starTypeParameterName :: TypedTerm StarTypeParameter -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: starTypeParameterStarTypeParameter :: TypedName StarTypeParameter
- Hydra.Dsl.Python.Syntax: starTypeParameterWithDefault :: TypedTerm StarTypeParameter -> TypedTerm (Maybe StarExpression) -> TypedTerm StarTypeParameter
- Hydra.Dsl.Python.Syntax: starTypeParameterWithName :: TypedTerm StarTypeParameter -> TypedTerm Name -> TypedTerm StarTypeParameter
- Hydra.Dsl.Python.Syntax: starredExpression :: TypedTerm Expression -> TypedTerm StarredExpression
- Hydra.Dsl.Python.Syntax: starredExpressionStarredExpression :: TypedName StarredExpression
- Hydra.Dsl.Python.Syntax: statementAnnotated :: TypedTerm AnnotatedStatement -> TypedTerm Statement
- Hydra.Dsl.Python.Syntax: statementCompound :: TypedTerm CompoundStatement -> TypedTerm Statement
- Hydra.Dsl.Python.Syntax: statementSimple :: TypedTerm [SimpleStatement] -> TypedTerm Statement
- Hydra.Dsl.Python.Syntax: statementStatement :: TypedName Statement
- Hydra.Dsl.Python.Syntax: string :: TypedTerm String -> TypedTerm (Maybe StringPrefix) -> TypedTerm QuoteStyle -> TypedTerm String_
- Hydra.Dsl.Python.Syntax: stringPrefix :: TypedTerm String_ -> TypedTerm (Maybe StringPrefix)
- Hydra.Dsl.Python.Syntax: stringPrefixBytes :: TypedTerm StringPrefix
- Hydra.Dsl.Python.Syntax: stringPrefixRaw :: TypedTerm StringPrefix
- Hydra.Dsl.Python.Syntax: stringPrefixRawBytes :: TypedTerm StringPrefix
- Hydra.Dsl.Python.Syntax: stringPrefixStringPrefix :: TypedName StringPrefix
- Hydra.Dsl.Python.Syntax: stringPrefixUnicode :: TypedTerm StringPrefix
- Hydra.Dsl.Python.Syntax: stringQuoteStyle :: TypedTerm String_ -> TypedTerm QuoteStyle
- Hydra.Dsl.Python.Syntax: stringString :: TypedName String_
- Hydra.Dsl.Python.Syntax: stringValue :: TypedTerm String_ -> TypedTerm String
- Hydra.Dsl.Python.Syntax: stringWithPrefix :: TypedTerm String_ -> TypedTerm (Maybe StringPrefix) -> TypedTerm String_
- Hydra.Dsl.Python.Syntax: stringWithQuoteStyle :: TypedTerm String_ -> TypedTerm QuoteStyle -> TypedTerm String_
- Hydra.Dsl.Python.Syntax: stringWithValue :: TypedTerm String_ -> TypedTerm String -> TypedTerm String_
- Hydra.Dsl.Python.Syntax: subjectExpressionSimple :: TypedTerm NamedExpression -> TypedTerm SubjectExpression
- Hydra.Dsl.Python.Syntax: subjectExpressionSubjectExpression :: TypedName SubjectExpression
- Hydra.Dsl.Python.Syntax: subjectExpressionTuple :: TypedTerm [StarNamedExpression] -> TypedTerm SubjectExpression
- Hydra.Dsl.Python.Syntax: sum :: TypedTerm (Maybe SumLhs) -> TypedTerm Term -> TypedTerm Sum
- Hydra.Dsl.Python.Syntax: sumLhs :: TypedTerm Sum -> TypedTerm (Maybe SumLhs)
- Hydra.Dsl.Python.Syntax: sumLhs2 :: TypedTerm Sum -> TypedTerm SumOp -> TypedTerm SumLhs
- Hydra.Dsl.Python.Syntax: sumLhsOperand :: TypedTerm SumLhs -> TypedTerm Sum
- Hydra.Dsl.Python.Syntax: sumLhsOperator :: TypedTerm SumLhs -> TypedTerm SumOp
- Hydra.Dsl.Python.Syntax: sumLhsSumLhs :: TypedName SumLhs
- Hydra.Dsl.Python.Syntax: sumLhsWithOperand :: TypedTerm SumLhs -> TypedTerm Sum -> TypedTerm SumLhs
- Hydra.Dsl.Python.Syntax: sumLhsWithOperator :: TypedTerm SumLhs -> TypedTerm SumOp -> TypedTerm SumLhs
- Hydra.Dsl.Python.Syntax: sumOpAdd :: TypedTerm SumOp
- Hydra.Dsl.Python.Syntax: sumOpSub :: TypedTerm SumOp
- Hydra.Dsl.Python.Syntax: sumOpSumOp :: TypedName SumOp
- Hydra.Dsl.Python.Syntax: sumRhs :: TypedTerm Sum -> TypedTerm Term
- Hydra.Dsl.Python.Syntax: sumSum :: TypedName Sum
- Hydra.Dsl.Python.Syntax: sumWithLhs :: TypedTerm Sum -> TypedTerm (Maybe SumLhs) -> TypedTerm Sum
- Hydra.Dsl.Python.Syntax: sumWithRhs :: TypedTerm Sum -> TypedTerm Term -> TypedTerm Sum
- Hydra.Dsl.Python.Syntax: tPrimaryAndArguments :: TypedTerm TPrimary -> TypedTerm (Maybe Args) -> TypedTerm TPrimaryAndArguments
- Hydra.Dsl.Python.Syntax: tPrimaryAndArgumentsArguments :: TypedTerm TPrimaryAndArguments -> TypedTerm (Maybe Args)
- Hydra.Dsl.Python.Syntax: tPrimaryAndArgumentsPrimary :: TypedTerm TPrimaryAndArguments -> TypedTerm TPrimary
- Hydra.Dsl.Python.Syntax: tPrimaryAndArgumentsTPrimaryAndArguments :: TypedName TPrimaryAndArguments
- Hydra.Dsl.Python.Syntax: tPrimaryAndArgumentsWithArguments :: TypedTerm TPrimaryAndArguments -> TypedTerm (Maybe Args) -> TypedTerm TPrimaryAndArguments
- Hydra.Dsl.Python.Syntax: tPrimaryAndArgumentsWithPrimary :: TypedTerm TPrimaryAndArguments -> TypedTerm TPrimary -> TypedTerm TPrimaryAndArguments
- Hydra.Dsl.Python.Syntax: tPrimaryAndGenexp :: TypedTerm TPrimary -> TypedTerm Genexp -> TypedTerm TPrimaryAndGenexp
- Hydra.Dsl.Python.Syntax: tPrimaryAndGenexpGenexp :: TypedTerm TPrimaryAndGenexp -> TypedTerm Genexp
- Hydra.Dsl.Python.Syntax: tPrimaryAndGenexpPrimary :: TypedTerm TPrimaryAndGenexp -> TypedTerm TPrimary
- Hydra.Dsl.Python.Syntax: tPrimaryAndGenexpTPrimaryAndGenexp :: TypedName TPrimaryAndGenexp
- Hydra.Dsl.Python.Syntax: tPrimaryAndGenexpWithGenexp :: TypedTerm TPrimaryAndGenexp -> TypedTerm Genexp -> TypedTerm TPrimaryAndGenexp
- Hydra.Dsl.Python.Syntax: tPrimaryAndGenexpWithPrimary :: TypedTerm TPrimaryAndGenexp -> TypedTerm TPrimary -> TypedTerm TPrimaryAndGenexp
- Hydra.Dsl.Python.Syntax: tPrimaryAndName :: TypedTerm TPrimary -> TypedTerm Name -> TypedTerm TPrimaryAndName
- Hydra.Dsl.Python.Syntax: tPrimaryAndNameName :: TypedTerm TPrimaryAndName -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: tPrimaryAndNamePrimary :: TypedTerm TPrimaryAndName -> TypedTerm TPrimary
- Hydra.Dsl.Python.Syntax: tPrimaryAndNameTPrimaryAndName :: TypedName TPrimaryAndName
- Hydra.Dsl.Python.Syntax: tPrimaryAndNameWithName :: TypedTerm TPrimaryAndName -> TypedTerm Name -> TypedTerm TPrimaryAndName
- Hydra.Dsl.Python.Syntax: tPrimaryAndNameWithPrimary :: TypedTerm TPrimaryAndName -> TypedTerm TPrimary -> TypedTerm TPrimaryAndName
- Hydra.Dsl.Python.Syntax: tPrimaryAndSlices :: TypedTerm TPrimary -> TypedTerm Slices -> TypedTerm TPrimaryAndSlices
- Hydra.Dsl.Python.Syntax: tPrimaryAndSlicesPrimary :: TypedTerm TPrimaryAndSlices -> TypedTerm TPrimary
- Hydra.Dsl.Python.Syntax: tPrimaryAndSlicesSlices :: TypedTerm TPrimaryAndSlices -> TypedTerm Slices
- Hydra.Dsl.Python.Syntax: tPrimaryAndSlicesTPrimaryAndSlices :: TypedName TPrimaryAndSlices
- Hydra.Dsl.Python.Syntax: tPrimaryAndSlicesWithPrimary :: TypedTerm TPrimaryAndSlices -> TypedTerm TPrimary -> TypedTerm TPrimaryAndSlices
- Hydra.Dsl.Python.Syntax: tPrimaryAndSlicesWithSlices :: TypedTerm TPrimaryAndSlices -> TypedTerm Slices -> TypedTerm TPrimaryAndSlices
- Hydra.Dsl.Python.Syntax: tPrimaryAtom :: TypedTerm Atom -> TypedTerm TPrimary
- Hydra.Dsl.Python.Syntax: tPrimaryPrimaryAndArguments :: TypedTerm TPrimaryAndArguments -> TypedTerm TPrimary
- Hydra.Dsl.Python.Syntax: tPrimaryPrimaryAndGenexp :: TypedTerm TPrimaryAndGenexp -> TypedTerm TPrimary
- Hydra.Dsl.Python.Syntax: tPrimaryPrimaryAndName :: TypedTerm TPrimaryAndName -> TypedTerm TPrimary
- Hydra.Dsl.Python.Syntax: tPrimaryPrimaryAndSlices :: TypedTerm TPrimaryAndSlices -> TypedTerm TPrimary
- Hydra.Dsl.Python.Syntax: tPrimaryTPrimary :: TypedName TPrimary
- Hydra.Dsl.Python.Syntax: targetWithStarAtomAtom :: TypedTerm StarAtom -> TypedTerm TargetWithStarAtom
- Hydra.Dsl.Python.Syntax: targetWithStarAtomProject :: TypedTerm TPrimaryAndName -> TypedTerm TargetWithStarAtom
- Hydra.Dsl.Python.Syntax: targetWithStarAtomSlices :: TypedTerm TPrimaryAndSlices -> TypedTerm TargetWithStarAtom
- Hydra.Dsl.Python.Syntax: targetWithStarAtomTargetWithStarAtom :: TypedName TargetWithStarAtom
- Hydra.Dsl.Python.Syntax: term :: TypedTerm (Maybe TermLhs) -> TypedTerm Factor -> TypedTerm Term
- Hydra.Dsl.Python.Syntax: termLhs :: TypedTerm Term -> TypedTerm (Maybe TermLhs)
- Hydra.Dsl.Python.Syntax: termLhs2 :: TypedTerm Term -> TypedTerm TermOp -> TypedTerm TermLhs
- Hydra.Dsl.Python.Syntax: termLhsOperand :: TypedTerm TermLhs -> TypedTerm Term
- Hydra.Dsl.Python.Syntax: termLhsOperator :: TypedTerm TermLhs -> TypedTerm TermOp
- Hydra.Dsl.Python.Syntax: termLhsTermLhs :: TypedName TermLhs
- Hydra.Dsl.Python.Syntax: termLhsWithOperand :: TypedTerm TermLhs -> TypedTerm Term -> TypedTerm TermLhs
- Hydra.Dsl.Python.Syntax: termLhsWithOperator :: TypedTerm TermLhs -> TypedTerm TermOp -> TypedTerm TermLhs
- Hydra.Dsl.Python.Syntax: termOpDiv :: TypedTerm TermOp
- Hydra.Dsl.Python.Syntax: termOpFloordiv :: TypedTerm TermOp
- Hydra.Dsl.Python.Syntax: termOpMatmul :: TypedTerm TermOp
- Hydra.Dsl.Python.Syntax: termOpMod :: TypedTerm TermOp
- Hydra.Dsl.Python.Syntax: termOpMul :: TypedTerm TermOp
- Hydra.Dsl.Python.Syntax: termOpTermOp :: TypedName TermOp
- Hydra.Dsl.Python.Syntax: termRhs :: TypedTerm Term -> TypedTerm Factor
- Hydra.Dsl.Python.Syntax: termTerm :: TypedName Term
- Hydra.Dsl.Python.Syntax: termWithLhs :: TypedTerm Term -> TypedTerm (Maybe TermLhs) -> TypedTerm Term
- Hydra.Dsl.Python.Syntax: termWithRhs :: TypedTerm Term -> TypedTerm Factor -> TypedTerm Term
- Hydra.Dsl.Python.Syntax: tryExceptStarStatement :: TypedTerm Block -> TypedTerm [ExceptStarBlock] -> TypedTerm (Maybe Block) -> TypedTerm (Maybe Block) -> TypedTerm TryExceptStarStatement
- Hydra.Dsl.Python.Syntax: tryExceptStarStatementBody :: TypedTerm TryExceptStarStatement -> TypedTerm Block
- Hydra.Dsl.Python.Syntax: tryExceptStarStatementElse :: TypedTerm TryExceptStarStatement -> TypedTerm (Maybe Block)
- Hydra.Dsl.Python.Syntax: tryExceptStarStatementExcepts :: TypedTerm TryExceptStarStatement -> TypedTerm [ExceptStarBlock]
- Hydra.Dsl.Python.Syntax: tryExceptStarStatementFinally :: TypedTerm TryExceptStarStatement -> TypedTerm (Maybe Block)
- Hydra.Dsl.Python.Syntax: tryExceptStarStatementTryExceptStarStatement :: TypedName TryExceptStarStatement
- Hydra.Dsl.Python.Syntax: tryExceptStarStatementWithBody :: TypedTerm TryExceptStarStatement -> TypedTerm Block -> TypedTerm TryExceptStarStatement
- Hydra.Dsl.Python.Syntax: tryExceptStarStatementWithElse :: TypedTerm TryExceptStarStatement -> TypedTerm (Maybe Block) -> TypedTerm TryExceptStarStatement
- Hydra.Dsl.Python.Syntax: tryExceptStarStatementWithExcepts :: TypedTerm TryExceptStarStatement -> TypedTerm [ExceptStarBlock] -> TypedTerm TryExceptStarStatement
- Hydra.Dsl.Python.Syntax: tryExceptStarStatementWithFinally :: TypedTerm TryExceptStarStatement -> TypedTerm (Maybe Block) -> TypedTerm TryExceptStarStatement
- Hydra.Dsl.Python.Syntax: tryExceptStatement :: TypedTerm Block -> TypedTerm [ExceptBlock] -> TypedTerm (Maybe Block) -> TypedTerm (Maybe Block) -> TypedTerm TryExceptStatement
- Hydra.Dsl.Python.Syntax: tryExceptStatementBody :: TypedTerm TryExceptStatement -> TypedTerm Block
- Hydra.Dsl.Python.Syntax: tryExceptStatementElse :: TypedTerm TryExceptStatement -> TypedTerm (Maybe Block)
- Hydra.Dsl.Python.Syntax: tryExceptStatementExcepts :: TypedTerm TryExceptStatement -> TypedTerm [ExceptBlock]
- Hydra.Dsl.Python.Syntax: tryExceptStatementFinally :: TypedTerm TryExceptStatement -> TypedTerm (Maybe Block)
- Hydra.Dsl.Python.Syntax: tryExceptStatementTryExceptStatement :: TypedName TryExceptStatement
- Hydra.Dsl.Python.Syntax: tryExceptStatementWithBody :: TypedTerm TryExceptStatement -> TypedTerm Block -> TypedTerm TryExceptStatement
- Hydra.Dsl.Python.Syntax: tryExceptStatementWithElse :: TypedTerm TryExceptStatement -> TypedTerm (Maybe Block) -> TypedTerm TryExceptStatement
- Hydra.Dsl.Python.Syntax: tryExceptStatementWithExcepts :: TypedTerm TryExceptStatement -> TypedTerm [ExceptBlock] -> TypedTerm TryExceptStatement
- Hydra.Dsl.Python.Syntax: tryExceptStatementWithFinally :: TypedTerm TryExceptStatement -> TypedTerm (Maybe Block) -> TypedTerm TryExceptStatement
- Hydra.Dsl.Python.Syntax: tryFinallyStatement :: TypedTerm Block -> TypedTerm Block -> TypedTerm TryFinallyStatement
- Hydra.Dsl.Python.Syntax: tryFinallyStatementBody :: TypedTerm TryFinallyStatement -> TypedTerm Block
- Hydra.Dsl.Python.Syntax: tryFinallyStatementFinally :: TypedTerm TryFinallyStatement -> TypedTerm Block
- Hydra.Dsl.Python.Syntax: tryFinallyStatementTryFinallyStatement :: TypedName TryFinallyStatement
- Hydra.Dsl.Python.Syntax: tryFinallyStatementWithBody :: TypedTerm TryFinallyStatement -> TypedTerm Block -> TypedTerm TryFinallyStatement
- Hydra.Dsl.Python.Syntax: tryFinallyStatementWithFinally :: TypedTerm TryFinallyStatement -> TypedTerm Block -> TypedTerm TryFinallyStatement
- Hydra.Dsl.Python.Syntax: tryStatementExcept :: TypedTerm TryExceptStatement -> TypedTerm TryStatement
- Hydra.Dsl.Python.Syntax: tryStatementExceptStar :: TypedTerm TryExceptStarStatement -> TypedTerm TryStatement
- Hydra.Dsl.Python.Syntax: tryStatementFinally :: TypedTerm TryFinallyStatement -> TypedTerm TryStatement
- Hydra.Dsl.Python.Syntax: tryStatementTryStatement :: TypedName TryStatement
- Hydra.Dsl.Python.Syntax: tuple :: TypedTerm [StarNamedExpression] -> TypedTerm Tuple
- Hydra.Dsl.Python.Syntax: tupleTuple :: TypedName Tuple
- Hydra.Dsl.Python.Syntax: typeAlias :: TypedTerm Name -> TypedTerm [TypeParameter] -> TypedTerm Expression -> TypedTerm TypeAlias
- Hydra.Dsl.Python.Syntax: typeAliasExpression :: TypedTerm TypeAlias -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: typeAliasName :: TypedTerm TypeAlias -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: typeAliasTypeAlias :: TypedName TypeAlias
- Hydra.Dsl.Python.Syntax: typeAliasTypeParams :: TypedTerm TypeAlias -> TypedTerm [TypeParameter]
- Hydra.Dsl.Python.Syntax: typeAliasWithExpression :: TypedTerm TypeAlias -> TypedTerm Expression -> TypedTerm TypeAlias
- Hydra.Dsl.Python.Syntax: typeAliasWithName :: TypedTerm TypeAlias -> TypedTerm Name -> TypedTerm TypeAlias
- Hydra.Dsl.Python.Syntax: typeAliasWithTypeParams :: TypedTerm TypeAlias -> TypedTerm [TypeParameter] -> TypedTerm TypeAlias
- Hydra.Dsl.Python.Syntax: typeComment :: TypedTerm String -> TypedTerm TypeComment
- Hydra.Dsl.Python.Syntax: typeCommentTypeComment :: TypedName TypeComment
- Hydra.Dsl.Python.Syntax: typeExpressionDoubleStarredExpression :: TypedTerm Expression -> TypedTerm TypeExpression
- Hydra.Dsl.Python.Syntax: typeExpressionExpression :: TypedTerm Expression -> TypedTerm TypeExpression
- Hydra.Dsl.Python.Syntax: typeExpressionStarredExpression :: TypedTerm Expression -> TypedTerm TypeExpression
- Hydra.Dsl.Python.Syntax: typeExpressionTypeExpression :: TypedName TypeExpression
- Hydra.Dsl.Python.Syntax: typeParameterDoubleStar :: TypedTerm DoubleStarTypeParameter -> TypedTerm TypeParameter
- Hydra.Dsl.Python.Syntax: typeParameterSimple :: TypedTerm SimpleTypeParameter -> TypedTerm TypeParameter
- Hydra.Dsl.Python.Syntax: typeParameterStar :: TypedTerm StarTypeParameter -> TypedTerm TypeParameter
- Hydra.Dsl.Python.Syntax: typeParameterTypeParameter :: TypedName TypeParameter
- Hydra.Dsl.Python.Syntax: typedAssignment :: TypedTerm SingleTarget -> TypedTerm Expression -> TypedTerm (Maybe AnnotatedRhs) -> TypedTerm TypedAssignment
- Hydra.Dsl.Python.Syntax: typedAssignmentLhs :: TypedTerm TypedAssignment -> TypedTerm SingleTarget
- Hydra.Dsl.Python.Syntax: typedAssignmentRhs :: TypedTerm TypedAssignment -> TypedTerm (Maybe AnnotatedRhs)
- Hydra.Dsl.Python.Syntax: typedAssignmentType :: TypedTerm TypedAssignment -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: typedAssignmentTypedAssignment :: TypedName TypedAssignment
- Hydra.Dsl.Python.Syntax: typedAssignmentWithLhs :: TypedTerm TypedAssignment -> TypedTerm SingleTarget -> TypedTerm TypedAssignment
- Hydra.Dsl.Python.Syntax: typedAssignmentWithRhs :: TypedTerm TypedAssignment -> TypedTerm (Maybe AnnotatedRhs) -> TypedTerm TypedAssignment
- Hydra.Dsl.Python.Syntax: typedAssignmentWithType :: TypedTerm TypedAssignment -> TypedTerm Expression -> TypedTerm TypedAssignment
- Hydra.Dsl.Python.Syntax: unAnnotation :: TypedTerm Annotation -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: unAttribute :: TypedTerm Attribute -> TypedTerm [Name]
- Hydra.Dsl.Python.Syntax: unCapturePattern :: TypedTerm CapturePattern -> TypedTerm PatternCaptureTarget
- Hydra.Dsl.Python.Syntax: unConjunction :: TypedTerm Conjunction -> TypedTerm [Inversion]
- Hydra.Dsl.Python.Syntax: unDecorators :: TypedTerm Decorators -> TypedTerm [NamedExpression]
- Hydra.Dsl.Python.Syntax: unDefault :: TypedTerm Default -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: unDelStatement :: TypedTerm DelStatement -> TypedTerm DelTargets
- Hydra.Dsl.Python.Syntax: unDelTargets :: TypedTerm DelTargets -> TypedTerm [DelTarget]
- Hydra.Dsl.Python.Syntax: unDict :: TypedTerm Dict -> TypedTerm [DoubleStarredKvpair]
- Hydra.Dsl.Python.Syntax: unDisjunction :: TypedTerm Disjunction -> TypedTerm [Conjunction]
- Hydra.Dsl.Python.Syntax: unDottedName :: TypedTerm DottedName -> TypedTerm [Name]
- Hydra.Dsl.Python.Syntax: unDoubleStarPattern :: TypedTerm DoubleStarPattern -> TypedTerm PatternCaptureTarget
- Hydra.Dsl.Python.Syntax: unEval :: TypedTerm Eval -> TypedTerm [Expression]
- Hydra.Dsl.Python.Syntax: unFile :: TypedTerm File -> TypedTerm [Statement]
- Hydra.Dsl.Python.Syntax: unForIfClauses :: TypedTerm ForIfClauses -> TypedTerm [ForIfClause]
- Hydra.Dsl.Python.Syntax: unFuncTypeComment :: TypedTerm FuncTypeComment -> TypedTerm TypeComment
- Hydra.Dsl.Python.Syntax: unGroupPattern :: TypedTerm GroupPattern -> TypedTerm Pattern
- Hydra.Dsl.Python.Syntax: unGuard :: TypedTerm Guard -> TypedTerm NamedExpression
- Hydra.Dsl.Python.Syntax: unImaginaryNumber :: TypedTerm ImaginaryNumber -> TypedTerm Double
- Hydra.Dsl.Python.Syntax: unImportName :: TypedTerm ImportName -> TypedTerm [DottedAsName]
- Hydra.Dsl.Python.Syntax: unInteractive :: TypedTerm Interactive -> TypedTerm Statement
- Hydra.Dsl.Python.Syntax: unItemsPattern :: TypedTerm ItemsPattern -> TypedTerm [KeyValuePattern]
- Hydra.Dsl.Python.Syntax: unKeywordPatterns :: TypedTerm KeywordPatterns -> TypedTerm [KeywordPattern]
- Hydra.Dsl.Python.Syntax: unKeywords :: TypedTerm Keywords -> TypedTerm ParamNoDefault
- Hydra.Dsl.Python.Syntax: unLambdaKwds :: TypedTerm LambdaKwds -> TypedTerm LambdaParamNoDefault
- Hydra.Dsl.Python.Syntax: unLambdaParamNoDefault :: TypedTerm LambdaParamNoDefault -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: unList :: TypedTerm List -> TypedTerm [StarNamedExpression]
- Hydra.Dsl.Python.Syntax: unMaybeSequencePattern :: TypedTerm MaybeSequencePattern -> TypedTerm [MaybeStarPattern]
- Hydra.Dsl.Python.Syntax: unModule :: TypedTerm Module -> TypedTerm [[Statement]]
- Hydra.Dsl.Python.Syntax: unName :: TypedTerm Name -> TypedTerm String
- Hydra.Dsl.Python.Syntax: unNameOrAttribute :: TypedTerm NameOrAttribute -> TypedTerm [Name]
- Hydra.Dsl.Python.Syntax: unOrPattern :: TypedTerm OrPattern -> TypedTerm [ClosedPattern]
- Hydra.Dsl.Python.Syntax: unPatternCaptureTarget :: TypedTerm PatternCaptureTarget -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: unPositionalPatterns :: TypedTerm PositionalPatterns -> TypedTerm [Pattern]
- Hydra.Dsl.Python.Syntax: unRaiseStatement :: TypedTerm RaiseStatement -> TypedTerm (Maybe RaiseExpression)
- Hydra.Dsl.Python.Syntax: unReturnStatement :: TypedTerm ReturnStatement -> TypedTerm [StarExpression]
- Hydra.Dsl.Python.Syntax: unSet :: TypedTerm Set -> TypedTerm [StarNamedExpression]
- Hydra.Dsl.Python.Syntax: unSlashNoDefault :: TypedTerm SlashNoDefault -> TypedTerm [ParamNoDefault]
- Hydra.Dsl.Python.Syntax: unStarAnnotation :: TypedTerm StarAnnotation -> TypedTerm StarExpression
- Hydra.Dsl.Python.Syntax: unStarNamedExpressions :: TypedTerm StarNamedExpressions -> TypedTerm [StarNamedExpression]
- Hydra.Dsl.Python.Syntax: unStarTargetsListSeq :: TypedTerm StarTargetsListSeq -> TypedTerm [StarTarget]
- Hydra.Dsl.Python.Syntax: unStarTargetsTupleSeq :: TypedTerm StarTargetsTupleSeq -> TypedTerm [StarTarget]
- Hydra.Dsl.Python.Syntax: unStarredExpression :: TypedTerm StarredExpression -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: unTuple :: TypedTerm Tuple -> TypedTerm [StarNamedExpression]
- Hydra.Dsl.Python.Syntax: unTypeComment :: TypedTerm TypeComment -> TypedTerm String
- Hydra.Dsl.Python.Syntax: unValuePattern :: TypedTerm ValuePattern -> TypedTerm Attribute
- Hydra.Dsl.Python.Syntax: unYieldStatement :: TypedTerm YieldStatement -> TypedTerm YieldExpression
- Hydra.Dsl.Python.Syntax: untypedAssignment :: TypedTerm [StarTarget] -> TypedTerm AnnotatedRhs -> TypedTerm (Maybe TypeComment) -> TypedTerm UntypedAssignment
- Hydra.Dsl.Python.Syntax: untypedAssignmentRhs :: TypedTerm UntypedAssignment -> TypedTerm AnnotatedRhs
- Hydra.Dsl.Python.Syntax: untypedAssignmentTargets :: TypedTerm UntypedAssignment -> TypedTerm [StarTarget]
- Hydra.Dsl.Python.Syntax: untypedAssignmentTypeComment :: TypedTerm UntypedAssignment -> TypedTerm (Maybe TypeComment)
- Hydra.Dsl.Python.Syntax: untypedAssignmentUntypedAssignment :: TypedName UntypedAssignment
- Hydra.Dsl.Python.Syntax: untypedAssignmentWithRhs :: TypedTerm UntypedAssignment -> TypedTerm AnnotatedRhs -> TypedTerm UntypedAssignment
- Hydra.Dsl.Python.Syntax: untypedAssignmentWithTargets :: TypedTerm UntypedAssignment -> TypedTerm [StarTarget] -> TypedTerm UntypedAssignment
- Hydra.Dsl.Python.Syntax: untypedAssignmentWithTypeComment :: TypedTerm UntypedAssignment -> TypedTerm (Maybe TypeComment) -> TypedTerm UntypedAssignment
- Hydra.Dsl.Python.Syntax: valuePattern :: TypedTerm Attribute -> TypedTerm ValuePattern
- Hydra.Dsl.Python.Syntax: valuePatternValuePattern :: TypedName ValuePattern
- Hydra.Dsl.Python.Syntax: whileStatement :: TypedTerm NamedExpression -> TypedTerm Block -> TypedTerm (Maybe Block) -> TypedTerm WhileStatement
- Hydra.Dsl.Python.Syntax: whileStatementBody :: TypedTerm WhileStatement -> TypedTerm Block
- Hydra.Dsl.Python.Syntax: whileStatementCondition :: TypedTerm WhileStatement -> TypedTerm NamedExpression
- Hydra.Dsl.Python.Syntax: whileStatementElse :: TypedTerm WhileStatement -> TypedTerm (Maybe Block)
- Hydra.Dsl.Python.Syntax: whileStatementWhileStatement :: TypedName WhileStatement
- Hydra.Dsl.Python.Syntax: whileStatementWithBody :: TypedTerm WhileStatement -> TypedTerm Block -> TypedTerm WhileStatement
- Hydra.Dsl.Python.Syntax: whileStatementWithCondition :: TypedTerm WhileStatement -> TypedTerm NamedExpression -> TypedTerm WhileStatement
- Hydra.Dsl.Python.Syntax: whileStatementWithElse :: TypedTerm WhileStatement -> TypedTerm (Maybe Block) -> TypedTerm WhileStatement
- Hydra.Dsl.Python.Syntax: withItem :: TypedTerm Expression -> TypedTerm (Maybe StarTarget) -> TypedTerm WithItem
- Hydra.Dsl.Python.Syntax: withItemAs :: TypedTerm WithItem -> TypedTerm (Maybe StarTarget)
- Hydra.Dsl.Python.Syntax: withItemExpression :: TypedTerm WithItem -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: withItemWithAs :: TypedTerm WithItem -> TypedTerm (Maybe StarTarget) -> TypedTerm WithItem
- Hydra.Dsl.Python.Syntax: withItemWithExpression :: TypedTerm WithItem -> TypedTerm Expression -> TypedTerm WithItem
- Hydra.Dsl.Python.Syntax: withItemWithItem :: TypedName WithItem
- Hydra.Dsl.Python.Syntax: withStatement :: TypedTerm Bool -> TypedTerm [WithItem] -> TypedTerm (Maybe TypeComment) -> TypedTerm Block -> TypedTerm WithStatement
- Hydra.Dsl.Python.Syntax: withStatementAsync :: TypedTerm WithStatement -> TypedTerm Bool
- Hydra.Dsl.Python.Syntax: withStatementBody :: TypedTerm WithStatement -> TypedTerm Block
- Hydra.Dsl.Python.Syntax: withStatementItems :: TypedTerm WithStatement -> TypedTerm [WithItem]
- Hydra.Dsl.Python.Syntax: withStatementTypeComment :: TypedTerm WithStatement -> TypedTerm (Maybe TypeComment)
- Hydra.Dsl.Python.Syntax: withStatementWithAsync :: TypedTerm WithStatement -> TypedTerm Bool -> TypedTerm WithStatement
- Hydra.Dsl.Python.Syntax: withStatementWithBody :: TypedTerm WithStatement -> TypedTerm Block -> TypedTerm WithStatement
- Hydra.Dsl.Python.Syntax: withStatementWithItems :: TypedTerm WithStatement -> TypedTerm [WithItem] -> TypedTerm WithStatement
- Hydra.Dsl.Python.Syntax: withStatementWithStatement :: TypedName WithStatement
- Hydra.Dsl.Python.Syntax: withStatementWithTypeComment :: TypedTerm WithStatement -> TypedTerm (Maybe TypeComment) -> TypedTerm WithStatement
- Hydra.Dsl.Python.Syntax: yieldExpressionFrom :: TypedTerm Expression -> TypedTerm YieldExpression
- Hydra.Dsl.Python.Syntax: yieldExpressionSimple :: TypedTerm [StarExpression] -> TypedTerm YieldExpression
- Hydra.Dsl.Python.Syntax: yieldExpressionYieldExpression :: TypedName YieldExpression
- Hydra.Dsl.Python.Syntax: yieldStatement :: TypedTerm YieldExpression -> TypedTerm YieldStatement
- Hydra.Dsl.Python.Syntax: yieldStatementYieldStatement :: TypedName YieldStatement
- Hydra.Dsl.Python.Utils: annotatedExpression :: TypedTerm (Maybe String) -> TypedTerm Expression -> TypedTerm Expression
- Hydra.Dsl.Python.Utils: annotatedStatement :: TypedTerm (Maybe String) -> TypedTerm Statement -> TypedTerm Statement
- Hydra.Dsl.Python.Utils: assignment :: TypedTerm Name -> TypedTerm AnnotatedRhs -> TypedTerm Statement
- Hydra.Dsl.Python.Utils: assignmentStatement :: TypedTerm Name -> TypedTerm Expression -> TypedTerm Statement
- Hydra.Dsl.Python.Utils: castTo :: TypedTerm Expression -> TypedTerm Expression -> TypedTerm Expression
- Hydra.Dsl.Python.Utils: commentStatement :: TypedTerm String -> TypedTerm Statement
- Hydra.Dsl.Python.Utils: decimalVariantMethods :: TypedTerm [Statement]
- Hydra.Dsl.Python.Utils: decodePyComparisonToPyAwaitPrimary :: TypedTerm Comparison -> TypedTerm (Maybe Primary)
- Hydra.Dsl.Python.Utils: decodePyConjunctionToPyPrimary :: TypedTerm Conjunction -> TypedTerm (Maybe Primary)
- Hydra.Dsl.Python.Utils: decodePyExpressionToPyPrimary :: TypedTerm Expression -> TypedTerm (Maybe Primary)
- Hydra.Dsl.Python.Utils: decodePyInversionToPyPrimary :: TypedTerm Inversion -> TypedTerm (Maybe Primary)
- Hydra.Dsl.Python.Utils: decodePyPowerToPyPrimary :: TypedTerm Power -> TypedTerm (Maybe Primary)
- Hydra.Dsl.Python.Utils: dottedAssignmentStatement :: TypedTerm Name -> TypedTerm Name -> TypedTerm Expression -> TypedTerm Statement
- Hydra.Dsl.Python.Utils: doubleQuotedString :: TypedTerm String -> TypedTerm Expression
- Hydra.Dsl.Python.Utils: findNamespaces :: TypedTerm (Set String) -> TypedTerm ModuleName -> TypedTerm [Definition] -> TypedTerm (ModuleNames DottedName)
- Hydra.Dsl.Python.Utils: functionCall :: TypedTerm Primary -> TypedTerm [Expression] -> TypedTerm Expression
- Hydra.Dsl.Python.Utils: getItemParams :: TypedTerm Parameters
- Hydra.Dsl.Python.Utils: indentedBlock :: TypedTerm (Maybe String) -> TypedTerm [[Statement]] -> TypedTerm Block
- Hydra.Dsl.Python.Utils: nameAndParams :: TypedTerm Name -> TypedTerm [Expression] -> TypedTerm Expression
- Hydra.Dsl.Python.Utils: newtypeStatement :: TypedTerm Name -> TypedTerm (Maybe String) -> TypedTerm Expression -> TypedTerm Statement
- Hydra.Dsl.Python.Utils: orExpression :: TypedTerm [Primary] -> TypedTerm Expression
- Hydra.Dsl.Python.Utils: primaryAndParams :: TypedTerm Primary -> TypedTerm [Expression] -> TypedTerm Expression
- Hydra.Dsl.Python.Utils: primaryWithExpressionSlices :: TypedTerm Primary -> TypedTerm [Expression] -> TypedTerm Primary
- Hydra.Dsl.Python.Utils: primaryWithRhs :: TypedTerm Primary -> TypedTerm PrimaryRhs -> TypedTerm Primary
- Hydra.Dsl.Python.Utils: primaryWithSlices :: TypedTerm Primary -> TypedTerm Slice -> TypedTerm [SliceOrStarredExpression] -> TypedTerm Primary
- Hydra.Dsl.Python.Utils: projectFromExpression :: TypedTerm Expression -> TypedTerm Name -> TypedTerm Expression
- Hydra.Dsl.Python.Utils: pyAssignmentToPyStatement :: TypedTerm Assignment -> TypedTerm Statement
- Hydra.Dsl.Python.Utils: pyAtomToPyExpression :: TypedTerm Atom -> TypedTerm Expression
- Hydra.Dsl.Python.Utils: pyBitwiseOrToPyConjunction :: TypedTerm BitwiseOr -> TypedTerm Conjunction
- Hydra.Dsl.Python.Utils: pyBitwiseOrToPyExpression :: TypedTerm BitwiseOr -> TypedTerm Expression
- Hydra.Dsl.Python.Utils: pyClassDefinitionToPyStatement :: TypedTerm ClassDefinition -> TypedTerm Statement
- Hydra.Dsl.Python.Utils: pyClosedPatternToPyPatterns :: TypedTerm ClosedPattern -> TypedTerm Patterns
- Hydra.Dsl.Python.Utils: pyConjunctionToPyExpression :: TypedTerm Conjunction -> TypedTerm Expression
- Hydra.Dsl.Python.Utils: pyExpressionToBitwiseOr :: TypedTerm Expression -> TypedTerm BitwiseOr
- Hydra.Dsl.Python.Utils: pyExpressionToDisjunction :: TypedTerm Expression -> TypedTerm Disjunction
- Hydra.Dsl.Python.Utils: pyExpressionToPyAnnotatedRhs :: TypedTerm Expression -> TypedTerm AnnotatedRhs
- Hydra.Dsl.Python.Utils: pyExpressionToPyPrimary :: TypedTerm Expression -> TypedTerm Primary
- Hydra.Dsl.Python.Utils: pyExpressionToPySimpleStatement :: TypedTerm Expression -> TypedTerm SimpleStatement
- Hydra.Dsl.Python.Utils: pyExpressionToPySlice :: TypedTerm Expression -> TypedTerm Slice
- Hydra.Dsl.Python.Utils: pyExpressionToPyStarNamedExpression :: TypedTerm Expression -> TypedTerm StarNamedExpression
- Hydra.Dsl.Python.Utils: pyExpressionToPyStatement :: TypedTerm Expression -> TypedTerm Statement
- Hydra.Dsl.Python.Utils: pyExpressionsToPyArgs :: TypedTerm [Expression] -> TypedTerm Args
- Hydra.Dsl.Python.Utils: pyList :: TypedTerm [Expression] -> TypedTerm List
- Hydra.Dsl.Python.Utils: pyNameToPyExpression :: TypedTerm Name -> TypedTerm Expression
- Hydra.Dsl.Python.Utils: pyNameToPyNamedExpression :: TypedTerm Name -> TypedTerm NamedExpression
- Hydra.Dsl.Python.Utils: pyNameToPyPrimary :: TypedTerm Name -> TypedTerm Primary
- Hydra.Dsl.Python.Utils: pyNameToPyStarTarget :: TypedTerm Name -> TypedTerm StarTarget
- Hydra.Dsl.Python.Utils: pyNameToPyTypeParameter :: TypedTerm Name -> TypedTerm TypeParameter
- Hydra.Dsl.Python.Utils: pyNone :: TypedTerm Name
- Hydra.Dsl.Python.Utils: pyPrimaryToPyBitwiseOr :: TypedTerm Primary -> TypedTerm BitwiseOr
- Hydra.Dsl.Python.Utils: pyPrimaryToPyBitwiseXor :: TypedTerm Primary -> TypedTerm BitwiseXor
- Hydra.Dsl.Python.Utils: pyPrimaryToPyConjunction :: TypedTerm Primary -> TypedTerm Conjunction
- Hydra.Dsl.Python.Utils: pyPrimaryToPyExpression :: TypedTerm Primary -> TypedTerm Expression
- Hydra.Dsl.Python.Utils: pyPrimaryToPySlice :: TypedTerm Primary -> TypedTerm Slice
- Hydra.Dsl.Python.Utils: pySimpleStatementToPyStatement :: TypedTerm SimpleStatement -> TypedTerm Statement
- Hydra.Dsl.Python.Utils: raiseAssertionError :: TypedTerm String -> TypedTerm Statement
- Hydra.Dsl.Python.Utils: raiseTypeError :: TypedTerm String -> TypedTerm Statement
- Hydra.Dsl.Python.Utils: returnSingle :: TypedTerm Expression -> TypedTerm Statement
- Hydra.Dsl.Python.Utils: selfOnlyParams :: TypedTerm Parameters
- Hydra.Dsl.Python.Utils: selfOtherParams :: TypedTerm Parameters
- Hydra.Dsl.Python.Utils: singleQuotedString :: TypedTerm String -> TypedTerm Expression
- Hydra.Dsl.Python.Utils: stringToPyExpression :: TypedTerm QuoteStyle -> TypedTerm String -> TypedTerm Expression
- Hydra.Dsl.Python.Utils: targetPythonVersion :: TypedTerm PythonVersion
- Hydra.Dsl.Python.Utils: tripleQuotedString :: TypedTerm String -> TypedTerm Expression
- Hydra.Dsl.Python.Utils: typeAliasStatement :: TypedTerm Name -> TypedTerm [TypeParameter] -> TypedTerm (Maybe String) -> TypedTerm Expression -> TypedTerm Statement
- Hydra.Dsl.Python.Utils: typeAliasStatement310 :: TypedTerm Name -> TypedTerm t0 -> TypedTerm (Maybe String) -> TypedTerm Expression -> TypedTerm Statement
- Hydra.Dsl.Python.Utils: unionTypeClassStatements310 :: TypedTerm Name -> TypedTerm (Maybe String) -> TypedTerm Expression -> TypedTerm [Statement] -> TypedTerm [Statement]
- Hydra.Dsl.Python.Utils: unitVariantMethods :: TypedTerm Name -> TypedTerm [Statement]
- Hydra.Python.Environment: instance GHC.Read.Read Hydra.Python.Environment.PythonModuleMetadata
- Hydra.Python.Environment: instance GHC.Read.Read Hydra.Python.Environment.PythonVersion
- Hydra.Python.Environment: instance GHC.Show.Show Hydra.Python.Environment.PythonModuleMetadata
- Hydra.Python.Environment: instance GHC.Show.Show Hydra.Python.Environment.PythonVersion
- Hydra.Python.Pyproject: instance GHC.Read.Read Hydra.Python.Pyproject.PyProjectBuildConfiguration
- Hydra.Python.Pyproject: instance GHC.Show.Show Hydra.Python.Pyproject.PyProjectBuildConfiguration
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.AnnotatedRhs
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.AnnotatedStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Annotation
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Args
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.AsPattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.AssertStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Assignment
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.AssignmentExpression
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Atom
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Attribute
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.AugAssign
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.AugAssignment
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.AwaitPrimary
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.BitwiseAnd
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.BitwiseOr
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.BitwiseXor
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Block
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.CapturePattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.CaseBlock
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ClassDefinition
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ClassPattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ClosedPattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.CommaStarEtc
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.CompareOp
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.CompareOpBitwiseOrPair
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Comparison
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ComplexNumber
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.CompoundStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Conditional
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Conjunction
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Decorators
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Default
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.DelStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.DelTAtom
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.DelTarget
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.DelTargets
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Dict
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Dictcomp
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Disjunction
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.DottedAsName
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.DottedName
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.DoubleStarPattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.DoubleStarTypeParameter
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.DoubleStarredKvpair
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Eval
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ExceptBlock
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ExceptExpression
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ExceptStarBlock
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Expression
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Factor
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.File
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ForIfClause
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ForIfClauses
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ForStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.FuncTypeComment
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.FunctionDefRaw
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.FunctionDefinition
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Genexp
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.GenexpHead
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Group
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.GroupPattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Guard
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.IfStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.IfTail
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ImaginaryNumber
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ImportFrom
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ImportFromAsName
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ImportFromTargets
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ImportName
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ImportStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Interactive
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Inversion
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ItemsPattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.KeyValuePattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.KeywordPattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.KeywordPatterns
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Keywords
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Kvpair
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Kwarg
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.KwargOrDoubleStarred
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.KwargOrStarred
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Lambda
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.LambdaKwds
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.LambdaParamMaybeDefault
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.LambdaParamNoDefault
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.LambdaParamWithDefault
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.LambdaParameters
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.LambdaSlashNoDefault
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.LambdaSlashWithDefault
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.LambdaStarEtc
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.List
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Listcomp
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.LiteralExpression
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.LiteralExpressionOrAttribute
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.MappingPattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.MatchStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.MaybeSequencePattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.MaybeStarPattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Module
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Name
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.NameOrAttribute
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.NamedExpression
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.NoDefaultStarAnnotationStarEtc
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.NoDefaultStarEtc
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Number
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.OpenSequencePattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.OrPattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Param
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ParamMaybeDefault
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ParamNoDefault
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ParamNoDefaultParameters
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ParamNoDefaultStarAnnotation
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ParamStarAnnotation
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ParamWithDefault
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ParamWithDefaultParameters
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Parameters
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Pattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.PatternCaptureTarget
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Patterns
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.PlusOrMinus
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.PosArg
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.PositionalPatterns
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Power
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Primary
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.PrimaryRhs
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.PrimaryWithRhs
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.QuoteStyle
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.RaiseExpression
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.RaiseStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.RealNumber
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.RelativeImportPrefix
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ReturnStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.SequencePattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Set
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Setcomp
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ShiftExpression
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ShiftLhs
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ShiftOp
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.SignedNumber
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.SignedRealNumber
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.SimpleStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.SimpleTypeParameter
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.SingleSubscriptAttributeTarget
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.SingleTarget
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.SlashNoDefault
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.SlashNoDefaultParameters
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.SlashWithDefault
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.SlashWithDefaultParameters
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Slice
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.SliceExpression
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.SliceOrStarredExpression
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Slices
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.StarAnnotation
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.StarAtom
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.StarEtc
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.StarExpression
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.StarNamedExpression
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.StarNamedExpressions
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.StarPattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.StarTarget
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.StarTargetsListSeq
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.StarTargetsTupleSeq
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.StarTypeParameter
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.StarredExpression
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Statement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.StringPrefix
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.String_
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.SubjectExpression
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Sum
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.SumLhs
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.SumOp
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TPrimary
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TPrimaryAndArguments
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TPrimaryAndGenexp
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TPrimaryAndName
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TPrimaryAndSlices
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TargetWithStarAtom
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Term
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TermLhs
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TermOp
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TryExceptStarStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TryExceptStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TryFinallyStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TryStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Tuple
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TypeAlias
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TypeComment
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TypeExpression
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TypeParameter
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TypedAssignment
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.UntypedAssignment
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ValuePattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.WhileStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.WithItem
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.WithStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.YieldExpression
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.YieldStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.AnnotatedRhs
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.AnnotatedStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Annotation
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Args
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.AsPattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.AssertStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Assignment
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.AssignmentExpression
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Atom
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Attribute
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.AugAssign
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.AugAssignment
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.AwaitPrimary
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.BitwiseAnd
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.BitwiseOr
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.BitwiseXor
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Block
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.CapturePattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.CaseBlock
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ClassDefinition
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ClassPattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ClosedPattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.CommaStarEtc
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.CompareOp
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.CompareOpBitwiseOrPair
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Comparison
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ComplexNumber
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.CompoundStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Conditional
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Conjunction
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Decorators
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Default
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.DelStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.DelTAtom
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.DelTarget
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.DelTargets
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Dict
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Dictcomp
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Disjunction
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.DottedAsName
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.DottedName
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.DoubleStarPattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.DoubleStarTypeParameter
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.DoubleStarredKvpair
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Eval
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ExceptBlock
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ExceptExpression
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ExceptStarBlock
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Expression
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Factor
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.File
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ForIfClause
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ForIfClauses
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ForStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.FuncTypeComment
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.FunctionDefRaw
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.FunctionDefinition
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Genexp
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.GenexpHead
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Group
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.GroupPattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Guard
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.IfStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.IfTail
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ImaginaryNumber
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ImportFrom
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ImportFromAsName
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ImportFromTargets
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ImportName
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ImportStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Interactive
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Inversion
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ItemsPattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.KeyValuePattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.KeywordPattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.KeywordPatterns
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Keywords
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Kvpair
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Kwarg
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.KwargOrDoubleStarred
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.KwargOrStarred
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Lambda
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.LambdaKwds
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.LambdaParamMaybeDefault
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.LambdaParamNoDefault
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.LambdaParamWithDefault
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.LambdaParameters
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.LambdaSlashNoDefault
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.LambdaSlashWithDefault
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.LambdaStarEtc
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.List
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Listcomp
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.LiteralExpression
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.LiteralExpressionOrAttribute
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.MappingPattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.MatchStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.MaybeSequencePattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.MaybeStarPattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Module
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Name
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.NameOrAttribute
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.NamedExpression
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.NoDefaultStarAnnotationStarEtc
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.NoDefaultStarEtc
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Number
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.OpenSequencePattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.OrPattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Param
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ParamMaybeDefault
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ParamNoDefault
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ParamNoDefaultParameters
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ParamNoDefaultStarAnnotation
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ParamStarAnnotation
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ParamWithDefault
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ParamWithDefaultParameters
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Parameters
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Pattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.PatternCaptureTarget
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Patterns
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.PlusOrMinus
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.PosArg
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.PositionalPatterns
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Power
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Primary
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.PrimaryRhs
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.PrimaryWithRhs
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.QuoteStyle
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.RaiseExpression
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.RaiseStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.RealNumber
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.RelativeImportPrefix
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ReturnStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.SequencePattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Set
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Setcomp
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ShiftExpression
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ShiftLhs
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ShiftOp
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.SignedNumber
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.SignedRealNumber
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.SimpleStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.SimpleTypeParameter
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.SingleSubscriptAttributeTarget
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.SingleTarget
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.SlashNoDefault
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.SlashNoDefaultParameters
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.SlashWithDefault
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.SlashWithDefaultParameters
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Slice
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.SliceExpression
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.SliceOrStarredExpression
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Slices
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.StarAnnotation
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.StarAtom
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.StarEtc
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.StarExpression
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.StarNamedExpression
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.StarNamedExpressions
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.StarPattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.StarTarget
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.StarTargetsListSeq
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.StarTargetsTupleSeq
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.StarTypeParameter
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.StarredExpression
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Statement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.StringPrefix
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.String_
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.SubjectExpression
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Sum
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.SumLhs
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.SumOp
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TPrimary
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TPrimaryAndArguments
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TPrimaryAndGenexp
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TPrimaryAndName
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TPrimaryAndSlices
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TargetWithStarAtom
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Term
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TermLhs
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TermOp
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TryExceptStarStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TryExceptStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TryFinallyStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TryStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Tuple
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TypeAlias
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TypeComment
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TypeExpression
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TypeParameter
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TypedAssignment
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.UntypedAssignment
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ValuePattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.WhileStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.WithItem
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.WithStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.YieldExpression
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.YieldStatement
+ Hydra.Python.Dsl.Environment: pyGraph :: TypedTerm Graph -> TypedTerm PythonModuleMetadata -> TypedTerm PyGraph
+ Hydra.Python.Dsl.Environment: pyGraphGraph :: TypedTerm PyGraph -> TypedTerm Graph
+ Hydra.Python.Dsl.Environment: pyGraphMetadata :: TypedTerm PyGraph -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pyGraphPyGraph :: TypedName PyGraph
+ Hydra.Python.Dsl.Environment: pyGraphWithGraph :: TypedTerm PyGraph -> TypedTerm Graph -> TypedTerm PyGraph
+ Hydra.Python.Dsl.Environment: pyGraphWithMetadata :: TypedTerm PyGraph -> TypedTerm PythonModuleMetadata -> TypedTerm PyGraph
+ Hydra.Python.Dsl.Environment: pythonEnvironment :: TypedTerm (ModuleNames DottedName) -> TypedTerm ([Name], Map Name Name) -> TypedTerm Graph -> TypedTerm (Set Name) -> TypedTerm PythonVersion -> TypedTerm Bool -> TypedTerm (Set Name) -> TypedTerm (Set String) -> TypedTerm PythonEnvironment
+ Hydra.Python.Dsl.Environment: pythonEnvironmentBoundTypeVariables :: TypedTerm PythonEnvironment -> TypedTerm ([Name], Map Name Name)
+ Hydra.Python.Dsl.Environment: pythonEnvironmentGraph :: TypedTerm PythonEnvironment -> TypedTerm Graph
+ Hydra.Python.Dsl.Environment: pythonEnvironmentInlineVariables :: TypedTerm PythonEnvironment -> TypedTerm (Set Name)
+ Hydra.Python.Dsl.Environment: pythonEnvironmentNamespaces :: TypedTerm PythonEnvironment -> TypedTerm (ModuleNames DottedName)
+ Hydra.Python.Dsl.Environment: pythonEnvironmentNullaryBindings :: TypedTerm PythonEnvironment -> TypedTerm (Set Name)
+ Hydra.Python.Dsl.Environment: pythonEnvironmentOverlaySubs :: TypedTerm PythonEnvironment -> TypedTerm (Set String)
+ Hydra.Python.Dsl.Environment: pythonEnvironmentPythonEnvironment :: TypedName PythonEnvironment
+ Hydra.Python.Dsl.Environment: pythonEnvironmentSkipCasts :: TypedTerm PythonEnvironment -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonEnvironmentVersion :: TypedTerm PythonEnvironment -> TypedTerm PythonVersion
+ Hydra.Python.Dsl.Environment: pythonEnvironmentWithBoundTypeVariables :: TypedTerm PythonEnvironment -> TypedTerm ([Name], Map Name Name) -> TypedTerm PythonEnvironment
+ Hydra.Python.Dsl.Environment: pythonEnvironmentWithGraph :: TypedTerm PythonEnvironment -> TypedTerm Graph -> TypedTerm PythonEnvironment
+ Hydra.Python.Dsl.Environment: pythonEnvironmentWithInlineVariables :: TypedTerm PythonEnvironment -> TypedTerm (Set Name) -> TypedTerm PythonEnvironment
+ Hydra.Python.Dsl.Environment: pythonEnvironmentWithNamespaces :: TypedTerm PythonEnvironment -> TypedTerm (ModuleNames DottedName) -> TypedTerm PythonEnvironment
+ Hydra.Python.Dsl.Environment: pythonEnvironmentWithNullaryBindings :: TypedTerm PythonEnvironment -> TypedTerm (Set Name) -> TypedTerm PythonEnvironment
+ Hydra.Python.Dsl.Environment: pythonEnvironmentWithOverlaySubs :: TypedTerm PythonEnvironment -> TypedTerm (Set String) -> TypedTerm PythonEnvironment
+ Hydra.Python.Dsl.Environment: pythonEnvironmentWithSkipCasts :: TypedTerm PythonEnvironment -> TypedTerm Bool -> TypedTerm PythonEnvironment
+ Hydra.Python.Dsl.Environment: pythonEnvironmentWithVersion :: TypedTerm PythonEnvironment -> TypedTerm PythonVersion -> TypedTerm PythonEnvironment
+ Hydra.Python.Dsl.Environment: pythonModuleMetadata :: TypedTerm (ModuleNames DottedName) -> TypedTerm (Set Name) -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataNamespaces :: TypedTerm PythonModuleMetadata -> TypedTerm (ModuleNames DottedName)
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataPythonModuleMetadata :: TypedName PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataTypeVariables :: TypedTerm PythonModuleMetadata -> TypedTerm (Set Name)
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesAnnotated :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesCallable :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesCast :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesDataclass :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesDecimal :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesEither :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesEnum :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesFrozenDict :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesFrozenList :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesFrozenSet :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesGeneric :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesJust :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesLeft :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesLruCache :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesMaybe :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesName :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesNode :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesNothing :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesRight :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesTypeAlias :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesTypeVar :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithNamespaces :: TypedTerm PythonModuleMetadata -> TypedTerm (ModuleNames DottedName) -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithTypeVariables :: TypedTerm PythonModuleMetadata -> TypedTerm (Set Name) -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesAnnotated :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesCallable :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesCast :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesDataclass :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesDecimal :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesEither :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesEnum :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesFrozenDict :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesFrozenList :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesFrozenSet :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesGeneric :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesJust :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesLeft :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesLruCache :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesMaybe :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesName :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesNode :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesNothing :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesRight :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesTypeAlias :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesTypeVar :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonVersionPython310 :: TypedTerm PythonVersion
+ Hydra.Python.Dsl.Environment: pythonVersionPython312 :: TypedTerm PythonVersion
+ Hydra.Python.Dsl.Environment: pythonVersionPythonVersion :: TypedName PythonVersion
+ Hydra.Python.Dsl.Names: encodeConstantForFieldName :: TypedTerm t0 -> TypedTerm t1 -> TypedTerm Name -> TypedTerm Name
+ Hydra.Python.Dsl.Names: encodeConstantForTypeName :: TypedTerm t0 -> TypedTerm t1 -> TypedTerm Name
+ Hydra.Python.Dsl.Names: encodeEnumValue :: TypedTerm PythonEnvironment -> TypedTerm Name -> TypedTerm Name
+ Hydra.Python.Dsl.Names: encodeFieldName :: TypedTerm PythonEnvironment -> TypedTerm Name -> TypedTerm Name
+ Hydra.Python.Dsl.Names: encodeName :: TypedTerm Bool -> TypedTerm CaseConvention -> TypedTerm PythonEnvironment -> TypedTerm Name -> TypedTerm Name
+ Hydra.Python.Dsl.Names: encodeNameQualified :: TypedTerm PythonEnvironment -> TypedTerm Name -> TypedTerm Name
+ Hydra.Python.Dsl.Names: encodeNamespace :: TypedTerm ModuleName -> TypedTerm DottedName
+ Hydra.Python.Dsl.Names: encodeNamespaceStringWithOverrides :: TypedTerm (Set String) -> TypedTerm ModuleName -> TypedTerm String
+ Hydra.Python.Dsl.Names: encodeNamespaceWithOverrides :: TypedTerm (Set String) -> TypedTerm ModuleName -> TypedTerm DottedName
+ Hydra.Python.Dsl.Names: encodeTypeVariable :: TypedTerm Name -> TypedTerm Name
+ Hydra.Python.Dsl.Names: overlayPythonModuleAliases :: TypedTerm (Map ModuleName String)
+ Hydra.Python.Dsl.Names: sanitizePythonName :: TypedTerm String -> TypedTerm String
+ Hydra.Python.Dsl.Names: termVariableReference :: TypedTerm PythonEnvironment -> TypedTerm Name -> TypedTerm Expression
+ Hydra.Python.Dsl.Names: typeVariableReference :: TypedTerm PythonEnvironment -> TypedTerm Name -> TypedTerm Expression
+ Hydra.Python.Dsl.Names: useFutureAnnotations :: TypedTerm Bool
+ Hydra.Python.Dsl.Names: variableReference :: TypedTerm CaseConvention -> TypedTerm Bool -> TypedTerm PythonEnvironment -> TypedTerm Name -> TypedTerm Expression
+ Hydra.Python.Dsl.Names: variantName :: TypedTerm Bool -> TypedTerm PythonEnvironment -> TypedTerm Name -> TypedTerm Name -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: annotatedRhsAnnotatedRhs :: TypedName AnnotatedRhs
+ Hydra.Python.Dsl.Syntax: annotatedRhsStar :: TypedTerm [StarExpression] -> TypedTerm AnnotatedRhs
+ Hydra.Python.Dsl.Syntax: annotatedRhsYield :: TypedTerm YieldExpression -> TypedTerm AnnotatedRhs
+ Hydra.Python.Dsl.Syntax: annotatedStatement :: TypedTerm String -> TypedTerm Statement -> TypedTerm AnnotatedStatement
+ Hydra.Python.Dsl.Syntax: annotatedStatementAnnotatedStatement :: TypedName AnnotatedStatement
+ Hydra.Python.Dsl.Syntax: annotatedStatementComment :: TypedTerm AnnotatedStatement -> TypedTerm String
+ Hydra.Python.Dsl.Syntax: annotatedStatementStatement :: TypedTerm AnnotatedStatement -> TypedTerm Statement
+ Hydra.Python.Dsl.Syntax: annotatedStatementWithComment :: TypedTerm AnnotatedStatement -> TypedTerm String -> TypedTerm AnnotatedStatement
+ Hydra.Python.Dsl.Syntax: annotatedStatementWithStatement :: TypedTerm AnnotatedStatement -> TypedTerm Statement -> TypedTerm AnnotatedStatement
+ Hydra.Python.Dsl.Syntax: annotation :: TypedTerm Expression -> TypedTerm Annotation
+ Hydra.Python.Dsl.Syntax: annotationAnnotation :: TypedName Annotation
+ Hydra.Python.Dsl.Syntax: args :: TypedTerm [PosArg] -> TypedTerm [KwargOrStarred] -> TypedTerm [KwargOrDoubleStarred] -> TypedTerm Args
+ Hydra.Python.Dsl.Syntax: argsArgs :: TypedName Args
+ Hydra.Python.Dsl.Syntax: argsKwargOrDoubleStarred :: TypedTerm Args -> TypedTerm [KwargOrDoubleStarred]
+ Hydra.Python.Dsl.Syntax: argsKwargOrStarred :: TypedTerm Args -> TypedTerm [KwargOrStarred]
+ Hydra.Python.Dsl.Syntax: argsPositional :: TypedTerm Args -> TypedTerm [PosArg]
+ Hydra.Python.Dsl.Syntax: argsWithKwargOrDoubleStarred :: TypedTerm Args -> TypedTerm [KwargOrDoubleStarred] -> TypedTerm Args
+ Hydra.Python.Dsl.Syntax: argsWithKwargOrStarred :: TypedTerm Args -> TypedTerm [KwargOrStarred] -> TypedTerm Args
+ Hydra.Python.Dsl.Syntax: argsWithPositional :: TypedTerm Args -> TypedTerm [PosArg] -> TypedTerm Args
+ Hydra.Python.Dsl.Syntax: asPattern :: TypedTerm OrPattern -> TypedTerm PatternCaptureTarget -> TypedTerm AsPattern
+ Hydra.Python.Dsl.Syntax: asPatternAs :: TypedTerm AsPattern -> TypedTerm PatternCaptureTarget
+ Hydra.Python.Dsl.Syntax: asPatternAsPattern :: TypedName AsPattern
+ Hydra.Python.Dsl.Syntax: asPatternPattern :: TypedTerm AsPattern -> TypedTerm OrPattern
+ Hydra.Python.Dsl.Syntax: asPatternWithAs :: TypedTerm AsPattern -> TypedTerm PatternCaptureTarget -> TypedTerm AsPattern
+ Hydra.Python.Dsl.Syntax: asPatternWithPattern :: TypedTerm AsPattern -> TypedTerm OrPattern -> TypedTerm AsPattern
+ Hydra.Python.Dsl.Syntax: assertStatement :: TypedTerm Expression -> TypedTerm (Maybe Expression) -> TypedTerm AssertStatement
+ Hydra.Python.Dsl.Syntax: assertStatementAssertStatement :: TypedName AssertStatement
+ Hydra.Python.Dsl.Syntax: assertStatementExpression1 :: TypedTerm AssertStatement -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: assertStatementExpression2 :: TypedTerm AssertStatement -> TypedTerm (Maybe Expression)
+ Hydra.Python.Dsl.Syntax: assertStatementWithExpression1 :: TypedTerm AssertStatement -> TypedTerm Expression -> TypedTerm AssertStatement
+ Hydra.Python.Dsl.Syntax: assertStatementWithExpression2 :: TypedTerm AssertStatement -> TypedTerm (Maybe Expression) -> TypedTerm AssertStatement
+ Hydra.Python.Dsl.Syntax: assignmentAssignment :: TypedName Assignment
+ Hydra.Python.Dsl.Syntax: assignmentAug :: TypedTerm AugAssignment -> TypedTerm Assignment
+ Hydra.Python.Dsl.Syntax: assignmentExpression :: TypedTerm Name -> TypedTerm Expression -> TypedTerm AssignmentExpression
+ Hydra.Python.Dsl.Syntax: assignmentExpressionAssignmentExpression :: TypedName AssignmentExpression
+ Hydra.Python.Dsl.Syntax: assignmentExpressionExpression :: TypedTerm AssignmentExpression -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: assignmentExpressionName :: TypedTerm AssignmentExpression -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: assignmentExpressionWithExpression :: TypedTerm AssignmentExpression -> TypedTerm Expression -> TypedTerm AssignmentExpression
+ Hydra.Python.Dsl.Syntax: assignmentExpressionWithName :: TypedTerm AssignmentExpression -> TypedTerm Name -> TypedTerm AssignmentExpression
+ Hydra.Python.Dsl.Syntax: assignmentTyped :: TypedTerm TypedAssignment -> TypedTerm Assignment
+ Hydra.Python.Dsl.Syntax: assignmentUntyped :: TypedTerm UntypedAssignment -> TypedTerm Assignment
+ Hydra.Python.Dsl.Syntax: atomAtom :: TypedName Atom
+ Hydra.Python.Dsl.Syntax: atomDict :: TypedTerm Dict -> TypedTerm Atom
+ Hydra.Python.Dsl.Syntax: atomDictcomp :: TypedTerm Dictcomp -> TypedTerm Atom
+ Hydra.Python.Dsl.Syntax: atomEllipsis :: TypedTerm Atom
+ Hydra.Python.Dsl.Syntax: atomFalse :: TypedTerm Atom
+ Hydra.Python.Dsl.Syntax: atomGenexp :: TypedTerm Genexp -> TypedTerm Atom
+ Hydra.Python.Dsl.Syntax: atomGroup :: TypedTerm Group -> TypedTerm Atom
+ Hydra.Python.Dsl.Syntax: atomList :: TypedTerm List -> TypedTerm Atom
+ Hydra.Python.Dsl.Syntax: atomListcomp :: TypedTerm Listcomp -> TypedTerm Atom
+ Hydra.Python.Dsl.Syntax: atomName :: TypedTerm Name -> TypedTerm Atom
+ Hydra.Python.Dsl.Syntax: atomNone :: TypedTerm Atom
+ Hydra.Python.Dsl.Syntax: atomNumber :: TypedTerm Number -> TypedTerm Atom
+ Hydra.Python.Dsl.Syntax: atomSet :: TypedTerm Set -> TypedTerm Atom
+ Hydra.Python.Dsl.Syntax: atomSetcomp :: TypedTerm Setcomp -> TypedTerm Atom
+ Hydra.Python.Dsl.Syntax: atomString :: TypedTerm String_ -> TypedTerm Atom
+ Hydra.Python.Dsl.Syntax: atomTrue :: TypedTerm Atom
+ Hydra.Python.Dsl.Syntax: atomTuple :: TypedTerm Tuple -> TypedTerm Atom
+ Hydra.Python.Dsl.Syntax: attribute :: TypedTerm [Name] -> TypedTerm Attribute
+ Hydra.Python.Dsl.Syntax: attributeAttribute :: TypedName Attribute
+ Hydra.Python.Dsl.Syntax: augAssignAmpersandEqual :: TypedTerm AugAssign
+ Hydra.Python.Dsl.Syntax: augAssignAtEqual :: TypedTerm AugAssign
+ Hydra.Python.Dsl.Syntax: augAssignAugAssign :: TypedName AugAssign
+ Hydra.Python.Dsl.Syntax: augAssignBarEqual :: TypedTerm AugAssign
+ Hydra.Python.Dsl.Syntax: augAssignCaretEqual :: TypedTerm AugAssign
+ Hydra.Python.Dsl.Syntax: augAssignDoubleSlashEqual :: TypedTerm AugAssign
+ Hydra.Python.Dsl.Syntax: augAssignLeftShiftEqual :: TypedTerm AugAssign
+ Hydra.Python.Dsl.Syntax: augAssignMinusEqual :: TypedTerm AugAssign
+ Hydra.Python.Dsl.Syntax: augAssignPercentEqual :: TypedTerm AugAssign
+ Hydra.Python.Dsl.Syntax: augAssignPlusEqual :: TypedTerm AugAssign
+ Hydra.Python.Dsl.Syntax: augAssignRightShiftEqual :: TypedTerm AugAssign
+ Hydra.Python.Dsl.Syntax: augAssignSlashEqual :: TypedTerm AugAssign
+ Hydra.Python.Dsl.Syntax: augAssignStarStarEqual :: TypedTerm AugAssign
+ Hydra.Python.Dsl.Syntax: augAssignTimesEqual :: TypedTerm AugAssign
+ Hydra.Python.Dsl.Syntax: augAssignment :: TypedTerm SingleTarget -> TypedTerm AugAssign -> TypedTerm AnnotatedRhs -> TypedTerm AugAssignment
+ Hydra.Python.Dsl.Syntax: augAssignmentAugAssignment :: TypedName AugAssignment
+ Hydra.Python.Dsl.Syntax: augAssignmentAugassign :: TypedTerm AugAssignment -> TypedTerm AugAssign
+ Hydra.Python.Dsl.Syntax: augAssignmentLhs :: TypedTerm AugAssignment -> TypedTerm SingleTarget
+ Hydra.Python.Dsl.Syntax: augAssignmentRhs :: TypedTerm AugAssignment -> TypedTerm AnnotatedRhs
+ Hydra.Python.Dsl.Syntax: augAssignmentWithAugassign :: TypedTerm AugAssignment -> TypedTerm AugAssign -> TypedTerm AugAssignment
+ Hydra.Python.Dsl.Syntax: augAssignmentWithLhs :: TypedTerm AugAssignment -> TypedTerm SingleTarget -> TypedTerm AugAssignment
+ Hydra.Python.Dsl.Syntax: augAssignmentWithRhs :: TypedTerm AugAssignment -> TypedTerm AnnotatedRhs -> TypedTerm AugAssignment
+ Hydra.Python.Dsl.Syntax: awaitPrimary :: TypedTerm Bool -> TypedTerm Primary -> TypedTerm AwaitPrimary
+ Hydra.Python.Dsl.Syntax: awaitPrimaryAwait :: TypedTerm AwaitPrimary -> TypedTerm Bool
+ Hydra.Python.Dsl.Syntax: awaitPrimaryAwaitPrimary :: TypedName AwaitPrimary
+ Hydra.Python.Dsl.Syntax: awaitPrimaryPrimary :: TypedTerm AwaitPrimary -> TypedTerm Primary
+ Hydra.Python.Dsl.Syntax: awaitPrimaryWithAwait :: TypedTerm AwaitPrimary -> TypedTerm Bool -> TypedTerm AwaitPrimary
+ Hydra.Python.Dsl.Syntax: awaitPrimaryWithPrimary :: TypedTerm AwaitPrimary -> TypedTerm Primary -> TypedTerm AwaitPrimary
+ Hydra.Python.Dsl.Syntax: bitwiseAnd :: TypedTerm (Maybe BitwiseAnd) -> TypedTerm ShiftExpression -> TypedTerm BitwiseAnd
+ Hydra.Python.Dsl.Syntax: bitwiseAndBitwiseAnd :: TypedName BitwiseAnd
+ Hydra.Python.Dsl.Syntax: bitwiseAndLhs :: TypedTerm BitwiseAnd -> TypedTerm (Maybe BitwiseAnd)
+ Hydra.Python.Dsl.Syntax: bitwiseAndRhs :: TypedTerm BitwiseAnd -> TypedTerm ShiftExpression
+ Hydra.Python.Dsl.Syntax: bitwiseAndWithLhs :: TypedTerm BitwiseAnd -> TypedTerm (Maybe BitwiseAnd) -> TypedTerm BitwiseAnd
+ Hydra.Python.Dsl.Syntax: bitwiseAndWithRhs :: TypedTerm BitwiseAnd -> TypedTerm ShiftExpression -> TypedTerm BitwiseAnd
+ Hydra.Python.Dsl.Syntax: bitwiseOr :: TypedTerm (Maybe BitwiseOr) -> TypedTerm BitwiseXor -> TypedTerm BitwiseOr
+ Hydra.Python.Dsl.Syntax: bitwiseOrBitwiseOr :: TypedName BitwiseOr
+ Hydra.Python.Dsl.Syntax: bitwiseOrLhs :: TypedTerm BitwiseOr -> TypedTerm (Maybe BitwiseOr)
+ Hydra.Python.Dsl.Syntax: bitwiseOrRhs :: TypedTerm BitwiseOr -> TypedTerm BitwiseXor
+ Hydra.Python.Dsl.Syntax: bitwiseOrWithLhs :: TypedTerm BitwiseOr -> TypedTerm (Maybe BitwiseOr) -> TypedTerm BitwiseOr
+ Hydra.Python.Dsl.Syntax: bitwiseOrWithRhs :: TypedTerm BitwiseOr -> TypedTerm BitwiseXor -> TypedTerm BitwiseOr
+ Hydra.Python.Dsl.Syntax: bitwiseXor :: TypedTerm (Maybe BitwiseXor) -> TypedTerm BitwiseAnd -> TypedTerm BitwiseXor
+ Hydra.Python.Dsl.Syntax: bitwiseXorBitwiseXor :: TypedName BitwiseXor
+ Hydra.Python.Dsl.Syntax: bitwiseXorLhs :: TypedTerm BitwiseXor -> TypedTerm (Maybe BitwiseXor)
+ Hydra.Python.Dsl.Syntax: bitwiseXorRhs :: TypedTerm BitwiseXor -> TypedTerm BitwiseAnd
+ Hydra.Python.Dsl.Syntax: bitwiseXorWithLhs :: TypedTerm BitwiseXor -> TypedTerm (Maybe BitwiseXor) -> TypedTerm BitwiseXor
+ Hydra.Python.Dsl.Syntax: bitwiseXorWithRhs :: TypedTerm BitwiseXor -> TypedTerm BitwiseAnd -> TypedTerm BitwiseXor
+ Hydra.Python.Dsl.Syntax: blockBlock :: TypedName Block
+ Hydra.Python.Dsl.Syntax: blockIndented :: TypedTerm [[Statement]] -> TypedTerm Block
+ Hydra.Python.Dsl.Syntax: blockSimple :: TypedTerm [SimpleStatement] -> TypedTerm Block
+ Hydra.Python.Dsl.Syntax: capturePattern :: TypedTerm PatternCaptureTarget -> TypedTerm CapturePattern
+ Hydra.Python.Dsl.Syntax: capturePatternCapturePattern :: TypedName CapturePattern
+ Hydra.Python.Dsl.Syntax: caseBlock :: TypedTerm Patterns -> TypedTerm (Maybe Guard) -> TypedTerm Block -> TypedTerm CaseBlock
+ Hydra.Python.Dsl.Syntax: caseBlockBody :: TypedTerm CaseBlock -> TypedTerm Block
+ Hydra.Python.Dsl.Syntax: caseBlockCaseBlock :: TypedName CaseBlock
+ Hydra.Python.Dsl.Syntax: caseBlockGuard :: TypedTerm CaseBlock -> TypedTerm (Maybe Guard)
+ Hydra.Python.Dsl.Syntax: caseBlockPatterns :: TypedTerm CaseBlock -> TypedTerm Patterns
+ Hydra.Python.Dsl.Syntax: caseBlockWithBody :: TypedTerm CaseBlock -> TypedTerm Block -> TypedTerm CaseBlock
+ Hydra.Python.Dsl.Syntax: caseBlockWithGuard :: TypedTerm CaseBlock -> TypedTerm (Maybe Guard) -> TypedTerm CaseBlock
+ Hydra.Python.Dsl.Syntax: caseBlockWithPatterns :: TypedTerm CaseBlock -> TypedTerm Patterns -> TypedTerm CaseBlock
+ Hydra.Python.Dsl.Syntax: classDefinition :: TypedTerm (Maybe Decorators) -> TypedTerm Name -> TypedTerm [TypeParameter] -> TypedTerm (Maybe Args) -> TypedTerm Block -> TypedTerm ClassDefinition
+ Hydra.Python.Dsl.Syntax: classDefinitionArguments :: TypedTerm ClassDefinition -> TypedTerm (Maybe Args)
+ Hydra.Python.Dsl.Syntax: classDefinitionBody :: TypedTerm ClassDefinition -> TypedTerm Block
+ Hydra.Python.Dsl.Syntax: classDefinitionClassDefinition :: TypedName ClassDefinition
+ Hydra.Python.Dsl.Syntax: classDefinitionDecorators :: TypedTerm ClassDefinition -> TypedTerm (Maybe Decorators)
+ Hydra.Python.Dsl.Syntax: classDefinitionName :: TypedTerm ClassDefinition -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: classDefinitionTypeParams :: TypedTerm ClassDefinition -> TypedTerm [TypeParameter]
+ Hydra.Python.Dsl.Syntax: classDefinitionWithArguments :: TypedTerm ClassDefinition -> TypedTerm (Maybe Args) -> TypedTerm ClassDefinition
+ Hydra.Python.Dsl.Syntax: classDefinitionWithBody :: TypedTerm ClassDefinition -> TypedTerm Block -> TypedTerm ClassDefinition
+ Hydra.Python.Dsl.Syntax: classDefinitionWithDecorators :: TypedTerm ClassDefinition -> TypedTerm (Maybe Decorators) -> TypedTerm ClassDefinition
+ Hydra.Python.Dsl.Syntax: classDefinitionWithName :: TypedTerm ClassDefinition -> TypedTerm Name -> TypedTerm ClassDefinition
+ Hydra.Python.Dsl.Syntax: classDefinitionWithTypeParams :: TypedTerm ClassDefinition -> TypedTerm [TypeParameter] -> TypedTerm ClassDefinition
+ Hydra.Python.Dsl.Syntax: classPattern :: TypedTerm NameOrAttribute -> TypedTerm (Maybe PositionalPatterns) -> TypedTerm (Maybe KeywordPatterns) -> TypedTerm ClassPattern
+ Hydra.Python.Dsl.Syntax: classPatternClassPattern :: TypedName ClassPattern
+ Hydra.Python.Dsl.Syntax: classPatternKeywordPatterns :: TypedTerm ClassPattern -> TypedTerm (Maybe KeywordPatterns)
+ Hydra.Python.Dsl.Syntax: classPatternNameOrAttribute :: TypedTerm ClassPattern -> TypedTerm NameOrAttribute
+ Hydra.Python.Dsl.Syntax: classPatternPositionalPatterns :: TypedTerm ClassPattern -> TypedTerm (Maybe PositionalPatterns)
+ Hydra.Python.Dsl.Syntax: classPatternWithKeywordPatterns :: TypedTerm ClassPattern -> TypedTerm (Maybe KeywordPatterns) -> TypedTerm ClassPattern
+ Hydra.Python.Dsl.Syntax: classPatternWithNameOrAttribute :: TypedTerm ClassPattern -> TypedTerm NameOrAttribute -> TypedTerm ClassPattern
+ Hydra.Python.Dsl.Syntax: classPatternWithPositionalPatterns :: TypedTerm ClassPattern -> TypedTerm (Maybe PositionalPatterns) -> TypedTerm ClassPattern
+ Hydra.Python.Dsl.Syntax: closedPatternCapture :: TypedTerm CapturePattern -> TypedTerm ClosedPattern
+ Hydra.Python.Dsl.Syntax: closedPatternClass :: TypedTerm ClassPattern -> TypedTerm ClosedPattern
+ Hydra.Python.Dsl.Syntax: closedPatternClosedPattern :: TypedName ClosedPattern
+ Hydra.Python.Dsl.Syntax: closedPatternGroup :: TypedTerm GroupPattern -> TypedTerm ClosedPattern
+ Hydra.Python.Dsl.Syntax: closedPatternLiteral :: TypedTerm LiteralExpression -> TypedTerm ClosedPattern
+ Hydra.Python.Dsl.Syntax: closedPatternMapping :: TypedTerm MappingPattern -> TypedTerm ClosedPattern
+ Hydra.Python.Dsl.Syntax: closedPatternSequence :: TypedTerm SequencePattern -> TypedTerm ClosedPattern
+ Hydra.Python.Dsl.Syntax: closedPatternValue :: TypedTerm ValuePattern -> TypedTerm ClosedPattern
+ Hydra.Python.Dsl.Syntax: closedPatternWildcard :: TypedTerm ClosedPattern
+ Hydra.Python.Dsl.Syntax: commaStarEtc :: TypedTerm [ParamMaybeDefault] -> TypedTerm (Maybe Keywords) -> TypedTerm CommaStarEtc
+ Hydra.Python.Dsl.Syntax: commaStarEtcCommaStarEtc :: TypedName CommaStarEtc
+ Hydra.Python.Dsl.Syntax: commaStarEtcKeywords :: TypedTerm CommaStarEtc -> TypedTerm (Maybe Keywords)
+ Hydra.Python.Dsl.Syntax: commaStarEtcParamMaybeDefault :: TypedTerm CommaStarEtc -> TypedTerm [ParamMaybeDefault]
+ Hydra.Python.Dsl.Syntax: commaStarEtcWithKeywords :: TypedTerm CommaStarEtc -> TypedTerm (Maybe Keywords) -> TypedTerm CommaStarEtc
+ Hydra.Python.Dsl.Syntax: commaStarEtcWithParamMaybeDefault :: TypedTerm CommaStarEtc -> TypedTerm [ParamMaybeDefault] -> TypedTerm CommaStarEtc
+ Hydra.Python.Dsl.Syntax: compareOpBitwiseOrPair :: TypedTerm CompareOp -> TypedTerm BitwiseOr -> TypedTerm CompareOpBitwiseOrPair
+ Hydra.Python.Dsl.Syntax: compareOpBitwiseOrPairCompareOpBitwiseOrPair :: TypedName CompareOpBitwiseOrPair
+ Hydra.Python.Dsl.Syntax: compareOpBitwiseOrPairOperator :: TypedTerm CompareOpBitwiseOrPair -> TypedTerm CompareOp
+ Hydra.Python.Dsl.Syntax: compareOpBitwiseOrPairRhs :: TypedTerm CompareOpBitwiseOrPair -> TypedTerm BitwiseOr
+ Hydra.Python.Dsl.Syntax: compareOpBitwiseOrPairWithOperator :: TypedTerm CompareOpBitwiseOrPair -> TypedTerm CompareOp -> TypedTerm CompareOpBitwiseOrPair
+ Hydra.Python.Dsl.Syntax: compareOpBitwiseOrPairWithRhs :: TypedTerm CompareOpBitwiseOrPair -> TypedTerm BitwiseOr -> TypedTerm CompareOpBitwiseOrPair
+ Hydra.Python.Dsl.Syntax: compareOpCompareOp :: TypedName CompareOp
+ Hydra.Python.Dsl.Syntax: compareOpEq :: TypedTerm CompareOp
+ Hydra.Python.Dsl.Syntax: compareOpGt :: TypedTerm CompareOp
+ Hydra.Python.Dsl.Syntax: compareOpGte :: TypedTerm CompareOp
+ Hydra.Python.Dsl.Syntax: compareOpIn :: TypedTerm CompareOp
+ Hydra.Python.Dsl.Syntax: compareOpIs :: TypedTerm CompareOp
+ Hydra.Python.Dsl.Syntax: compareOpIsnot :: TypedTerm CompareOp
+ Hydra.Python.Dsl.Syntax: compareOpLt :: TypedTerm CompareOp
+ Hydra.Python.Dsl.Syntax: compareOpLte :: TypedTerm CompareOp
+ Hydra.Python.Dsl.Syntax: compareOpNoteq :: TypedTerm CompareOp
+ Hydra.Python.Dsl.Syntax: compareOpNotin :: TypedTerm CompareOp
+ Hydra.Python.Dsl.Syntax: comparison :: TypedTerm BitwiseOr -> TypedTerm [CompareOpBitwiseOrPair] -> TypedTerm Comparison
+ Hydra.Python.Dsl.Syntax: comparisonComparison :: TypedName Comparison
+ Hydra.Python.Dsl.Syntax: comparisonLhs :: TypedTerm Comparison -> TypedTerm BitwiseOr
+ Hydra.Python.Dsl.Syntax: comparisonRhs :: TypedTerm Comparison -> TypedTerm [CompareOpBitwiseOrPair]
+ Hydra.Python.Dsl.Syntax: comparisonWithLhs :: TypedTerm Comparison -> TypedTerm BitwiseOr -> TypedTerm Comparison
+ Hydra.Python.Dsl.Syntax: comparisonWithRhs :: TypedTerm Comparison -> TypedTerm [CompareOpBitwiseOrPair] -> TypedTerm Comparison
+ Hydra.Python.Dsl.Syntax: complexNumber :: TypedTerm SignedRealNumber -> TypedTerm PlusOrMinus -> TypedTerm ImaginaryNumber -> TypedTerm ComplexNumber
+ Hydra.Python.Dsl.Syntax: complexNumberComplexNumber :: TypedName ComplexNumber
+ Hydra.Python.Dsl.Syntax: complexNumberImaginary :: TypedTerm ComplexNumber -> TypedTerm ImaginaryNumber
+ Hydra.Python.Dsl.Syntax: complexNumberPlusOrMinus :: TypedTerm ComplexNumber -> TypedTerm PlusOrMinus
+ Hydra.Python.Dsl.Syntax: complexNumberReal :: TypedTerm ComplexNumber -> TypedTerm SignedRealNumber
+ Hydra.Python.Dsl.Syntax: complexNumberWithImaginary :: TypedTerm ComplexNumber -> TypedTerm ImaginaryNumber -> TypedTerm ComplexNumber
+ Hydra.Python.Dsl.Syntax: complexNumberWithPlusOrMinus :: TypedTerm ComplexNumber -> TypedTerm PlusOrMinus -> TypedTerm ComplexNumber
+ Hydra.Python.Dsl.Syntax: complexNumberWithReal :: TypedTerm ComplexNumber -> TypedTerm SignedRealNumber -> TypedTerm ComplexNumber
+ Hydra.Python.Dsl.Syntax: compoundStatementClassDef :: TypedTerm ClassDefinition -> TypedTerm CompoundStatement
+ Hydra.Python.Dsl.Syntax: compoundStatementCompoundStatement :: TypedName CompoundStatement
+ Hydra.Python.Dsl.Syntax: compoundStatementFor :: TypedTerm ForStatement -> TypedTerm CompoundStatement
+ Hydra.Python.Dsl.Syntax: compoundStatementFunction :: TypedTerm FunctionDefinition -> TypedTerm CompoundStatement
+ Hydra.Python.Dsl.Syntax: compoundStatementIf :: TypedTerm IfStatement -> TypedTerm CompoundStatement
+ Hydra.Python.Dsl.Syntax: compoundStatementMatch :: TypedTerm MatchStatement -> TypedTerm CompoundStatement
+ Hydra.Python.Dsl.Syntax: compoundStatementTry :: TypedTerm TryStatement -> TypedTerm CompoundStatement
+ Hydra.Python.Dsl.Syntax: compoundStatementWhile :: TypedTerm WhileStatement -> TypedTerm CompoundStatement
+ Hydra.Python.Dsl.Syntax: compoundStatementWith :: TypedTerm WithStatement -> TypedTerm CompoundStatement
+ Hydra.Python.Dsl.Syntax: conditional :: TypedTerm Disjunction -> TypedTerm Disjunction -> TypedTerm Expression -> TypedTerm Conditional
+ Hydra.Python.Dsl.Syntax: conditionalBody :: TypedTerm Conditional -> TypedTerm Disjunction
+ Hydra.Python.Dsl.Syntax: conditionalConditional :: TypedName Conditional
+ Hydra.Python.Dsl.Syntax: conditionalElse :: TypedTerm Conditional -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: conditionalIf :: TypedTerm Conditional -> TypedTerm Disjunction
+ Hydra.Python.Dsl.Syntax: conditionalWithBody :: TypedTerm Conditional -> TypedTerm Disjunction -> TypedTerm Conditional
+ Hydra.Python.Dsl.Syntax: conditionalWithElse :: TypedTerm Conditional -> TypedTerm Expression -> TypedTerm Conditional
+ Hydra.Python.Dsl.Syntax: conditionalWithIf :: TypedTerm Conditional -> TypedTerm Disjunction -> TypedTerm Conditional
+ Hydra.Python.Dsl.Syntax: conjunction :: TypedTerm [Inversion] -> TypedTerm Conjunction
+ Hydra.Python.Dsl.Syntax: conjunctionConjunction :: TypedName Conjunction
+ Hydra.Python.Dsl.Syntax: decorators :: TypedTerm [NamedExpression] -> TypedTerm Decorators
+ Hydra.Python.Dsl.Syntax: decoratorsDecorators :: TypedName Decorators
+ Hydra.Python.Dsl.Syntax: defaultDefault :: TypedName Default
+ Hydra.Python.Dsl.Syntax: default_ :: TypedTerm Expression -> TypedTerm Default
+ Hydra.Python.Dsl.Syntax: delStatement :: TypedTerm DelTargets -> TypedTerm DelStatement
+ Hydra.Python.Dsl.Syntax: delStatementDelStatement :: TypedName DelStatement
+ Hydra.Python.Dsl.Syntax: delTAtomDelTAtom :: TypedName DelTAtom
+ Hydra.Python.Dsl.Syntax: delTAtomName :: TypedTerm Name -> TypedTerm DelTAtom
+ Hydra.Python.Dsl.Syntax: delTAtomTarget :: TypedTerm DelTarget -> TypedTerm DelTAtom
+ Hydra.Python.Dsl.Syntax: delTAtomTargets :: TypedTerm DelTargets -> TypedTerm DelTAtom
+ Hydra.Python.Dsl.Syntax: delTargetDelTAtom :: TypedTerm DelTAtom -> TypedTerm DelTarget
+ Hydra.Python.Dsl.Syntax: delTargetDelTarget :: TypedName DelTarget
+ Hydra.Python.Dsl.Syntax: delTargetPrimaryAndName :: TypedTerm TPrimaryAndName -> TypedTerm DelTarget
+ Hydra.Python.Dsl.Syntax: delTargetPrimaryAndSlices :: TypedTerm TPrimaryAndSlices -> TypedTerm DelTarget
+ Hydra.Python.Dsl.Syntax: delTargets :: TypedTerm [DelTarget] -> TypedTerm DelTargets
+ Hydra.Python.Dsl.Syntax: delTargetsDelTargets :: TypedName DelTargets
+ Hydra.Python.Dsl.Syntax: dict :: TypedTerm [DoubleStarredKvpair] -> TypedTerm Dict
+ Hydra.Python.Dsl.Syntax: dictDict :: TypedName Dict
+ Hydra.Python.Dsl.Syntax: dictcomp :: TypedTerm Kvpair -> TypedTerm ForIfClauses -> TypedTerm Dictcomp
+ Hydra.Python.Dsl.Syntax: dictcompDictcomp :: TypedName Dictcomp
+ Hydra.Python.Dsl.Syntax: dictcompForIfClauses :: TypedTerm Dictcomp -> TypedTerm ForIfClauses
+ Hydra.Python.Dsl.Syntax: dictcompKvpair :: TypedTerm Dictcomp -> TypedTerm Kvpair
+ Hydra.Python.Dsl.Syntax: dictcompWithForIfClauses :: TypedTerm Dictcomp -> TypedTerm ForIfClauses -> TypedTerm Dictcomp
+ Hydra.Python.Dsl.Syntax: dictcompWithKvpair :: TypedTerm Dictcomp -> TypedTerm Kvpair -> TypedTerm Dictcomp
+ Hydra.Python.Dsl.Syntax: disjunction :: TypedTerm [Conjunction] -> TypedTerm Disjunction
+ Hydra.Python.Dsl.Syntax: disjunctionDisjunction :: TypedName Disjunction
+ Hydra.Python.Dsl.Syntax: dottedAsName :: TypedTerm DottedName -> TypedTerm (Maybe Name) -> TypedTerm DottedAsName
+ Hydra.Python.Dsl.Syntax: dottedAsNameAs :: TypedTerm DottedAsName -> TypedTerm (Maybe Name)
+ Hydra.Python.Dsl.Syntax: dottedAsNameDottedAsName :: TypedName DottedAsName
+ Hydra.Python.Dsl.Syntax: dottedAsNameName :: TypedTerm DottedAsName -> TypedTerm DottedName
+ Hydra.Python.Dsl.Syntax: dottedAsNameWithAs :: TypedTerm DottedAsName -> TypedTerm (Maybe Name) -> TypedTerm DottedAsName
+ Hydra.Python.Dsl.Syntax: dottedAsNameWithName :: TypedTerm DottedAsName -> TypedTerm DottedName -> TypedTerm DottedAsName
+ Hydra.Python.Dsl.Syntax: dottedName :: TypedTerm [Name] -> TypedTerm DottedName
+ Hydra.Python.Dsl.Syntax: dottedNameDottedName :: TypedName DottedName
+ Hydra.Python.Dsl.Syntax: doubleStarPattern :: TypedTerm PatternCaptureTarget -> TypedTerm DoubleStarPattern
+ Hydra.Python.Dsl.Syntax: doubleStarPatternDoubleStarPattern :: TypedName DoubleStarPattern
+ Hydra.Python.Dsl.Syntax: doubleStarTypeParameter :: TypedTerm Name -> TypedTerm (Maybe Expression) -> TypedTerm DoubleStarTypeParameter
+ Hydra.Python.Dsl.Syntax: doubleStarTypeParameterDefault :: TypedTerm DoubleStarTypeParameter -> TypedTerm (Maybe Expression)
+ Hydra.Python.Dsl.Syntax: doubleStarTypeParameterDoubleStarTypeParameter :: TypedName DoubleStarTypeParameter
+ Hydra.Python.Dsl.Syntax: doubleStarTypeParameterName :: TypedTerm DoubleStarTypeParameter -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: doubleStarTypeParameterWithDefault :: TypedTerm DoubleStarTypeParameter -> TypedTerm (Maybe Expression) -> TypedTerm DoubleStarTypeParameter
+ Hydra.Python.Dsl.Syntax: doubleStarTypeParameterWithName :: TypedTerm DoubleStarTypeParameter -> TypedTerm Name -> TypedTerm DoubleStarTypeParameter
+ Hydra.Python.Dsl.Syntax: doubleStarredKvpairDoubleStarredKvpair :: TypedName DoubleStarredKvpair
+ Hydra.Python.Dsl.Syntax: doubleStarredKvpairPair :: TypedTerm Kvpair -> TypedTerm DoubleStarredKvpair
+ Hydra.Python.Dsl.Syntax: doubleStarredKvpairStarred :: TypedTerm BitwiseOr -> TypedTerm DoubleStarredKvpair
+ Hydra.Python.Dsl.Syntax: eval :: TypedTerm [Expression] -> TypedTerm Eval
+ Hydra.Python.Dsl.Syntax: evalEval :: TypedName Eval
+ Hydra.Python.Dsl.Syntax: exceptBlock :: TypedTerm (Maybe ExceptExpression) -> TypedTerm Block -> TypedTerm ExceptBlock
+ Hydra.Python.Dsl.Syntax: exceptBlockBody :: TypedTerm ExceptBlock -> TypedTerm Block
+ Hydra.Python.Dsl.Syntax: exceptBlockExceptBlock :: TypedName ExceptBlock
+ Hydra.Python.Dsl.Syntax: exceptBlockExpression :: TypedTerm ExceptBlock -> TypedTerm (Maybe ExceptExpression)
+ Hydra.Python.Dsl.Syntax: exceptBlockWithBody :: TypedTerm ExceptBlock -> TypedTerm Block -> TypedTerm ExceptBlock
+ Hydra.Python.Dsl.Syntax: exceptBlockWithExpression :: TypedTerm ExceptBlock -> TypedTerm (Maybe ExceptExpression) -> TypedTerm ExceptBlock
+ Hydra.Python.Dsl.Syntax: exceptExpression :: TypedTerm Expression -> TypedTerm (Maybe Name) -> TypedTerm ExceptExpression
+ Hydra.Python.Dsl.Syntax: exceptExpressionAs :: TypedTerm ExceptExpression -> TypedTerm (Maybe Name)
+ Hydra.Python.Dsl.Syntax: exceptExpressionExceptExpression :: TypedName ExceptExpression
+ Hydra.Python.Dsl.Syntax: exceptExpressionExpression :: TypedTerm ExceptExpression -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: exceptExpressionWithAs :: TypedTerm ExceptExpression -> TypedTerm (Maybe Name) -> TypedTerm ExceptExpression
+ Hydra.Python.Dsl.Syntax: exceptExpressionWithExpression :: TypedTerm ExceptExpression -> TypedTerm Expression -> TypedTerm ExceptExpression
+ Hydra.Python.Dsl.Syntax: exceptStarBlock :: TypedTerm Expression -> TypedTerm (Maybe Name) -> TypedTerm Block -> TypedTerm ExceptStarBlock
+ Hydra.Python.Dsl.Syntax: exceptStarBlockAs :: TypedTerm ExceptStarBlock -> TypedTerm (Maybe Name)
+ Hydra.Python.Dsl.Syntax: exceptStarBlockBody :: TypedTerm ExceptStarBlock -> TypedTerm Block
+ Hydra.Python.Dsl.Syntax: exceptStarBlockExceptStarBlock :: TypedName ExceptStarBlock
+ Hydra.Python.Dsl.Syntax: exceptStarBlockExpression :: TypedTerm ExceptStarBlock -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: exceptStarBlockWithAs :: TypedTerm ExceptStarBlock -> TypedTerm (Maybe Name) -> TypedTerm ExceptStarBlock
+ Hydra.Python.Dsl.Syntax: exceptStarBlockWithBody :: TypedTerm ExceptStarBlock -> TypedTerm Block -> TypedTerm ExceptStarBlock
+ Hydra.Python.Dsl.Syntax: exceptStarBlockWithExpression :: TypedTerm ExceptStarBlock -> TypedTerm Expression -> TypedTerm ExceptStarBlock
+ Hydra.Python.Dsl.Syntax: expressionConditional :: TypedTerm Conditional -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: expressionExpression :: TypedName Expression
+ Hydra.Python.Dsl.Syntax: expressionLambda :: TypedTerm Lambda -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: expressionSimple :: TypedTerm Disjunction -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: factorComplement :: TypedTerm Factor -> TypedTerm Factor
+ Hydra.Python.Dsl.Syntax: factorFactor :: TypedName Factor
+ Hydra.Python.Dsl.Syntax: factorNegative :: TypedTerm Factor -> TypedTerm Factor
+ Hydra.Python.Dsl.Syntax: factorPositive :: TypedTerm Factor -> TypedTerm Factor
+ Hydra.Python.Dsl.Syntax: factorSimple :: TypedTerm Power -> TypedTerm Factor
+ Hydra.Python.Dsl.Syntax: file :: TypedTerm [Statement] -> TypedTerm File
+ Hydra.Python.Dsl.Syntax: fileFile :: TypedName File
+ Hydra.Python.Dsl.Syntax: forIfClause :: TypedTerm Bool -> TypedTerm [StarTarget] -> TypedTerm Disjunction -> TypedTerm [Disjunction] -> TypedTerm ForIfClause
+ Hydra.Python.Dsl.Syntax: forIfClauseAsync :: TypedTerm ForIfClause -> TypedTerm Bool
+ Hydra.Python.Dsl.Syntax: forIfClauseForIfClause :: TypedName ForIfClause
+ Hydra.Python.Dsl.Syntax: forIfClauseIfs :: TypedTerm ForIfClause -> TypedTerm [Disjunction]
+ Hydra.Python.Dsl.Syntax: forIfClauseIn :: TypedTerm ForIfClause -> TypedTerm Disjunction
+ Hydra.Python.Dsl.Syntax: forIfClauseTargets :: TypedTerm ForIfClause -> TypedTerm [StarTarget]
+ Hydra.Python.Dsl.Syntax: forIfClauseWithAsync :: TypedTerm ForIfClause -> TypedTerm Bool -> TypedTerm ForIfClause
+ Hydra.Python.Dsl.Syntax: forIfClauseWithIfs :: TypedTerm ForIfClause -> TypedTerm [Disjunction] -> TypedTerm ForIfClause
+ Hydra.Python.Dsl.Syntax: forIfClauseWithIn :: TypedTerm ForIfClause -> TypedTerm Disjunction -> TypedTerm ForIfClause
+ Hydra.Python.Dsl.Syntax: forIfClauseWithTargets :: TypedTerm ForIfClause -> TypedTerm [StarTarget] -> TypedTerm ForIfClause
+ Hydra.Python.Dsl.Syntax: forIfClauses :: TypedTerm [ForIfClause] -> TypedTerm ForIfClauses
+ Hydra.Python.Dsl.Syntax: forIfClausesForIfClauses :: TypedName ForIfClauses
+ Hydra.Python.Dsl.Syntax: forStatement :: TypedTerm Bool -> TypedTerm [StarTarget] -> TypedTerm [StarExpression] -> TypedTerm (Maybe TypeComment) -> TypedTerm Block -> TypedTerm (Maybe Block) -> TypedTerm ForStatement
+ Hydra.Python.Dsl.Syntax: forStatementAsync :: TypedTerm ForStatement -> TypedTerm Bool
+ Hydra.Python.Dsl.Syntax: forStatementBody :: TypedTerm ForStatement -> TypedTerm Block
+ Hydra.Python.Dsl.Syntax: forStatementElse :: TypedTerm ForStatement -> TypedTerm (Maybe Block)
+ Hydra.Python.Dsl.Syntax: forStatementExpressions :: TypedTerm ForStatement -> TypedTerm [StarExpression]
+ Hydra.Python.Dsl.Syntax: forStatementForStatement :: TypedName ForStatement
+ Hydra.Python.Dsl.Syntax: forStatementTargets :: TypedTerm ForStatement -> TypedTerm [StarTarget]
+ Hydra.Python.Dsl.Syntax: forStatementTypeComment :: TypedTerm ForStatement -> TypedTerm (Maybe TypeComment)
+ Hydra.Python.Dsl.Syntax: forStatementWithAsync :: TypedTerm ForStatement -> TypedTerm Bool -> TypedTerm ForStatement
+ Hydra.Python.Dsl.Syntax: forStatementWithBody :: TypedTerm ForStatement -> TypedTerm Block -> TypedTerm ForStatement
+ Hydra.Python.Dsl.Syntax: forStatementWithElse :: TypedTerm ForStatement -> TypedTerm (Maybe Block) -> TypedTerm ForStatement
+ Hydra.Python.Dsl.Syntax: forStatementWithExpressions :: TypedTerm ForStatement -> TypedTerm [StarExpression] -> TypedTerm ForStatement
+ Hydra.Python.Dsl.Syntax: forStatementWithTargets :: TypedTerm ForStatement -> TypedTerm [StarTarget] -> TypedTerm ForStatement
+ Hydra.Python.Dsl.Syntax: forStatementWithTypeComment :: TypedTerm ForStatement -> TypedTerm (Maybe TypeComment) -> TypedTerm ForStatement
+ Hydra.Python.Dsl.Syntax: funcTypeComment :: TypedTerm TypeComment -> TypedTerm FuncTypeComment
+ Hydra.Python.Dsl.Syntax: funcTypeCommentFuncTypeComment :: TypedName FuncTypeComment
+ Hydra.Python.Dsl.Syntax: functionDefRaw :: TypedTerm Bool -> TypedTerm Name -> TypedTerm [TypeParameter] -> TypedTerm (Maybe Parameters) -> TypedTerm (Maybe Expression) -> TypedTerm (Maybe FuncTypeComment) -> TypedTerm Block -> TypedTerm FunctionDefRaw
+ Hydra.Python.Dsl.Syntax: functionDefRawAsync :: TypedTerm FunctionDefRaw -> TypedTerm Bool
+ Hydra.Python.Dsl.Syntax: functionDefRawBlock :: TypedTerm FunctionDefRaw -> TypedTerm Block
+ Hydra.Python.Dsl.Syntax: functionDefRawFuncTypeComment :: TypedTerm FunctionDefRaw -> TypedTerm (Maybe FuncTypeComment)
+ Hydra.Python.Dsl.Syntax: functionDefRawFunctionDefRaw :: TypedName FunctionDefRaw
+ Hydra.Python.Dsl.Syntax: functionDefRawName :: TypedTerm FunctionDefRaw -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: functionDefRawParams :: TypedTerm FunctionDefRaw -> TypedTerm (Maybe Parameters)
+ Hydra.Python.Dsl.Syntax: functionDefRawReturnType :: TypedTerm FunctionDefRaw -> TypedTerm (Maybe Expression)
+ Hydra.Python.Dsl.Syntax: functionDefRawTypeParams :: TypedTerm FunctionDefRaw -> TypedTerm [TypeParameter]
+ Hydra.Python.Dsl.Syntax: functionDefRawWithAsync :: TypedTerm FunctionDefRaw -> TypedTerm Bool -> TypedTerm FunctionDefRaw
+ Hydra.Python.Dsl.Syntax: functionDefRawWithBlock :: TypedTerm FunctionDefRaw -> TypedTerm Block -> TypedTerm FunctionDefRaw
+ Hydra.Python.Dsl.Syntax: functionDefRawWithFuncTypeComment :: TypedTerm FunctionDefRaw -> TypedTerm (Maybe FuncTypeComment) -> TypedTerm FunctionDefRaw
+ Hydra.Python.Dsl.Syntax: functionDefRawWithName :: TypedTerm FunctionDefRaw -> TypedTerm Name -> TypedTerm FunctionDefRaw
+ Hydra.Python.Dsl.Syntax: functionDefRawWithParams :: TypedTerm FunctionDefRaw -> TypedTerm (Maybe Parameters) -> TypedTerm FunctionDefRaw
+ Hydra.Python.Dsl.Syntax: functionDefRawWithReturnType :: TypedTerm FunctionDefRaw -> TypedTerm (Maybe Expression) -> TypedTerm FunctionDefRaw
+ Hydra.Python.Dsl.Syntax: functionDefRawWithTypeParams :: TypedTerm FunctionDefRaw -> TypedTerm [TypeParameter] -> TypedTerm FunctionDefRaw
+ Hydra.Python.Dsl.Syntax: functionDefinition :: TypedTerm (Maybe Decorators) -> TypedTerm FunctionDefRaw -> TypedTerm FunctionDefinition
+ Hydra.Python.Dsl.Syntax: functionDefinitionDecorators :: TypedTerm FunctionDefinition -> TypedTerm (Maybe Decorators)
+ Hydra.Python.Dsl.Syntax: functionDefinitionFunctionDefinition :: TypedName FunctionDefinition
+ Hydra.Python.Dsl.Syntax: functionDefinitionRaw :: TypedTerm FunctionDefinition -> TypedTerm FunctionDefRaw
+ Hydra.Python.Dsl.Syntax: functionDefinitionWithDecorators :: TypedTerm FunctionDefinition -> TypedTerm (Maybe Decorators) -> TypedTerm FunctionDefinition
+ Hydra.Python.Dsl.Syntax: functionDefinitionWithRaw :: TypedTerm FunctionDefinition -> TypedTerm FunctionDefRaw -> TypedTerm FunctionDefinition
+ Hydra.Python.Dsl.Syntax: genexp :: TypedTerm GenexpHead -> TypedTerm ForIfClauses -> TypedTerm Genexp
+ Hydra.Python.Dsl.Syntax: genexpGenexp :: TypedName Genexp
+ Hydra.Python.Dsl.Syntax: genexpHead :: TypedTerm Genexp -> TypedTerm GenexpHead
+ Hydra.Python.Dsl.Syntax: genexpHeadAssignment :: TypedTerm AssignmentExpression -> TypedTerm GenexpHead
+ Hydra.Python.Dsl.Syntax: genexpHeadExpression :: TypedTerm Expression -> TypedTerm GenexpHead
+ Hydra.Python.Dsl.Syntax: genexpHeadGenexpHead :: TypedName GenexpHead
+ Hydra.Python.Dsl.Syntax: genexpTail :: TypedTerm Genexp -> TypedTerm ForIfClauses
+ Hydra.Python.Dsl.Syntax: genexpWithHead :: TypedTerm Genexp -> TypedTerm GenexpHead -> TypedTerm Genexp
+ Hydra.Python.Dsl.Syntax: genexpWithTail :: TypedTerm Genexp -> TypedTerm ForIfClauses -> TypedTerm Genexp
+ Hydra.Python.Dsl.Syntax: groupExpression :: TypedTerm NamedExpression -> TypedTerm Group
+ Hydra.Python.Dsl.Syntax: groupGroup :: TypedName Group
+ Hydra.Python.Dsl.Syntax: groupPattern :: TypedTerm Pattern -> TypedTerm GroupPattern
+ Hydra.Python.Dsl.Syntax: groupPatternGroupPattern :: TypedName GroupPattern
+ Hydra.Python.Dsl.Syntax: groupYield :: TypedTerm YieldExpression -> TypedTerm Group
+ Hydra.Python.Dsl.Syntax: guard :: TypedTerm NamedExpression -> TypedTerm Guard
+ Hydra.Python.Dsl.Syntax: guardGuard :: TypedName Guard
+ Hydra.Python.Dsl.Syntax: ifStatement :: TypedTerm NamedExpression -> TypedTerm Block -> TypedTerm (Maybe IfTail) -> TypedTerm IfStatement
+ Hydra.Python.Dsl.Syntax: ifStatementBody :: TypedTerm IfStatement -> TypedTerm Block
+ Hydra.Python.Dsl.Syntax: ifStatementCondition :: TypedTerm IfStatement -> TypedTerm NamedExpression
+ Hydra.Python.Dsl.Syntax: ifStatementContinuation :: TypedTerm IfStatement -> TypedTerm (Maybe IfTail)
+ Hydra.Python.Dsl.Syntax: ifStatementIfStatement :: TypedName IfStatement
+ Hydra.Python.Dsl.Syntax: ifStatementWithBody :: TypedTerm IfStatement -> TypedTerm Block -> TypedTerm IfStatement
+ Hydra.Python.Dsl.Syntax: ifStatementWithCondition :: TypedTerm IfStatement -> TypedTerm NamedExpression -> TypedTerm IfStatement
+ Hydra.Python.Dsl.Syntax: ifStatementWithContinuation :: TypedTerm IfStatement -> TypedTerm (Maybe IfTail) -> TypedTerm IfStatement
+ Hydra.Python.Dsl.Syntax: ifTailElif :: TypedTerm IfStatement -> TypedTerm IfTail
+ Hydra.Python.Dsl.Syntax: ifTailElse :: TypedTerm Block -> TypedTerm IfTail
+ Hydra.Python.Dsl.Syntax: ifTailIfTail :: TypedName IfTail
+ Hydra.Python.Dsl.Syntax: imaginaryNumber :: TypedTerm Double -> TypedTerm ImaginaryNumber
+ Hydra.Python.Dsl.Syntax: imaginaryNumberImaginaryNumber :: TypedName ImaginaryNumber
+ Hydra.Python.Dsl.Syntax: importFrom :: TypedTerm [RelativeImportPrefix] -> TypedTerm (Maybe DottedName) -> TypedTerm ImportFromTargets -> TypedTerm ImportFrom
+ Hydra.Python.Dsl.Syntax: importFromAsName :: TypedTerm Name -> TypedTerm (Maybe Name) -> TypedTerm ImportFromAsName
+ Hydra.Python.Dsl.Syntax: importFromAsNameAs :: TypedTerm ImportFromAsName -> TypedTerm (Maybe Name)
+ Hydra.Python.Dsl.Syntax: importFromAsNameImportFromAsName :: TypedName ImportFromAsName
+ Hydra.Python.Dsl.Syntax: importFromAsNameName :: TypedTerm ImportFromAsName -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: importFromAsNameWithAs :: TypedTerm ImportFromAsName -> TypedTerm (Maybe Name) -> TypedTerm ImportFromAsName
+ Hydra.Python.Dsl.Syntax: importFromAsNameWithName :: TypedTerm ImportFromAsName -> TypedTerm Name -> TypedTerm ImportFromAsName
+ Hydra.Python.Dsl.Syntax: importFromDottedName :: TypedTerm ImportFrom -> TypedTerm (Maybe DottedName)
+ Hydra.Python.Dsl.Syntax: importFromImportFrom :: TypedName ImportFrom
+ Hydra.Python.Dsl.Syntax: importFromPrefixes :: TypedTerm ImportFrom -> TypedTerm [RelativeImportPrefix]
+ Hydra.Python.Dsl.Syntax: importFromTargets :: TypedTerm ImportFrom -> TypedTerm ImportFromTargets
+ Hydra.Python.Dsl.Syntax: importFromTargetsImportFromTargets :: TypedName ImportFromTargets
+ Hydra.Python.Dsl.Syntax: importFromTargetsParens :: TypedTerm [ImportFromAsName] -> TypedTerm ImportFromTargets
+ Hydra.Python.Dsl.Syntax: importFromTargetsSimple :: TypedTerm [ImportFromAsName] -> TypedTerm ImportFromTargets
+ Hydra.Python.Dsl.Syntax: importFromTargetsStar :: TypedTerm ImportFromTargets
+ Hydra.Python.Dsl.Syntax: importFromWithDottedName :: TypedTerm ImportFrom -> TypedTerm (Maybe DottedName) -> TypedTerm ImportFrom
+ Hydra.Python.Dsl.Syntax: importFromWithPrefixes :: TypedTerm ImportFrom -> TypedTerm [RelativeImportPrefix] -> TypedTerm ImportFrom
+ Hydra.Python.Dsl.Syntax: importFromWithTargets :: TypedTerm ImportFrom -> TypedTerm ImportFromTargets -> TypedTerm ImportFrom
+ Hydra.Python.Dsl.Syntax: importName :: TypedTerm [DottedAsName] -> TypedTerm ImportName
+ Hydra.Python.Dsl.Syntax: importNameImportName :: TypedName ImportName
+ Hydra.Python.Dsl.Syntax: importStatementFrom :: TypedTerm ImportFrom -> TypedTerm ImportStatement
+ Hydra.Python.Dsl.Syntax: importStatementImportStatement :: TypedName ImportStatement
+ Hydra.Python.Dsl.Syntax: importStatementName :: TypedTerm ImportName -> TypedTerm ImportStatement
+ Hydra.Python.Dsl.Syntax: interactive :: TypedTerm Statement -> TypedTerm Interactive
+ Hydra.Python.Dsl.Syntax: interactiveInteractive :: TypedName Interactive
+ Hydra.Python.Dsl.Syntax: inversionInversion :: TypedName Inversion
+ Hydra.Python.Dsl.Syntax: inversionNot :: TypedTerm Inversion -> TypedTerm Inversion
+ Hydra.Python.Dsl.Syntax: inversionSimple :: TypedTerm Comparison -> TypedTerm Inversion
+ Hydra.Python.Dsl.Syntax: itemsPattern :: TypedTerm [KeyValuePattern] -> TypedTerm ItemsPattern
+ Hydra.Python.Dsl.Syntax: itemsPatternItemsPattern :: TypedName ItemsPattern
+ Hydra.Python.Dsl.Syntax: keyValuePattern :: TypedTerm LiteralExpressionOrAttribute -> TypedTerm Pattern -> TypedTerm KeyValuePattern
+ Hydra.Python.Dsl.Syntax: keyValuePatternKey :: TypedTerm KeyValuePattern -> TypedTerm LiteralExpressionOrAttribute
+ Hydra.Python.Dsl.Syntax: keyValuePatternKeyValuePattern :: TypedName KeyValuePattern
+ Hydra.Python.Dsl.Syntax: keyValuePatternValue :: TypedTerm KeyValuePattern -> TypedTerm Pattern
+ Hydra.Python.Dsl.Syntax: keyValuePatternWithKey :: TypedTerm KeyValuePattern -> TypedTerm LiteralExpressionOrAttribute -> TypedTerm KeyValuePattern
+ Hydra.Python.Dsl.Syntax: keyValuePatternWithValue :: TypedTerm KeyValuePattern -> TypedTerm Pattern -> TypedTerm KeyValuePattern
+ Hydra.Python.Dsl.Syntax: keywordPattern :: TypedTerm Name -> TypedTerm Pattern -> TypedTerm KeywordPattern
+ Hydra.Python.Dsl.Syntax: keywordPatternKeywordPattern :: TypedName KeywordPattern
+ Hydra.Python.Dsl.Syntax: keywordPatternName :: TypedTerm KeywordPattern -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: keywordPatternPattern :: TypedTerm KeywordPattern -> TypedTerm Pattern
+ Hydra.Python.Dsl.Syntax: keywordPatternWithName :: TypedTerm KeywordPattern -> TypedTerm Name -> TypedTerm KeywordPattern
+ Hydra.Python.Dsl.Syntax: keywordPatternWithPattern :: TypedTerm KeywordPattern -> TypedTerm Pattern -> TypedTerm KeywordPattern
+ Hydra.Python.Dsl.Syntax: keywordPatterns :: TypedTerm [KeywordPattern] -> TypedTerm KeywordPatterns
+ Hydra.Python.Dsl.Syntax: keywordPatternsKeywordPatterns :: TypedName KeywordPatterns
+ Hydra.Python.Dsl.Syntax: keywords :: TypedTerm ParamNoDefault -> TypedTerm Keywords
+ Hydra.Python.Dsl.Syntax: keywordsKeywords :: TypedName Keywords
+ Hydra.Python.Dsl.Syntax: kvpair :: TypedTerm Expression -> TypedTerm Expression -> TypedTerm Kvpair
+ Hydra.Python.Dsl.Syntax: kvpairKey :: TypedTerm Kvpair -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: kvpairKvpair :: TypedName Kvpair
+ Hydra.Python.Dsl.Syntax: kvpairValue :: TypedTerm Kvpair -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: kvpairWithKey :: TypedTerm Kvpair -> TypedTerm Expression -> TypedTerm Kvpair
+ Hydra.Python.Dsl.Syntax: kvpairWithValue :: TypedTerm Kvpair -> TypedTerm Expression -> TypedTerm Kvpair
+ Hydra.Python.Dsl.Syntax: kwarg :: TypedTerm Name -> TypedTerm Expression -> TypedTerm Kwarg
+ Hydra.Python.Dsl.Syntax: kwargKwarg :: TypedName Kwarg
+ Hydra.Python.Dsl.Syntax: kwargName :: TypedTerm Kwarg -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: kwargOrDoubleStarredDoubleStarred :: TypedTerm Expression -> TypedTerm KwargOrDoubleStarred
+ Hydra.Python.Dsl.Syntax: kwargOrDoubleStarredKwarg :: TypedTerm Kwarg -> TypedTerm KwargOrDoubleStarred
+ Hydra.Python.Dsl.Syntax: kwargOrDoubleStarredKwargOrDoubleStarred :: TypedName KwargOrDoubleStarred
+ Hydra.Python.Dsl.Syntax: kwargOrStarredKwarg :: TypedTerm Kwarg -> TypedTerm KwargOrStarred
+ Hydra.Python.Dsl.Syntax: kwargOrStarredKwargOrStarred :: TypedName KwargOrStarred
+ Hydra.Python.Dsl.Syntax: kwargOrStarredStarred :: TypedTerm StarredExpression -> TypedTerm KwargOrStarred
+ Hydra.Python.Dsl.Syntax: kwargValue :: TypedTerm Kwarg -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: kwargWithName :: TypedTerm Kwarg -> TypedTerm Name -> TypedTerm Kwarg
+ Hydra.Python.Dsl.Syntax: kwargWithValue :: TypedTerm Kwarg -> TypedTerm Expression -> TypedTerm Kwarg
+ Hydra.Python.Dsl.Syntax: lambda :: TypedTerm LambdaParameters -> TypedTerm Expression -> TypedTerm Lambda
+ Hydra.Python.Dsl.Syntax: lambdaBody :: TypedTerm Lambda -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: lambdaKwds :: TypedTerm LambdaParamNoDefault -> TypedTerm LambdaKwds
+ Hydra.Python.Dsl.Syntax: lambdaKwdsLambdaKwds :: TypedName LambdaKwds
+ Hydra.Python.Dsl.Syntax: lambdaLambda :: TypedName Lambda
+ Hydra.Python.Dsl.Syntax: lambdaParamMaybeDefault :: TypedTerm Name -> TypedTerm (Maybe Default) -> TypedTerm LambdaParamMaybeDefault
+ Hydra.Python.Dsl.Syntax: lambdaParamMaybeDefaultDefault :: TypedTerm LambdaParamMaybeDefault -> TypedTerm (Maybe Default)
+ Hydra.Python.Dsl.Syntax: lambdaParamMaybeDefaultLambdaParamMaybeDefault :: TypedName LambdaParamMaybeDefault
+ Hydra.Python.Dsl.Syntax: lambdaParamMaybeDefaultParam :: TypedTerm LambdaParamMaybeDefault -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: lambdaParamMaybeDefaultWithDefault :: TypedTerm LambdaParamMaybeDefault -> TypedTerm (Maybe Default) -> TypedTerm LambdaParamMaybeDefault
+ Hydra.Python.Dsl.Syntax: lambdaParamMaybeDefaultWithParam :: TypedTerm LambdaParamMaybeDefault -> TypedTerm Name -> TypedTerm LambdaParamMaybeDefault
+ Hydra.Python.Dsl.Syntax: lambdaParamNoDefault :: TypedTerm Name -> TypedTerm LambdaParamNoDefault
+ Hydra.Python.Dsl.Syntax: lambdaParamNoDefaultLambdaParamNoDefault :: TypedName LambdaParamNoDefault
+ Hydra.Python.Dsl.Syntax: lambdaParamWithDefault :: TypedTerm Name -> TypedTerm (Maybe Default) -> TypedTerm LambdaParamWithDefault
+ Hydra.Python.Dsl.Syntax: lambdaParamWithDefaultDefault :: TypedTerm LambdaParamWithDefault -> TypedTerm (Maybe Default)
+ Hydra.Python.Dsl.Syntax: lambdaParamWithDefaultLambdaParamWithDefault :: TypedName LambdaParamWithDefault
+ Hydra.Python.Dsl.Syntax: lambdaParamWithDefaultParam :: TypedTerm LambdaParamWithDefault -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: lambdaParamWithDefaultWithDefault :: TypedTerm LambdaParamWithDefault -> TypedTerm (Maybe Default) -> TypedTerm LambdaParamWithDefault
+ Hydra.Python.Dsl.Syntax: lambdaParamWithDefaultWithParam :: TypedTerm LambdaParamWithDefault -> TypedTerm Name -> TypedTerm LambdaParamWithDefault
+ Hydra.Python.Dsl.Syntax: lambdaParameters :: TypedTerm (Maybe LambdaSlashNoDefault) -> TypedTerm [LambdaParamNoDefault] -> TypedTerm [LambdaParamWithDefault] -> TypedTerm (Maybe LambdaStarEtc) -> TypedTerm LambdaParameters
+ Hydra.Python.Dsl.Syntax: lambdaParametersLambdaParameters :: TypedName LambdaParameters
+ Hydra.Python.Dsl.Syntax: lambdaParametersParamNoDefault :: TypedTerm LambdaParameters -> TypedTerm [LambdaParamNoDefault]
+ Hydra.Python.Dsl.Syntax: lambdaParametersParamWithDefault :: TypedTerm LambdaParameters -> TypedTerm [LambdaParamWithDefault]
+ Hydra.Python.Dsl.Syntax: lambdaParametersSlashNoDefault :: TypedTerm LambdaParameters -> TypedTerm (Maybe LambdaSlashNoDefault)
+ Hydra.Python.Dsl.Syntax: lambdaParametersStarEtc :: TypedTerm LambdaParameters -> TypedTerm (Maybe LambdaStarEtc)
+ Hydra.Python.Dsl.Syntax: lambdaParametersWithParamNoDefault :: TypedTerm LambdaParameters -> TypedTerm [LambdaParamNoDefault] -> TypedTerm LambdaParameters
+ Hydra.Python.Dsl.Syntax: lambdaParametersWithParamWithDefault :: TypedTerm LambdaParameters -> TypedTerm [LambdaParamWithDefault] -> TypedTerm LambdaParameters
+ Hydra.Python.Dsl.Syntax: lambdaParametersWithSlashNoDefault :: TypedTerm LambdaParameters -> TypedTerm (Maybe LambdaSlashNoDefault) -> TypedTerm LambdaParameters
+ Hydra.Python.Dsl.Syntax: lambdaParametersWithStarEtc :: TypedTerm LambdaParameters -> TypedTerm (Maybe LambdaStarEtc) -> TypedTerm LambdaParameters
+ Hydra.Python.Dsl.Syntax: lambdaParams :: TypedTerm Lambda -> TypedTerm LambdaParameters
+ Hydra.Python.Dsl.Syntax: lambdaSlashNoDefault :: TypedTerm [LambdaParamNoDefault] -> TypedTerm LambdaSlashNoDefault
+ Hydra.Python.Dsl.Syntax: lambdaSlashNoDefaultLambdaSlashNoDefault :: TypedName LambdaSlashNoDefault
+ Hydra.Python.Dsl.Syntax: lambdaSlashNoDefaultParameters :: TypedTerm LambdaSlashNoDefault -> TypedTerm [LambdaParamNoDefault]
+ Hydra.Python.Dsl.Syntax: lambdaSlashNoDefaultWithParameters :: TypedTerm LambdaSlashNoDefault -> TypedTerm [LambdaParamNoDefault] -> TypedTerm LambdaSlashNoDefault
+ Hydra.Python.Dsl.Syntax: lambdaSlashWithDefault :: TypedTerm [LambdaParamNoDefault] -> TypedTerm [LambdaParamWithDefault] -> TypedTerm LambdaSlashWithDefault
+ Hydra.Python.Dsl.Syntax: lambdaSlashWithDefaultLambdaSlashWithDefault :: TypedName LambdaSlashWithDefault
+ Hydra.Python.Dsl.Syntax: lambdaSlashWithDefaultParamNoDefault :: TypedTerm LambdaSlashWithDefault -> TypedTerm [LambdaParamNoDefault]
+ Hydra.Python.Dsl.Syntax: lambdaSlashWithDefaultParamWithDefault :: TypedTerm LambdaSlashWithDefault -> TypedTerm [LambdaParamWithDefault]
+ Hydra.Python.Dsl.Syntax: lambdaSlashWithDefaultWithParamNoDefault :: TypedTerm LambdaSlashWithDefault -> TypedTerm [LambdaParamNoDefault] -> TypedTerm LambdaSlashWithDefault
+ Hydra.Python.Dsl.Syntax: lambdaSlashWithDefaultWithParamWithDefault :: TypedTerm LambdaSlashWithDefault -> TypedTerm [LambdaParamWithDefault] -> TypedTerm LambdaSlashWithDefault
+ Hydra.Python.Dsl.Syntax: lambdaStarEtcKwds :: TypedTerm LambdaKwds -> TypedTerm LambdaStarEtc
+ Hydra.Python.Dsl.Syntax: lambdaStarEtcLambdaStarEtc :: TypedName LambdaStarEtc
+ Hydra.Python.Dsl.Syntax: lambdaStarEtcParamMaybeDefault :: TypedTerm [LambdaParamMaybeDefault] -> TypedTerm LambdaStarEtc
+ Hydra.Python.Dsl.Syntax: lambdaStarEtcParamNoDefault :: TypedTerm LambdaParamNoDefault -> TypedTerm LambdaStarEtc
+ Hydra.Python.Dsl.Syntax: lambdaStarEtcStar :: TypedTerm Bool -> TypedTerm LambdaStarEtc
+ Hydra.Python.Dsl.Syntax: lambdaWithBody :: TypedTerm Lambda -> TypedTerm Expression -> TypedTerm Lambda
+ Hydra.Python.Dsl.Syntax: lambdaWithParams :: TypedTerm Lambda -> TypedTerm LambdaParameters -> TypedTerm Lambda
+ Hydra.Python.Dsl.Syntax: list :: TypedTerm [StarNamedExpression] -> TypedTerm List
+ Hydra.Python.Dsl.Syntax: listList :: TypedName List
+ Hydra.Python.Dsl.Syntax: listcomp :: TypedTerm NamedExpression -> TypedTerm ForIfClauses -> TypedTerm Listcomp
+ Hydra.Python.Dsl.Syntax: listcompExpression :: TypedTerm Listcomp -> TypedTerm NamedExpression
+ Hydra.Python.Dsl.Syntax: listcompForIfClauses :: TypedTerm Listcomp -> TypedTerm ForIfClauses
+ Hydra.Python.Dsl.Syntax: listcompListcomp :: TypedName Listcomp
+ Hydra.Python.Dsl.Syntax: listcompWithExpression :: TypedTerm Listcomp -> TypedTerm NamedExpression -> TypedTerm Listcomp
+ Hydra.Python.Dsl.Syntax: listcompWithForIfClauses :: TypedTerm Listcomp -> TypedTerm ForIfClauses -> TypedTerm Listcomp
+ Hydra.Python.Dsl.Syntax: literalExpressionComplex :: TypedTerm ComplexNumber -> TypedTerm LiteralExpression
+ Hydra.Python.Dsl.Syntax: literalExpressionFalse :: TypedTerm LiteralExpression
+ Hydra.Python.Dsl.Syntax: literalExpressionLiteralExpression :: TypedName LiteralExpression
+ Hydra.Python.Dsl.Syntax: literalExpressionNone :: TypedTerm LiteralExpression
+ Hydra.Python.Dsl.Syntax: literalExpressionNumber :: TypedTerm SignedNumber -> TypedTerm LiteralExpression
+ Hydra.Python.Dsl.Syntax: literalExpressionOrAttributeAttribute :: TypedTerm Attribute -> TypedTerm LiteralExpressionOrAttribute
+ Hydra.Python.Dsl.Syntax: literalExpressionOrAttributeLiteral :: TypedTerm LiteralExpression -> TypedTerm LiteralExpressionOrAttribute
+ Hydra.Python.Dsl.Syntax: literalExpressionOrAttributeLiteralExpressionOrAttribute :: TypedName LiteralExpressionOrAttribute
+ Hydra.Python.Dsl.Syntax: literalExpressionString :: TypedTerm String_ -> TypedTerm LiteralExpression
+ Hydra.Python.Dsl.Syntax: literalExpressionTrue :: TypedTerm LiteralExpression
+ Hydra.Python.Dsl.Syntax: mappingPattern :: TypedTerm (Maybe ItemsPattern) -> TypedTerm (Maybe DoubleStarPattern) -> TypedTerm MappingPattern
+ Hydra.Python.Dsl.Syntax: mappingPatternDoubleStar :: TypedTerm MappingPattern -> TypedTerm (Maybe DoubleStarPattern)
+ Hydra.Python.Dsl.Syntax: mappingPatternItems :: TypedTerm MappingPattern -> TypedTerm (Maybe ItemsPattern)
+ Hydra.Python.Dsl.Syntax: mappingPatternMappingPattern :: TypedName MappingPattern
+ Hydra.Python.Dsl.Syntax: mappingPatternWithDoubleStar :: TypedTerm MappingPattern -> TypedTerm (Maybe DoubleStarPattern) -> TypedTerm MappingPattern
+ Hydra.Python.Dsl.Syntax: mappingPatternWithItems :: TypedTerm MappingPattern -> TypedTerm (Maybe ItemsPattern) -> TypedTerm MappingPattern
+ Hydra.Python.Dsl.Syntax: matchStatement :: TypedTerm SubjectExpression -> TypedTerm [CaseBlock] -> TypedTerm MatchStatement
+ Hydra.Python.Dsl.Syntax: matchStatementCases :: TypedTerm MatchStatement -> TypedTerm [CaseBlock]
+ Hydra.Python.Dsl.Syntax: matchStatementMatchStatement :: TypedName MatchStatement
+ Hydra.Python.Dsl.Syntax: matchStatementSubject :: TypedTerm MatchStatement -> TypedTerm SubjectExpression
+ Hydra.Python.Dsl.Syntax: matchStatementWithCases :: TypedTerm MatchStatement -> TypedTerm [CaseBlock] -> TypedTerm MatchStatement
+ Hydra.Python.Dsl.Syntax: matchStatementWithSubject :: TypedTerm MatchStatement -> TypedTerm SubjectExpression -> TypedTerm MatchStatement
+ Hydra.Python.Dsl.Syntax: maybeSequencePattern :: TypedTerm [MaybeStarPattern] -> TypedTerm MaybeSequencePattern
+ Hydra.Python.Dsl.Syntax: maybeSequencePatternMaybeSequencePattern :: TypedName MaybeSequencePattern
+ Hydra.Python.Dsl.Syntax: maybeStarPatternMaybeStarPattern :: TypedName MaybeStarPattern
+ Hydra.Python.Dsl.Syntax: maybeStarPatternPattern :: TypedTerm Pattern -> TypedTerm MaybeStarPattern
+ Hydra.Python.Dsl.Syntax: maybeStarPatternStar :: TypedTerm StarPattern -> TypedTerm MaybeStarPattern
+ Hydra.Python.Dsl.Syntax: moduleModule :: TypedName Module
+ Hydra.Python.Dsl.Syntax: module_ :: TypedTerm [[Statement]] -> TypedTerm Module
+ Hydra.Python.Dsl.Syntax: name :: TypedTerm String -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: nameName :: TypedName Name
+ Hydra.Python.Dsl.Syntax: nameOrAttribute :: TypedTerm [Name] -> TypedTerm NameOrAttribute
+ Hydra.Python.Dsl.Syntax: nameOrAttributeNameOrAttribute :: TypedName NameOrAttribute
+ Hydra.Python.Dsl.Syntax: namedExpressionAssignment :: TypedTerm AssignmentExpression -> TypedTerm NamedExpression
+ Hydra.Python.Dsl.Syntax: namedExpressionNamedExpression :: TypedName NamedExpression
+ Hydra.Python.Dsl.Syntax: namedExpressionSimple :: TypedTerm Expression -> TypedTerm NamedExpression
+ Hydra.Python.Dsl.Syntax: noDefaultStarAnnotationStarEtc :: TypedTerm ParamNoDefaultStarAnnotation -> TypedTerm [ParamMaybeDefault] -> TypedTerm (Maybe Keywords) -> TypedTerm NoDefaultStarAnnotationStarEtc
+ Hydra.Python.Dsl.Syntax: noDefaultStarAnnotationStarEtcKeywords :: TypedTerm NoDefaultStarAnnotationStarEtc -> TypedTerm (Maybe Keywords)
+ Hydra.Python.Dsl.Syntax: noDefaultStarAnnotationStarEtcNoDefaultStarAnnotationStarEtc :: TypedName NoDefaultStarAnnotationStarEtc
+ Hydra.Python.Dsl.Syntax: noDefaultStarAnnotationStarEtcParamMaybeDefault :: TypedTerm NoDefaultStarAnnotationStarEtc -> TypedTerm [ParamMaybeDefault]
+ Hydra.Python.Dsl.Syntax: noDefaultStarAnnotationStarEtcParamNoDefaultStarAnnotation :: TypedTerm NoDefaultStarAnnotationStarEtc -> TypedTerm ParamNoDefaultStarAnnotation
+ Hydra.Python.Dsl.Syntax: noDefaultStarAnnotationStarEtcWithKeywords :: TypedTerm NoDefaultStarAnnotationStarEtc -> TypedTerm (Maybe Keywords) -> TypedTerm NoDefaultStarAnnotationStarEtc
+ Hydra.Python.Dsl.Syntax: noDefaultStarAnnotationStarEtcWithParamMaybeDefault :: TypedTerm NoDefaultStarAnnotationStarEtc -> TypedTerm [ParamMaybeDefault] -> TypedTerm NoDefaultStarAnnotationStarEtc
+ Hydra.Python.Dsl.Syntax: noDefaultStarAnnotationStarEtcWithParamNoDefaultStarAnnotation :: TypedTerm NoDefaultStarAnnotationStarEtc -> TypedTerm ParamNoDefaultStarAnnotation -> TypedTerm NoDefaultStarAnnotationStarEtc
+ Hydra.Python.Dsl.Syntax: noDefaultStarEtc :: TypedTerm ParamNoDefault -> TypedTerm [ParamMaybeDefault] -> TypedTerm (Maybe Keywords) -> TypedTerm NoDefaultStarEtc
+ Hydra.Python.Dsl.Syntax: noDefaultStarEtcKeywords :: TypedTerm NoDefaultStarEtc -> TypedTerm (Maybe Keywords)
+ Hydra.Python.Dsl.Syntax: noDefaultStarEtcNoDefaultStarEtc :: TypedName NoDefaultStarEtc
+ Hydra.Python.Dsl.Syntax: noDefaultStarEtcParamMaybeDefault :: TypedTerm NoDefaultStarEtc -> TypedTerm [ParamMaybeDefault]
+ Hydra.Python.Dsl.Syntax: noDefaultStarEtcParamNoDefault :: TypedTerm NoDefaultStarEtc -> TypedTerm ParamNoDefault
+ Hydra.Python.Dsl.Syntax: noDefaultStarEtcWithKeywords :: TypedTerm NoDefaultStarEtc -> TypedTerm (Maybe Keywords) -> TypedTerm NoDefaultStarEtc
+ Hydra.Python.Dsl.Syntax: noDefaultStarEtcWithParamMaybeDefault :: TypedTerm NoDefaultStarEtc -> TypedTerm [ParamMaybeDefault] -> TypedTerm NoDefaultStarEtc
+ Hydra.Python.Dsl.Syntax: noDefaultStarEtcWithParamNoDefault :: TypedTerm NoDefaultStarEtc -> TypedTerm ParamNoDefault -> TypedTerm NoDefaultStarEtc
+ Hydra.Python.Dsl.Syntax: numberFloat :: TypedTerm Double -> TypedTerm Number
+ Hydra.Python.Dsl.Syntax: numberImaginary :: TypedTerm Double -> TypedTerm Number
+ Hydra.Python.Dsl.Syntax: numberInteger :: TypedTerm Integer -> TypedTerm Number
+ Hydra.Python.Dsl.Syntax: numberNumber :: TypedName Number
+ Hydra.Python.Dsl.Syntax: openSequencePattern :: TypedTerm MaybeStarPattern -> TypedTerm (Maybe MaybeSequencePattern) -> TypedTerm OpenSequencePattern
+ Hydra.Python.Dsl.Syntax: openSequencePatternHead :: TypedTerm OpenSequencePattern -> TypedTerm MaybeStarPattern
+ Hydra.Python.Dsl.Syntax: openSequencePatternOpenSequencePattern :: TypedName OpenSequencePattern
+ Hydra.Python.Dsl.Syntax: openSequencePatternTail :: TypedTerm OpenSequencePattern -> TypedTerm (Maybe MaybeSequencePattern)
+ Hydra.Python.Dsl.Syntax: openSequencePatternWithHead :: TypedTerm OpenSequencePattern -> TypedTerm MaybeStarPattern -> TypedTerm OpenSequencePattern
+ Hydra.Python.Dsl.Syntax: openSequencePatternWithTail :: TypedTerm OpenSequencePattern -> TypedTerm (Maybe MaybeSequencePattern) -> TypedTerm OpenSequencePattern
+ Hydra.Python.Dsl.Syntax: orPattern :: TypedTerm [ClosedPattern] -> TypedTerm OrPattern
+ Hydra.Python.Dsl.Syntax: orPatternOrPattern :: TypedName OrPattern
+ Hydra.Python.Dsl.Syntax: param :: TypedTerm Name -> TypedTerm (Maybe Annotation) -> TypedTerm Param
+ Hydra.Python.Dsl.Syntax: paramAnnotation :: TypedTerm Param -> TypedTerm (Maybe Annotation)
+ Hydra.Python.Dsl.Syntax: paramMaybeDefault :: TypedTerm Param -> TypedTerm (Maybe Default) -> TypedTerm (Maybe TypeComment) -> TypedTerm ParamMaybeDefault
+ Hydra.Python.Dsl.Syntax: paramMaybeDefaultDefault :: TypedTerm ParamMaybeDefault -> TypedTerm (Maybe Default)
+ Hydra.Python.Dsl.Syntax: paramMaybeDefaultParam :: TypedTerm ParamMaybeDefault -> TypedTerm Param
+ Hydra.Python.Dsl.Syntax: paramMaybeDefaultParamMaybeDefault :: TypedName ParamMaybeDefault
+ Hydra.Python.Dsl.Syntax: paramMaybeDefaultTypeComment :: TypedTerm ParamMaybeDefault -> TypedTerm (Maybe TypeComment)
+ Hydra.Python.Dsl.Syntax: paramMaybeDefaultWithDefault :: TypedTerm ParamMaybeDefault -> TypedTerm (Maybe Default) -> TypedTerm ParamMaybeDefault
+ Hydra.Python.Dsl.Syntax: paramMaybeDefaultWithParam :: TypedTerm ParamMaybeDefault -> TypedTerm Param -> TypedTerm ParamMaybeDefault
+ Hydra.Python.Dsl.Syntax: paramMaybeDefaultWithTypeComment :: TypedTerm ParamMaybeDefault -> TypedTerm (Maybe TypeComment) -> TypedTerm ParamMaybeDefault
+ Hydra.Python.Dsl.Syntax: paramName :: TypedTerm Param -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: paramNoDefault :: TypedTerm Param -> TypedTerm (Maybe TypeComment) -> TypedTerm ParamNoDefault
+ Hydra.Python.Dsl.Syntax: paramNoDefaultParam :: TypedTerm ParamNoDefault -> TypedTerm Param
+ Hydra.Python.Dsl.Syntax: paramNoDefaultParamNoDefault :: TypedName ParamNoDefault
+ Hydra.Python.Dsl.Syntax: paramNoDefaultParameters :: TypedTerm [ParamNoDefault] -> TypedTerm [ParamWithDefault] -> TypedTerm (Maybe StarEtc) -> TypedTerm ParamNoDefaultParameters
+ Hydra.Python.Dsl.Syntax: paramNoDefaultParametersParamNoDefault :: TypedTerm ParamNoDefaultParameters -> TypedTerm [ParamNoDefault]
+ Hydra.Python.Dsl.Syntax: paramNoDefaultParametersParamNoDefaultParameters :: TypedName ParamNoDefaultParameters
+ Hydra.Python.Dsl.Syntax: paramNoDefaultParametersParamWithDefault :: TypedTerm ParamNoDefaultParameters -> TypedTerm [ParamWithDefault]
+ Hydra.Python.Dsl.Syntax: paramNoDefaultParametersStarEtc :: TypedTerm ParamNoDefaultParameters -> TypedTerm (Maybe StarEtc)
+ Hydra.Python.Dsl.Syntax: paramNoDefaultParametersWithParamNoDefault :: TypedTerm ParamNoDefaultParameters -> TypedTerm [ParamNoDefault] -> TypedTerm ParamNoDefaultParameters
+ Hydra.Python.Dsl.Syntax: paramNoDefaultParametersWithParamWithDefault :: TypedTerm ParamNoDefaultParameters -> TypedTerm [ParamWithDefault] -> TypedTerm ParamNoDefaultParameters
+ Hydra.Python.Dsl.Syntax: paramNoDefaultParametersWithStarEtc :: TypedTerm ParamNoDefaultParameters -> TypedTerm (Maybe StarEtc) -> TypedTerm ParamNoDefaultParameters
+ Hydra.Python.Dsl.Syntax: paramNoDefaultStarAnnotation :: TypedTerm ParamStarAnnotation -> TypedTerm (Maybe TypeComment) -> TypedTerm ParamNoDefaultStarAnnotation
+ Hydra.Python.Dsl.Syntax: paramNoDefaultStarAnnotationParamNoDefaultStarAnnotation :: TypedName ParamNoDefaultStarAnnotation
+ Hydra.Python.Dsl.Syntax: paramNoDefaultStarAnnotationParamStarAnnotation :: TypedTerm ParamNoDefaultStarAnnotation -> TypedTerm ParamStarAnnotation
+ Hydra.Python.Dsl.Syntax: paramNoDefaultStarAnnotationTypeComment :: TypedTerm ParamNoDefaultStarAnnotation -> TypedTerm (Maybe TypeComment)
+ Hydra.Python.Dsl.Syntax: paramNoDefaultStarAnnotationWithParamStarAnnotation :: TypedTerm ParamNoDefaultStarAnnotation -> TypedTerm ParamStarAnnotation -> TypedTerm ParamNoDefaultStarAnnotation
+ Hydra.Python.Dsl.Syntax: paramNoDefaultStarAnnotationWithTypeComment :: TypedTerm ParamNoDefaultStarAnnotation -> TypedTerm (Maybe TypeComment) -> TypedTerm ParamNoDefaultStarAnnotation
+ Hydra.Python.Dsl.Syntax: paramNoDefaultTypeComment :: TypedTerm ParamNoDefault -> TypedTerm (Maybe TypeComment)
+ Hydra.Python.Dsl.Syntax: paramNoDefaultWithParam :: TypedTerm ParamNoDefault -> TypedTerm Param -> TypedTerm ParamNoDefault
+ Hydra.Python.Dsl.Syntax: paramNoDefaultWithTypeComment :: TypedTerm ParamNoDefault -> TypedTerm (Maybe TypeComment) -> TypedTerm ParamNoDefault
+ Hydra.Python.Dsl.Syntax: paramParam :: TypedName Param
+ Hydra.Python.Dsl.Syntax: paramStarAnnotation :: TypedTerm Name -> TypedTerm StarAnnotation -> TypedTerm ParamStarAnnotation
+ Hydra.Python.Dsl.Syntax: paramStarAnnotationAnnotation :: TypedTerm ParamStarAnnotation -> TypedTerm StarAnnotation
+ Hydra.Python.Dsl.Syntax: paramStarAnnotationName :: TypedTerm ParamStarAnnotation -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: paramStarAnnotationParamStarAnnotation :: TypedName ParamStarAnnotation
+ Hydra.Python.Dsl.Syntax: paramStarAnnotationWithAnnotation :: TypedTerm ParamStarAnnotation -> TypedTerm StarAnnotation -> TypedTerm ParamStarAnnotation
+ Hydra.Python.Dsl.Syntax: paramStarAnnotationWithName :: TypedTerm ParamStarAnnotation -> TypedTerm Name -> TypedTerm ParamStarAnnotation
+ Hydra.Python.Dsl.Syntax: paramWithAnnotation :: TypedTerm Param -> TypedTerm (Maybe Annotation) -> TypedTerm Param
+ Hydra.Python.Dsl.Syntax: paramWithDefault :: TypedTerm Param -> TypedTerm Default -> TypedTerm (Maybe TypeComment) -> TypedTerm ParamWithDefault
+ Hydra.Python.Dsl.Syntax: paramWithDefaultDefault :: TypedTerm ParamWithDefault -> TypedTerm Default
+ Hydra.Python.Dsl.Syntax: paramWithDefaultParam :: TypedTerm ParamWithDefault -> TypedTerm Param
+ Hydra.Python.Dsl.Syntax: paramWithDefaultParamWithDefault :: TypedName ParamWithDefault
+ Hydra.Python.Dsl.Syntax: paramWithDefaultParameters :: TypedTerm [ParamWithDefault] -> TypedTerm (Maybe StarEtc) -> TypedTerm ParamWithDefaultParameters
+ Hydra.Python.Dsl.Syntax: paramWithDefaultParametersParamWithDefault :: TypedTerm ParamWithDefaultParameters -> TypedTerm [ParamWithDefault]
+ Hydra.Python.Dsl.Syntax: paramWithDefaultParametersParamWithDefaultParameters :: TypedName ParamWithDefaultParameters
+ Hydra.Python.Dsl.Syntax: paramWithDefaultParametersStarEtc :: TypedTerm ParamWithDefaultParameters -> TypedTerm (Maybe StarEtc)
+ Hydra.Python.Dsl.Syntax: paramWithDefaultParametersWithParamWithDefault :: TypedTerm ParamWithDefaultParameters -> TypedTerm [ParamWithDefault] -> TypedTerm ParamWithDefaultParameters
+ Hydra.Python.Dsl.Syntax: paramWithDefaultParametersWithStarEtc :: TypedTerm ParamWithDefaultParameters -> TypedTerm (Maybe StarEtc) -> TypedTerm ParamWithDefaultParameters
+ Hydra.Python.Dsl.Syntax: paramWithDefaultTypeComment :: TypedTerm ParamWithDefault -> TypedTerm (Maybe TypeComment)
+ Hydra.Python.Dsl.Syntax: paramWithDefaultWithDefault :: TypedTerm ParamWithDefault -> TypedTerm Default -> TypedTerm ParamWithDefault
+ Hydra.Python.Dsl.Syntax: paramWithDefaultWithParam :: TypedTerm ParamWithDefault -> TypedTerm Param -> TypedTerm ParamWithDefault
+ Hydra.Python.Dsl.Syntax: paramWithDefaultWithTypeComment :: TypedTerm ParamWithDefault -> TypedTerm (Maybe TypeComment) -> TypedTerm ParamWithDefault
+ Hydra.Python.Dsl.Syntax: paramWithName :: TypedTerm Param -> TypedTerm Name -> TypedTerm Param
+ Hydra.Python.Dsl.Syntax: parametersParamNoDefault :: TypedTerm ParamNoDefaultParameters -> TypedTerm Parameters
+ Hydra.Python.Dsl.Syntax: parametersParamWithDefault :: TypedTerm ParamWithDefaultParameters -> TypedTerm Parameters
+ Hydra.Python.Dsl.Syntax: parametersParameters :: TypedName Parameters
+ Hydra.Python.Dsl.Syntax: parametersSlashNoDefault :: TypedTerm SlashNoDefaultParameters -> TypedTerm Parameters
+ Hydra.Python.Dsl.Syntax: parametersSlashWithDefault :: TypedTerm SlashWithDefaultParameters -> TypedTerm Parameters
+ Hydra.Python.Dsl.Syntax: parametersStarEtc :: TypedTerm StarEtc -> TypedTerm Parameters
+ Hydra.Python.Dsl.Syntax: patternAs :: TypedTerm AsPattern -> TypedTerm Pattern
+ Hydra.Python.Dsl.Syntax: patternCaptureTarget :: TypedTerm Name -> TypedTerm PatternCaptureTarget
+ Hydra.Python.Dsl.Syntax: patternCaptureTargetPatternCaptureTarget :: TypedName PatternCaptureTarget
+ Hydra.Python.Dsl.Syntax: patternOr :: TypedTerm OrPattern -> TypedTerm Pattern
+ Hydra.Python.Dsl.Syntax: patternPattern :: TypedName Pattern
+ Hydra.Python.Dsl.Syntax: patternsPattern :: TypedTerm Pattern -> TypedTerm Patterns
+ Hydra.Python.Dsl.Syntax: patternsPatterns :: TypedName Patterns
+ Hydra.Python.Dsl.Syntax: patternsSequence :: TypedTerm OpenSequencePattern -> TypedTerm Patterns
+ Hydra.Python.Dsl.Syntax: plusOrMinusMinus :: TypedTerm PlusOrMinus
+ Hydra.Python.Dsl.Syntax: plusOrMinusPlus :: TypedTerm PlusOrMinus
+ Hydra.Python.Dsl.Syntax: plusOrMinusPlusOrMinus :: TypedName PlusOrMinus
+ Hydra.Python.Dsl.Syntax: posArgAssignment :: TypedTerm AssignmentExpression -> TypedTerm PosArg
+ Hydra.Python.Dsl.Syntax: posArgExpression :: TypedTerm Expression -> TypedTerm PosArg
+ Hydra.Python.Dsl.Syntax: posArgPosArg :: TypedName PosArg
+ Hydra.Python.Dsl.Syntax: posArgStarred :: TypedTerm StarredExpression -> TypedTerm PosArg
+ Hydra.Python.Dsl.Syntax: positionalPatterns :: TypedTerm [Pattern] -> TypedTerm PositionalPatterns
+ Hydra.Python.Dsl.Syntax: positionalPatternsPositionalPatterns :: TypedName PositionalPatterns
+ Hydra.Python.Dsl.Syntax: power :: TypedTerm AwaitPrimary -> TypedTerm (Maybe Factor) -> TypedTerm Power
+ Hydra.Python.Dsl.Syntax: powerLhs :: TypedTerm Power -> TypedTerm AwaitPrimary
+ Hydra.Python.Dsl.Syntax: powerPower :: TypedName Power
+ Hydra.Python.Dsl.Syntax: powerRhs :: TypedTerm Power -> TypedTerm (Maybe Factor)
+ Hydra.Python.Dsl.Syntax: powerWithLhs :: TypedTerm Power -> TypedTerm AwaitPrimary -> TypedTerm Power
+ Hydra.Python.Dsl.Syntax: powerWithRhs :: TypedTerm Power -> TypedTerm (Maybe Factor) -> TypedTerm Power
+ Hydra.Python.Dsl.Syntax: primaryCompound :: TypedTerm PrimaryWithRhs -> TypedTerm Primary
+ Hydra.Python.Dsl.Syntax: primaryPrimary :: TypedName Primary
+ Hydra.Python.Dsl.Syntax: primaryRhsCall :: TypedTerm Args -> TypedTerm PrimaryRhs
+ Hydra.Python.Dsl.Syntax: primaryRhsGenexp :: TypedTerm Genexp -> TypedTerm PrimaryRhs
+ Hydra.Python.Dsl.Syntax: primaryRhsPrimaryRhs :: TypedName PrimaryRhs
+ Hydra.Python.Dsl.Syntax: primaryRhsProject :: TypedTerm Name -> TypedTerm PrimaryRhs
+ Hydra.Python.Dsl.Syntax: primaryRhsSlices :: TypedTerm Slices -> TypedTerm PrimaryRhs
+ Hydra.Python.Dsl.Syntax: primarySimple :: TypedTerm Atom -> TypedTerm Primary
+ Hydra.Python.Dsl.Syntax: primaryWithRhs :: TypedTerm Primary -> TypedTerm PrimaryRhs -> TypedTerm PrimaryWithRhs
+ Hydra.Python.Dsl.Syntax: primaryWithRhsPrimary :: TypedTerm PrimaryWithRhs -> TypedTerm Primary
+ Hydra.Python.Dsl.Syntax: primaryWithRhsPrimaryWithRhs :: TypedName PrimaryWithRhs
+ Hydra.Python.Dsl.Syntax: primaryWithRhsRhs :: TypedTerm PrimaryWithRhs -> TypedTerm PrimaryRhs
+ Hydra.Python.Dsl.Syntax: primaryWithRhsWithPrimary :: TypedTerm PrimaryWithRhs -> TypedTerm Primary -> TypedTerm PrimaryWithRhs
+ Hydra.Python.Dsl.Syntax: primaryWithRhsWithRhs :: TypedTerm PrimaryWithRhs -> TypedTerm PrimaryRhs -> TypedTerm PrimaryWithRhs
+ Hydra.Python.Dsl.Syntax: quoteStyleDouble :: TypedTerm QuoteStyle
+ Hydra.Python.Dsl.Syntax: quoteStyleQuoteStyle :: TypedName QuoteStyle
+ Hydra.Python.Dsl.Syntax: quoteStyleSingle :: TypedTerm QuoteStyle
+ Hydra.Python.Dsl.Syntax: quoteStyleTripleDouble :: TypedTerm QuoteStyle
+ Hydra.Python.Dsl.Syntax: quoteStyleTripleSingle :: TypedTerm QuoteStyle
+ Hydra.Python.Dsl.Syntax: raiseExpression :: TypedTerm Expression -> TypedTerm (Maybe Expression) -> TypedTerm RaiseExpression
+ Hydra.Python.Dsl.Syntax: raiseExpressionExpression :: TypedTerm RaiseExpression -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: raiseExpressionFrom :: TypedTerm RaiseExpression -> TypedTerm (Maybe Expression)
+ Hydra.Python.Dsl.Syntax: raiseExpressionRaiseExpression :: TypedName RaiseExpression
+ Hydra.Python.Dsl.Syntax: raiseExpressionWithExpression :: TypedTerm RaiseExpression -> TypedTerm Expression -> TypedTerm RaiseExpression
+ Hydra.Python.Dsl.Syntax: raiseExpressionWithFrom :: TypedTerm RaiseExpression -> TypedTerm (Maybe Expression) -> TypedTerm RaiseExpression
+ Hydra.Python.Dsl.Syntax: raiseStatement :: TypedTerm (Maybe RaiseExpression) -> TypedTerm RaiseStatement
+ Hydra.Python.Dsl.Syntax: raiseStatementRaiseStatement :: TypedName RaiseStatement
+ Hydra.Python.Dsl.Syntax: realNumberFloat :: TypedTerm Double -> TypedTerm RealNumber
+ Hydra.Python.Dsl.Syntax: realNumberInteger :: TypedTerm Integer -> TypedTerm RealNumber
+ Hydra.Python.Dsl.Syntax: realNumberRealNumber :: TypedName RealNumber
+ Hydra.Python.Dsl.Syntax: relativeImportPrefixDot :: TypedTerm RelativeImportPrefix
+ Hydra.Python.Dsl.Syntax: relativeImportPrefixEllipsis :: TypedTerm RelativeImportPrefix
+ Hydra.Python.Dsl.Syntax: relativeImportPrefixRelativeImportPrefix :: TypedName RelativeImportPrefix
+ Hydra.Python.Dsl.Syntax: returnStatement :: TypedTerm [StarExpression] -> TypedTerm ReturnStatement
+ Hydra.Python.Dsl.Syntax: returnStatementReturnStatement :: TypedName ReturnStatement
+ Hydra.Python.Dsl.Syntax: sequencePatternList :: TypedTerm (Maybe MaybeSequencePattern) -> TypedTerm SequencePattern
+ Hydra.Python.Dsl.Syntax: sequencePatternSequencePattern :: TypedName SequencePattern
+ Hydra.Python.Dsl.Syntax: sequencePatternTuple :: TypedTerm (Maybe OpenSequencePattern) -> TypedTerm SequencePattern
+ Hydra.Python.Dsl.Syntax: set :: TypedTerm [StarNamedExpression] -> TypedTerm Set
+ Hydra.Python.Dsl.Syntax: setSet :: TypedName Set
+ Hydra.Python.Dsl.Syntax: setcomp :: TypedTerm NamedExpression -> TypedTerm ForIfClauses -> TypedTerm Setcomp
+ Hydra.Python.Dsl.Syntax: setcompExpression :: TypedTerm Setcomp -> TypedTerm NamedExpression
+ Hydra.Python.Dsl.Syntax: setcompForIfClauses :: TypedTerm Setcomp -> TypedTerm ForIfClauses
+ Hydra.Python.Dsl.Syntax: setcompSetcomp :: TypedName Setcomp
+ Hydra.Python.Dsl.Syntax: setcompWithExpression :: TypedTerm Setcomp -> TypedTerm NamedExpression -> TypedTerm Setcomp
+ Hydra.Python.Dsl.Syntax: setcompWithForIfClauses :: TypedTerm Setcomp -> TypedTerm ForIfClauses -> TypedTerm Setcomp
+ Hydra.Python.Dsl.Syntax: shiftExpression :: TypedTerm (Maybe ShiftLhs) -> TypedTerm Sum -> TypedTerm ShiftExpression
+ Hydra.Python.Dsl.Syntax: shiftExpressionLhs :: TypedTerm ShiftExpression -> TypedTerm (Maybe ShiftLhs)
+ Hydra.Python.Dsl.Syntax: shiftExpressionRhs :: TypedTerm ShiftExpression -> TypedTerm Sum
+ Hydra.Python.Dsl.Syntax: shiftExpressionShiftExpression :: TypedName ShiftExpression
+ Hydra.Python.Dsl.Syntax: shiftExpressionWithLhs :: TypedTerm ShiftExpression -> TypedTerm (Maybe ShiftLhs) -> TypedTerm ShiftExpression
+ Hydra.Python.Dsl.Syntax: shiftExpressionWithRhs :: TypedTerm ShiftExpression -> TypedTerm Sum -> TypedTerm ShiftExpression
+ Hydra.Python.Dsl.Syntax: shiftLhs :: TypedTerm ShiftExpression -> TypedTerm ShiftOp -> TypedTerm ShiftLhs
+ Hydra.Python.Dsl.Syntax: shiftLhsOperand :: TypedTerm ShiftLhs -> TypedTerm ShiftExpression
+ Hydra.Python.Dsl.Syntax: shiftLhsOperator :: TypedTerm ShiftLhs -> TypedTerm ShiftOp
+ Hydra.Python.Dsl.Syntax: shiftLhsShiftLhs :: TypedName ShiftLhs
+ Hydra.Python.Dsl.Syntax: shiftLhsWithOperand :: TypedTerm ShiftLhs -> TypedTerm ShiftExpression -> TypedTerm ShiftLhs
+ Hydra.Python.Dsl.Syntax: shiftLhsWithOperator :: TypedTerm ShiftLhs -> TypedTerm ShiftOp -> TypedTerm ShiftLhs
+ Hydra.Python.Dsl.Syntax: shiftOpLeft :: TypedTerm ShiftOp
+ Hydra.Python.Dsl.Syntax: shiftOpRight :: TypedTerm ShiftOp
+ Hydra.Python.Dsl.Syntax: shiftOpShiftOp :: TypedName ShiftOp
+ Hydra.Python.Dsl.Syntax: signedNumberNumber :: TypedTerm Number -> TypedTerm SignedNumber
+ Hydra.Python.Dsl.Syntax: signedNumberSign :: TypedTerm PlusOrMinus -> TypedTerm SignedNumber
+ Hydra.Python.Dsl.Syntax: signedNumberSignedNumber :: TypedName SignedNumber
+ Hydra.Python.Dsl.Syntax: signedRealNumberNumber :: TypedTerm RealNumber -> TypedTerm SignedRealNumber
+ Hydra.Python.Dsl.Syntax: signedRealNumberSign :: TypedTerm PlusOrMinus -> TypedTerm SignedRealNumber
+ Hydra.Python.Dsl.Syntax: signedRealNumberSignedRealNumber :: TypedName SignedRealNumber
+ Hydra.Python.Dsl.Syntax: simpleStatementAssert :: TypedTerm AssertStatement -> TypedTerm SimpleStatement
+ Hydra.Python.Dsl.Syntax: simpleStatementAssignment :: TypedTerm Assignment -> TypedTerm SimpleStatement
+ Hydra.Python.Dsl.Syntax: simpleStatementBreak :: TypedTerm SimpleStatement
+ Hydra.Python.Dsl.Syntax: simpleStatementContinue :: TypedTerm SimpleStatement
+ Hydra.Python.Dsl.Syntax: simpleStatementDel :: TypedTerm DelStatement -> TypedTerm SimpleStatement
+ Hydra.Python.Dsl.Syntax: simpleStatementGlobal :: TypedTerm [Name] -> TypedTerm SimpleStatement
+ Hydra.Python.Dsl.Syntax: simpleStatementImport :: TypedTerm ImportStatement -> TypedTerm SimpleStatement
+ Hydra.Python.Dsl.Syntax: simpleStatementNonlocal :: TypedTerm [Name] -> TypedTerm SimpleStatement
+ Hydra.Python.Dsl.Syntax: simpleStatementPass :: TypedTerm SimpleStatement
+ Hydra.Python.Dsl.Syntax: simpleStatementRaise :: TypedTerm RaiseStatement -> TypedTerm SimpleStatement
+ Hydra.Python.Dsl.Syntax: simpleStatementReturn :: TypedTerm ReturnStatement -> TypedTerm SimpleStatement
+ Hydra.Python.Dsl.Syntax: simpleStatementSimpleStatement :: TypedName SimpleStatement
+ Hydra.Python.Dsl.Syntax: simpleStatementStarExpressions :: TypedTerm [StarExpression] -> TypedTerm SimpleStatement
+ Hydra.Python.Dsl.Syntax: simpleStatementTypeAlias :: TypedTerm TypeAlias -> TypedTerm SimpleStatement
+ Hydra.Python.Dsl.Syntax: simpleStatementYield :: TypedTerm YieldStatement -> TypedTerm SimpleStatement
+ Hydra.Python.Dsl.Syntax: simpleTypeParameter :: TypedTerm Name -> TypedTerm (Maybe Expression) -> TypedTerm (Maybe Expression) -> TypedTerm SimpleTypeParameter
+ Hydra.Python.Dsl.Syntax: simpleTypeParameterBound :: TypedTerm SimpleTypeParameter -> TypedTerm (Maybe Expression)
+ Hydra.Python.Dsl.Syntax: simpleTypeParameterDefault :: TypedTerm SimpleTypeParameter -> TypedTerm (Maybe Expression)
+ Hydra.Python.Dsl.Syntax: simpleTypeParameterName :: TypedTerm SimpleTypeParameter -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: simpleTypeParameterSimpleTypeParameter :: TypedName SimpleTypeParameter
+ Hydra.Python.Dsl.Syntax: simpleTypeParameterWithBound :: TypedTerm SimpleTypeParameter -> TypedTerm (Maybe Expression) -> TypedTerm SimpleTypeParameter
+ Hydra.Python.Dsl.Syntax: simpleTypeParameterWithDefault :: TypedTerm SimpleTypeParameter -> TypedTerm (Maybe Expression) -> TypedTerm SimpleTypeParameter
+ Hydra.Python.Dsl.Syntax: simpleTypeParameterWithName :: TypedTerm SimpleTypeParameter -> TypedTerm Name -> TypedTerm SimpleTypeParameter
+ Hydra.Python.Dsl.Syntax: singleSubscriptAttributeTargetPrimaryAndName :: TypedTerm TPrimaryAndName -> TypedTerm SingleSubscriptAttributeTarget
+ Hydra.Python.Dsl.Syntax: singleSubscriptAttributeTargetPrimaryAndSlices :: TypedTerm TPrimaryAndSlices -> TypedTerm SingleSubscriptAttributeTarget
+ Hydra.Python.Dsl.Syntax: singleSubscriptAttributeTargetSingleSubscriptAttributeTarget :: TypedName SingleSubscriptAttributeTarget
+ Hydra.Python.Dsl.Syntax: singleTargetName :: TypedTerm Name -> TypedTerm SingleTarget
+ Hydra.Python.Dsl.Syntax: singleTargetParens :: TypedTerm SingleTarget -> TypedTerm SingleTarget
+ Hydra.Python.Dsl.Syntax: singleTargetSingleTarget :: TypedName SingleTarget
+ Hydra.Python.Dsl.Syntax: singleTargetSubscriptAttributeTarget :: TypedTerm SingleSubscriptAttributeTarget -> TypedTerm SingleTarget
+ Hydra.Python.Dsl.Syntax: slashNoDefault :: TypedTerm [ParamNoDefault] -> TypedTerm SlashNoDefault
+ Hydra.Python.Dsl.Syntax: slashNoDefaultParameters :: TypedTerm SlashNoDefault -> TypedTerm [ParamNoDefault] -> TypedTerm [ParamWithDefault] -> TypedTerm (Maybe StarEtc) -> TypedTerm SlashNoDefaultParameters
+ Hydra.Python.Dsl.Syntax: slashNoDefaultParametersParamNoDefault :: TypedTerm SlashNoDefaultParameters -> TypedTerm [ParamNoDefault]
+ Hydra.Python.Dsl.Syntax: slashNoDefaultParametersParamWithDefault :: TypedTerm SlashNoDefaultParameters -> TypedTerm [ParamWithDefault]
+ Hydra.Python.Dsl.Syntax: slashNoDefaultParametersSlash :: TypedTerm SlashNoDefaultParameters -> TypedTerm SlashNoDefault
+ Hydra.Python.Dsl.Syntax: slashNoDefaultParametersSlashNoDefaultParameters :: TypedName SlashNoDefaultParameters
+ Hydra.Python.Dsl.Syntax: slashNoDefaultParametersStarEtc :: TypedTerm SlashNoDefaultParameters -> TypedTerm (Maybe StarEtc)
+ Hydra.Python.Dsl.Syntax: slashNoDefaultParametersWithParamNoDefault :: TypedTerm SlashNoDefaultParameters -> TypedTerm [ParamNoDefault] -> TypedTerm SlashNoDefaultParameters
+ Hydra.Python.Dsl.Syntax: slashNoDefaultParametersWithParamWithDefault :: TypedTerm SlashNoDefaultParameters -> TypedTerm [ParamWithDefault] -> TypedTerm SlashNoDefaultParameters
+ Hydra.Python.Dsl.Syntax: slashNoDefaultParametersWithSlash :: TypedTerm SlashNoDefaultParameters -> TypedTerm SlashNoDefault -> TypedTerm SlashNoDefaultParameters
+ Hydra.Python.Dsl.Syntax: slashNoDefaultParametersWithStarEtc :: TypedTerm SlashNoDefaultParameters -> TypedTerm (Maybe StarEtc) -> TypedTerm SlashNoDefaultParameters
+ Hydra.Python.Dsl.Syntax: slashNoDefaultSlashNoDefault :: TypedName SlashNoDefault
+ Hydra.Python.Dsl.Syntax: slashWithDefault :: TypedTerm [ParamNoDefault] -> TypedTerm [ParamWithDefault] -> TypedTerm SlashWithDefault
+ Hydra.Python.Dsl.Syntax: slashWithDefaultParamNoDefault :: TypedTerm SlashWithDefault -> TypedTerm [ParamNoDefault]
+ Hydra.Python.Dsl.Syntax: slashWithDefaultParamWithDefault :: TypedTerm SlashWithDefault -> TypedTerm [ParamWithDefault]
+ Hydra.Python.Dsl.Syntax: slashWithDefaultParameters :: TypedTerm [ParamNoDefault] -> TypedTerm [ParamWithDefault] -> TypedTerm (Maybe StarEtc) -> TypedTerm SlashWithDefaultParameters
+ Hydra.Python.Dsl.Syntax: slashWithDefaultParametersParamNoDefault :: TypedTerm SlashWithDefaultParameters -> TypedTerm [ParamNoDefault]
+ Hydra.Python.Dsl.Syntax: slashWithDefaultParametersParamWithDefault :: TypedTerm SlashWithDefaultParameters -> TypedTerm [ParamWithDefault]
+ Hydra.Python.Dsl.Syntax: slashWithDefaultParametersSlashWithDefaultParameters :: TypedName SlashWithDefaultParameters
+ Hydra.Python.Dsl.Syntax: slashWithDefaultParametersStarEtc :: TypedTerm SlashWithDefaultParameters -> TypedTerm (Maybe StarEtc)
+ Hydra.Python.Dsl.Syntax: slashWithDefaultParametersWithParamNoDefault :: TypedTerm SlashWithDefaultParameters -> TypedTerm [ParamNoDefault] -> TypedTerm SlashWithDefaultParameters
+ Hydra.Python.Dsl.Syntax: slashWithDefaultParametersWithParamWithDefault :: TypedTerm SlashWithDefaultParameters -> TypedTerm [ParamWithDefault] -> TypedTerm SlashWithDefaultParameters
+ Hydra.Python.Dsl.Syntax: slashWithDefaultParametersWithStarEtc :: TypedTerm SlashWithDefaultParameters -> TypedTerm (Maybe StarEtc) -> TypedTerm SlashWithDefaultParameters
+ Hydra.Python.Dsl.Syntax: slashWithDefaultSlashWithDefault :: TypedName SlashWithDefault
+ Hydra.Python.Dsl.Syntax: slashWithDefaultWithParamNoDefault :: TypedTerm SlashWithDefault -> TypedTerm [ParamNoDefault] -> TypedTerm SlashWithDefault
+ Hydra.Python.Dsl.Syntax: slashWithDefaultWithParamWithDefault :: TypedTerm SlashWithDefault -> TypedTerm [ParamWithDefault] -> TypedTerm SlashWithDefault
+ Hydra.Python.Dsl.Syntax: sliceExpression :: TypedTerm (Maybe Expression) -> TypedTerm (Maybe Expression) -> TypedTerm (Maybe Expression) -> TypedTerm SliceExpression
+ Hydra.Python.Dsl.Syntax: sliceExpressionSliceExpression :: TypedName SliceExpression
+ Hydra.Python.Dsl.Syntax: sliceExpressionStart :: TypedTerm SliceExpression -> TypedTerm (Maybe Expression)
+ Hydra.Python.Dsl.Syntax: sliceExpressionStep :: TypedTerm SliceExpression -> TypedTerm (Maybe Expression)
+ Hydra.Python.Dsl.Syntax: sliceExpressionStop :: TypedTerm SliceExpression -> TypedTerm (Maybe Expression)
+ Hydra.Python.Dsl.Syntax: sliceExpressionWithStart :: TypedTerm SliceExpression -> TypedTerm (Maybe Expression) -> TypedTerm SliceExpression
+ Hydra.Python.Dsl.Syntax: sliceExpressionWithStep :: TypedTerm SliceExpression -> TypedTerm (Maybe Expression) -> TypedTerm SliceExpression
+ Hydra.Python.Dsl.Syntax: sliceExpressionWithStop :: TypedTerm SliceExpression -> TypedTerm (Maybe Expression) -> TypedTerm SliceExpression
+ Hydra.Python.Dsl.Syntax: sliceNamed :: TypedTerm NamedExpression -> TypedTerm Slice
+ Hydra.Python.Dsl.Syntax: sliceOrStarredExpressionSlice :: TypedTerm Slice -> TypedTerm SliceOrStarredExpression
+ Hydra.Python.Dsl.Syntax: sliceOrStarredExpressionSliceOrStarredExpression :: TypedName SliceOrStarredExpression
+ Hydra.Python.Dsl.Syntax: sliceOrStarredExpressionStarred :: TypedTerm StarredExpression -> TypedTerm SliceOrStarredExpression
+ Hydra.Python.Dsl.Syntax: sliceSlice :: TypedName Slice
+ Hydra.Python.Dsl.Syntax: sliceSlice_ :: TypedTerm SliceExpression -> TypedTerm Slice
+ Hydra.Python.Dsl.Syntax: slices :: TypedTerm Slice -> TypedTerm [SliceOrStarredExpression] -> TypedTerm Slices
+ Hydra.Python.Dsl.Syntax: slicesHead :: TypedTerm Slices -> TypedTerm Slice
+ Hydra.Python.Dsl.Syntax: slicesSlices :: TypedName Slices
+ Hydra.Python.Dsl.Syntax: slicesTail :: TypedTerm Slices -> TypedTerm [SliceOrStarredExpression]
+ Hydra.Python.Dsl.Syntax: slicesWithHead :: TypedTerm Slices -> TypedTerm Slice -> TypedTerm Slices
+ Hydra.Python.Dsl.Syntax: slicesWithTail :: TypedTerm Slices -> TypedTerm [SliceOrStarredExpression] -> TypedTerm Slices
+ Hydra.Python.Dsl.Syntax: starAnnotation :: TypedTerm StarExpression -> TypedTerm StarAnnotation
+ Hydra.Python.Dsl.Syntax: starAnnotationStarAnnotation :: TypedName StarAnnotation
+ Hydra.Python.Dsl.Syntax: starAtomName :: TypedTerm Name -> TypedTerm StarAtom
+ Hydra.Python.Dsl.Syntax: starAtomStarAtom :: TypedName StarAtom
+ Hydra.Python.Dsl.Syntax: starAtomStarTargetsListSeq :: TypedTerm (Maybe StarTargetsListSeq) -> TypedTerm StarAtom
+ Hydra.Python.Dsl.Syntax: starAtomStarTargetsTupleSeq :: TypedTerm (Maybe StarTargetsTupleSeq) -> TypedTerm StarAtom
+ Hydra.Python.Dsl.Syntax: starAtomTargetWithStarAtom :: TypedTerm TargetWithStarAtom -> TypedTerm StarAtom
+ Hydra.Python.Dsl.Syntax: starEtcKeywords :: TypedTerm Keywords -> TypedTerm StarEtc
+ Hydra.Python.Dsl.Syntax: starEtcStarComma :: TypedTerm CommaStarEtc -> TypedTerm StarEtc
+ Hydra.Python.Dsl.Syntax: starEtcStarEtc :: TypedName StarEtc
+ Hydra.Python.Dsl.Syntax: starEtcStarNoDefault :: TypedTerm NoDefaultStarEtc -> TypedTerm StarEtc
+ Hydra.Python.Dsl.Syntax: starEtcStarNoDefaultStarAnnotation :: TypedTerm NoDefaultStarAnnotationStarEtc -> TypedTerm StarEtc
+ Hydra.Python.Dsl.Syntax: starExpressionSimple :: TypedTerm Expression -> TypedTerm StarExpression
+ Hydra.Python.Dsl.Syntax: starExpressionStar :: TypedTerm BitwiseOr -> TypedTerm StarExpression
+ Hydra.Python.Dsl.Syntax: starExpressionStarExpression :: TypedName StarExpression
+ Hydra.Python.Dsl.Syntax: starNamedExpressionSimple :: TypedTerm NamedExpression -> TypedTerm StarNamedExpression
+ Hydra.Python.Dsl.Syntax: starNamedExpressionStar :: TypedTerm BitwiseOr -> TypedTerm StarNamedExpression
+ Hydra.Python.Dsl.Syntax: starNamedExpressionStarNamedExpression :: TypedName StarNamedExpression
+ Hydra.Python.Dsl.Syntax: starNamedExpressions :: TypedTerm [StarNamedExpression] -> TypedTerm StarNamedExpressions
+ Hydra.Python.Dsl.Syntax: starNamedExpressionsStarNamedExpressions :: TypedName StarNamedExpressions
+ Hydra.Python.Dsl.Syntax: starPatternCapture :: TypedTerm PatternCaptureTarget -> TypedTerm StarPattern
+ Hydra.Python.Dsl.Syntax: starPatternStarPattern :: TypedName StarPattern
+ Hydra.Python.Dsl.Syntax: starPatternWildcard :: TypedTerm StarPattern
+ Hydra.Python.Dsl.Syntax: starTargetStarTarget :: TypedName StarTarget
+ Hydra.Python.Dsl.Syntax: starTargetStarred :: TypedTerm StarTarget -> TypedTerm StarTarget
+ Hydra.Python.Dsl.Syntax: starTargetUnstarred :: TypedTerm TargetWithStarAtom -> TypedTerm StarTarget
+ Hydra.Python.Dsl.Syntax: starTargetsListSeq :: TypedTerm [StarTarget] -> TypedTerm StarTargetsListSeq
+ Hydra.Python.Dsl.Syntax: starTargetsListSeqStarTargetsListSeq :: TypedName StarTargetsListSeq
+ Hydra.Python.Dsl.Syntax: starTargetsTupleSeq :: TypedTerm [StarTarget] -> TypedTerm StarTargetsTupleSeq
+ Hydra.Python.Dsl.Syntax: starTargetsTupleSeqStarTargetsTupleSeq :: TypedName StarTargetsTupleSeq
+ Hydra.Python.Dsl.Syntax: starTypeParameter :: TypedTerm Name -> TypedTerm (Maybe StarExpression) -> TypedTerm StarTypeParameter
+ Hydra.Python.Dsl.Syntax: starTypeParameterDefault :: TypedTerm StarTypeParameter -> TypedTerm (Maybe StarExpression)
+ Hydra.Python.Dsl.Syntax: starTypeParameterName :: TypedTerm StarTypeParameter -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: starTypeParameterStarTypeParameter :: TypedName StarTypeParameter
+ Hydra.Python.Dsl.Syntax: starTypeParameterWithDefault :: TypedTerm StarTypeParameter -> TypedTerm (Maybe StarExpression) -> TypedTerm StarTypeParameter
+ Hydra.Python.Dsl.Syntax: starTypeParameterWithName :: TypedTerm StarTypeParameter -> TypedTerm Name -> TypedTerm StarTypeParameter
+ Hydra.Python.Dsl.Syntax: starredExpression :: TypedTerm Expression -> TypedTerm StarredExpression
+ Hydra.Python.Dsl.Syntax: starredExpressionStarredExpression :: TypedName StarredExpression
+ Hydra.Python.Dsl.Syntax: statementAnnotated :: TypedTerm AnnotatedStatement -> TypedTerm Statement
+ Hydra.Python.Dsl.Syntax: statementCompound :: TypedTerm CompoundStatement -> TypedTerm Statement
+ Hydra.Python.Dsl.Syntax: statementSimple :: TypedTerm [SimpleStatement] -> TypedTerm Statement
+ Hydra.Python.Dsl.Syntax: statementStatement :: TypedName Statement
+ Hydra.Python.Dsl.Syntax: string :: TypedTerm String -> TypedTerm (Maybe StringPrefix) -> TypedTerm QuoteStyle -> TypedTerm String_
+ Hydra.Python.Dsl.Syntax: stringPrefix :: TypedTerm String_ -> TypedTerm (Maybe StringPrefix)
+ Hydra.Python.Dsl.Syntax: stringPrefixBytes :: TypedTerm StringPrefix
+ Hydra.Python.Dsl.Syntax: stringPrefixRaw :: TypedTerm StringPrefix
+ Hydra.Python.Dsl.Syntax: stringPrefixRawBytes :: TypedTerm StringPrefix
+ Hydra.Python.Dsl.Syntax: stringPrefixStringPrefix :: TypedName StringPrefix
+ Hydra.Python.Dsl.Syntax: stringPrefixUnicode :: TypedTerm StringPrefix
+ Hydra.Python.Dsl.Syntax: stringQuoteStyle :: TypedTerm String_ -> TypedTerm QuoteStyle
+ Hydra.Python.Dsl.Syntax: stringString :: TypedName String_
+ Hydra.Python.Dsl.Syntax: stringValue :: TypedTerm String_ -> TypedTerm String
+ Hydra.Python.Dsl.Syntax: stringWithPrefix :: TypedTerm String_ -> TypedTerm (Maybe StringPrefix) -> TypedTerm String_
+ Hydra.Python.Dsl.Syntax: stringWithQuoteStyle :: TypedTerm String_ -> TypedTerm QuoteStyle -> TypedTerm String_
+ Hydra.Python.Dsl.Syntax: stringWithValue :: TypedTerm String_ -> TypedTerm String -> TypedTerm String_
+ Hydra.Python.Dsl.Syntax: subjectExpressionSimple :: TypedTerm NamedExpression -> TypedTerm SubjectExpression
+ Hydra.Python.Dsl.Syntax: subjectExpressionSubjectExpression :: TypedName SubjectExpression
+ Hydra.Python.Dsl.Syntax: subjectExpressionTuple :: TypedTerm [StarNamedExpression] -> TypedTerm SubjectExpression
+ Hydra.Python.Dsl.Syntax: sum :: TypedTerm (Maybe SumLhs) -> TypedTerm Term -> TypedTerm Sum
+ Hydra.Python.Dsl.Syntax: sumLhs :: TypedTerm Sum -> TypedTerm (Maybe SumLhs)
+ Hydra.Python.Dsl.Syntax: sumLhs2 :: TypedTerm Sum -> TypedTerm SumOp -> TypedTerm SumLhs
+ Hydra.Python.Dsl.Syntax: sumLhsOperand :: TypedTerm SumLhs -> TypedTerm Sum
+ Hydra.Python.Dsl.Syntax: sumLhsOperator :: TypedTerm SumLhs -> TypedTerm SumOp
+ Hydra.Python.Dsl.Syntax: sumLhsSumLhs :: TypedName SumLhs
+ Hydra.Python.Dsl.Syntax: sumLhsWithOperand :: TypedTerm SumLhs -> TypedTerm Sum -> TypedTerm SumLhs
+ Hydra.Python.Dsl.Syntax: sumLhsWithOperator :: TypedTerm SumLhs -> TypedTerm SumOp -> TypedTerm SumLhs
+ Hydra.Python.Dsl.Syntax: sumOpAdd :: TypedTerm SumOp
+ Hydra.Python.Dsl.Syntax: sumOpSub :: TypedTerm SumOp
+ Hydra.Python.Dsl.Syntax: sumOpSumOp :: TypedName SumOp
+ Hydra.Python.Dsl.Syntax: sumRhs :: TypedTerm Sum -> TypedTerm Term
+ Hydra.Python.Dsl.Syntax: sumSum :: TypedName Sum
+ Hydra.Python.Dsl.Syntax: sumWithLhs :: TypedTerm Sum -> TypedTerm (Maybe SumLhs) -> TypedTerm Sum
+ Hydra.Python.Dsl.Syntax: sumWithRhs :: TypedTerm Sum -> TypedTerm Term -> TypedTerm Sum
+ Hydra.Python.Dsl.Syntax: tPrimaryAndArguments :: TypedTerm TPrimary -> TypedTerm (Maybe Args) -> TypedTerm TPrimaryAndArguments
+ Hydra.Python.Dsl.Syntax: tPrimaryAndArgumentsArguments :: TypedTerm TPrimaryAndArguments -> TypedTerm (Maybe Args)
+ Hydra.Python.Dsl.Syntax: tPrimaryAndArgumentsPrimary :: TypedTerm TPrimaryAndArguments -> TypedTerm TPrimary
+ Hydra.Python.Dsl.Syntax: tPrimaryAndArgumentsTPrimaryAndArguments :: TypedName TPrimaryAndArguments
+ Hydra.Python.Dsl.Syntax: tPrimaryAndArgumentsWithArguments :: TypedTerm TPrimaryAndArguments -> TypedTerm (Maybe Args) -> TypedTerm TPrimaryAndArguments
+ Hydra.Python.Dsl.Syntax: tPrimaryAndArgumentsWithPrimary :: TypedTerm TPrimaryAndArguments -> TypedTerm TPrimary -> TypedTerm TPrimaryAndArguments
+ Hydra.Python.Dsl.Syntax: tPrimaryAndGenexp :: TypedTerm TPrimary -> TypedTerm Genexp -> TypedTerm TPrimaryAndGenexp
+ Hydra.Python.Dsl.Syntax: tPrimaryAndGenexpGenexp :: TypedTerm TPrimaryAndGenexp -> TypedTerm Genexp
+ Hydra.Python.Dsl.Syntax: tPrimaryAndGenexpPrimary :: TypedTerm TPrimaryAndGenexp -> TypedTerm TPrimary
+ Hydra.Python.Dsl.Syntax: tPrimaryAndGenexpTPrimaryAndGenexp :: TypedName TPrimaryAndGenexp
+ Hydra.Python.Dsl.Syntax: tPrimaryAndGenexpWithGenexp :: TypedTerm TPrimaryAndGenexp -> TypedTerm Genexp -> TypedTerm TPrimaryAndGenexp
+ Hydra.Python.Dsl.Syntax: tPrimaryAndGenexpWithPrimary :: TypedTerm TPrimaryAndGenexp -> TypedTerm TPrimary -> TypedTerm TPrimaryAndGenexp
+ Hydra.Python.Dsl.Syntax: tPrimaryAndName :: TypedTerm TPrimary -> TypedTerm Name -> TypedTerm TPrimaryAndName
+ Hydra.Python.Dsl.Syntax: tPrimaryAndNameName :: TypedTerm TPrimaryAndName -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: tPrimaryAndNamePrimary :: TypedTerm TPrimaryAndName -> TypedTerm TPrimary
+ Hydra.Python.Dsl.Syntax: tPrimaryAndNameTPrimaryAndName :: TypedName TPrimaryAndName
+ Hydra.Python.Dsl.Syntax: tPrimaryAndNameWithName :: TypedTerm TPrimaryAndName -> TypedTerm Name -> TypedTerm TPrimaryAndName
+ Hydra.Python.Dsl.Syntax: tPrimaryAndNameWithPrimary :: TypedTerm TPrimaryAndName -> TypedTerm TPrimary -> TypedTerm TPrimaryAndName
+ Hydra.Python.Dsl.Syntax: tPrimaryAndSlices :: TypedTerm TPrimary -> TypedTerm Slices -> TypedTerm TPrimaryAndSlices
+ Hydra.Python.Dsl.Syntax: tPrimaryAndSlicesPrimary :: TypedTerm TPrimaryAndSlices -> TypedTerm TPrimary
+ Hydra.Python.Dsl.Syntax: tPrimaryAndSlicesSlices :: TypedTerm TPrimaryAndSlices -> TypedTerm Slices
+ Hydra.Python.Dsl.Syntax: tPrimaryAndSlicesTPrimaryAndSlices :: TypedName TPrimaryAndSlices
+ Hydra.Python.Dsl.Syntax: tPrimaryAndSlicesWithPrimary :: TypedTerm TPrimaryAndSlices -> TypedTerm TPrimary -> TypedTerm TPrimaryAndSlices
+ Hydra.Python.Dsl.Syntax: tPrimaryAndSlicesWithSlices :: TypedTerm TPrimaryAndSlices -> TypedTerm Slices -> TypedTerm TPrimaryAndSlices
+ Hydra.Python.Dsl.Syntax: tPrimaryAtom :: TypedTerm Atom -> TypedTerm TPrimary
+ Hydra.Python.Dsl.Syntax: tPrimaryPrimaryAndArguments :: TypedTerm TPrimaryAndArguments -> TypedTerm TPrimary
+ Hydra.Python.Dsl.Syntax: tPrimaryPrimaryAndGenexp :: TypedTerm TPrimaryAndGenexp -> TypedTerm TPrimary
+ Hydra.Python.Dsl.Syntax: tPrimaryPrimaryAndName :: TypedTerm TPrimaryAndName -> TypedTerm TPrimary
+ Hydra.Python.Dsl.Syntax: tPrimaryPrimaryAndSlices :: TypedTerm TPrimaryAndSlices -> TypedTerm TPrimary
+ Hydra.Python.Dsl.Syntax: tPrimaryTPrimary :: TypedName TPrimary
+ Hydra.Python.Dsl.Syntax: targetWithStarAtomAtom :: TypedTerm StarAtom -> TypedTerm TargetWithStarAtom
+ Hydra.Python.Dsl.Syntax: targetWithStarAtomProject :: TypedTerm TPrimaryAndName -> TypedTerm TargetWithStarAtom
+ Hydra.Python.Dsl.Syntax: targetWithStarAtomSlices :: TypedTerm TPrimaryAndSlices -> TypedTerm TargetWithStarAtom
+ Hydra.Python.Dsl.Syntax: targetWithStarAtomTargetWithStarAtom :: TypedName TargetWithStarAtom
+ Hydra.Python.Dsl.Syntax: term :: TypedTerm (Maybe TermLhs) -> TypedTerm Factor -> TypedTerm Term
+ Hydra.Python.Dsl.Syntax: termLhs :: TypedTerm Term -> TypedTerm (Maybe TermLhs)
+ Hydra.Python.Dsl.Syntax: termLhs2 :: TypedTerm Term -> TypedTerm TermOp -> TypedTerm TermLhs
+ Hydra.Python.Dsl.Syntax: termLhsOperand :: TypedTerm TermLhs -> TypedTerm Term
+ Hydra.Python.Dsl.Syntax: termLhsOperator :: TypedTerm TermLhs -> TypedTerm TermOp
+ Hydra.Python.Dsl.Syntax: termLhsTermLhs :: TypedName TermLhs
+ Hydra.Python.Dsl.Syntax: termLhsWithOperand :: TypedTerm TermLhs -> TypedTerm Term -> TypedTerm TermLhs
+ Hydra.Python.Dsl.Syntax: termLhsWithOperator :: TypedTerm TermLhs -> TypedTerm TermOp -> TypedTerm TermLhs
+ Hydra.Python.Dsl.Syntax: termOpDiv :: TypedTerm TermOp
+ Hydra.Python.Dsl.Syntax: termOpFloordiv :: TypedTerm TermOp
+ Hydra.Python.Dsl.Syntax: termOpMatmul :: TypedTerm TermOp
+ Hydra.Python.Dsl.Syntax: termOpMod :: TypedTerm TermOp
+ Hydra.Python.Dsl.Syntax: termOpMul :: TypedTerm TermOp
+ Hydra.Python.Dsl.Syntax: termOpTermOp :: TypedName TermOp
+ Hydra.Python.Dsl.Syntax: termRhs :: TypedTerm Term -> TypedTerm Factor
+ Hydra.Python.Dsl.Syntax: termTerm :: TypedName Term
+ Hydra.Python.Dsl.Syntax: termWithLhs :: TypedTerm Term -> TypedTerm (Maybe TermLhs) -> TypedTerm Term
+ Hydra.Python.Dsl.Syntax: termWithRhs :: TypedTerm Term -> TypedTerm Factor -> TypedTerm Term
+ Hydra.Python.Dsl.Syntax: tryExceptStarStatement :: TypedTerm Block -> TypedTerm [ExceptStarBlock] -> TypedTerm (Maybe Block) -> TypedTerm (Maybe Block) -> TypedTerm TryExceptStarStatement
+ Hydra.Python.Dsl.Syntax: tryExceptStarStatementBody :: TypedTerm TryExceptStarStatement -> TypedTerm Block
+ Hydra.Python.Dsl.Syntax: tryExceptStarStatementElse :: TypedTerm TryExceptStarStatement -> TypedTerm (Maybe Block)
+ Hydra.Python.Dsl.Syntax: tryExceptStarStatementExcepts :: TypedTerm TryExceptStarStatement -> TypedTerm [ExceptStarBlock]
+ Hydra.Python.Dsl.Syntax: tryExceptStarStatementFinally :: TypedTerm TryExceptStarStatement -> TypedTerm (Maybe Block)
+ Hydra.Python.Dsl.Syntax: tryExceptStarStatementTryExceptStarStatement :: TypedName TryExceptStarStatement
+ Hydra.Python.Dsl.Syntax: tryExceptStarStatementWithBody :: TypedTerm TryExceptStarStatement -> TypedTerm Block -> TypedTerm TryExceptStarStatement
+ Hydra.Python.Dsl.Syntax: tryExceptStarStatementWithElse :: TypedTerm TryExceptStarStatement -> TypedTerm (Maybe Block) -> TypedTerm TryExceptStarStatement
+ Hydra.Python.Dsl.Syntax: tryExceptStarStatementWithExcepts :: TypedTerm TryExceptStarStatement -> TypedTerm [ExceptStarBlock] -> TypedTerm TryExceptStarStatement
+ Hydra.Python.Dsl.Syntax: tryExceptStarStatementWithFinally :: TypedTerm TryExceptStarStatement -> TypedTerm (Maybe Block) -> TypedTerm TryExceptStarStatement
+ Hydra.Python.Dsl.Syntax: tryExceptStatement :: TypedTerm Block -> TypedTerm [ExceptBlock] -> TypedTerm (Maybe Block) -> TypedTerm (Maybe Block) -> TypedTerm TryExceptStatement
+ Hydra.Python.Dsl.Syntax: tryExceptStatementBody :: TypedTerm TryExceptStatement -> TypedTerm Block
+ Hydra.Python.Dsl.Syntax: tryExceptStatementElse :: TypedTerm TryExceptStatement -> TypedTerm (Maybe Block)
+ Hydra.Python.Dsl.Syntax: tryExceptStatementExcepts :: TypedTerm TryExceptStatement -> TypedTerm [ExceptBlock]
+ Hydra.Python.Dsl.Syntax: tryExceptStatementFinally :: TypedTerm TryExceptStatement -> TypedTerm (Maybe Block)
+ Hydra.Python.Dsl.Syntax: tryExceptStatementTryExceptStatement :: TypedName TryExceptStatement
+ Hydra.Python.Dsl.Syntax: tryExceptStatementWithBody :: TypedTerm TryExceptStatement -> TypedTerm Block -> TypedTerm TryExceptStatement
+ Hydra.Python.Dsl.Syntax: tryExceptStatementWithElse :: TypedTerm TryExceptStatement -> TypedTerm (Maybe Block) -> TypedTerm TryExceptStatement
+ Hydra.Python.Dsl.Syntax: tryExceptStatementWithExcepts :: TypedTerm TryExceptStatement -> TypedTerm [ExceptBlock] -> TypedTerm TryExceptStatement
+ Hydra.Python.Dsl.Syntax: tryExceptStatementWithFinally :: TypedTerm TryExceptStatement -> TypedTerm (Maybe Block) -> TypedTerm TryExceptStatement
+ Hydra.Python.Dsl.Syntax: tryFinallyStatement :: TypedTerm Block -> TypedTerm Block -> TypedTerm TryFinallyStatement
+ Hydra.Python.Dsl.Syntax: tryFinallyStatementBody :: TypedTerm TryFinallyStatement -> TypedTerm Block
+ Hydra.Python.Dsl.Syntax: tryFinallyStatementFinally :: TypedTerm TryFinallyStatement -> TypedTerm Block
+ Hydra.Python.Dsl.Syntax: tryFinallyStatementTryFinallyStatement :: TypedName TryFinallyStatement
+ Hydra.Python.Dsl.Syntax: tryFinallyStatementWithBody :: TypedTerm TryFinallyStatement -> TypedTerm Block -> TypedTerm TryFinallyStatement
+ Hydra.Python.Dsl.Syntax: tryFinallyStatementWithFinally :: TypedTerm TryFinallyStatement -> TypedTerm Block -> TypedTerm TryFinallyStatement
+ Hydra.Python.Dsl.Syntax: tryStatementExcept :: TypedTerm TryExceptStatement -> TypedTerm TryStatement
+ Hydra.Python.Dsl.Syntax: tryStatementExceptStar :: TypedTerm TryExceptStarStatement -> TypedTerm TryStatement
+ Hydra.Python.Dsl.Syntax: tryStatementFinally :: TypedTerm TryFinallyStatement -> TypedTerm TryStatement
+ Hydra.Python.Dsl.Syntax: tryStatementTryStatement :: TypedName TryStatement
+ Hydra.Python.Dsl.Syntax: tuple :: TypedTerm [StarNamedExpression] -> TypedTerm Tuple
+ Hydra.Python.Dsl.Syntax: tupleTuple :: TypedName Tuple
+ Hydra.Python.Dsl.Syntax: typeAlias :: TypedTerm Name -> TypedTerm [TypeParameter] -> TypedTerm Expression -> TypedTerm TypeAlias
+ Hydra.Python.Dsl.Syntax: typeAliasExpression :: TypedTerm TypeAlias -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: typeAliasName :: TypedTerm TypeAlias -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: typeAliasTypeAlias :: TypedName TypeAlias
+ Hydra.Python.Dsl.Syntax: typeAliasTypeParams :: TypedTerm TypeAlias -> TypedTerm [TypeParameter]
+ Hydra.Python.Dsl.Syntax: typeAliasWithExpression :: TypedTerm TypeAlias -> TypedTerm Expression -> TypedTerm TypeAlias
+ Hydra.Python.Dsl.Syntax: typeAliasWithName :: TypedTerm TypeAlias -> TypedTerm Name -> TypedTerm TypeAlias
+ Hydra.Python.Dsl.Syntax: typeAliasWithTypeParams :: TypedTerm TypeAlias -> TypedTerm [TypeParameter] -> TypedTerm TypeAlias
+ Hydra.Python.Dsl.Syntax: typeComment :: TypedTerm String -> TypedTerm TypeComment
+ Hydra.Python.Dsl.Syntax: typeCommentTypeComment :: TypedName TypeComment
+ Hydra.Python.Dsl.Syntax: typeExpressionDoubleStarredExpression :: TypedTerm Expression -> TypedTerm TypeExpression
+ Hydra.Python.Dsl.Syntax: typeExpressionExpression :: TypedTerm Expression -> TypedTerm TypeExpression
+ Hydra.Python.Dsl.Syntax: typeExpressionStarredExpression :: TypedTerm Expression -> TypedTerm TypeExpression
+ Hydra.Python.Dsl.Syntax: typeExpressionTypeExpression :: TypedName TypeExpression
+ Hydra.Python.Dsl.Syntax: typeParameterDoubleStar :: TypedTerm DoubleStarTypeParameter -> TypedTerm TypeParameter
+ Hydra.Python.Dsl.Syntax: typeParameterSimple :: TypedTerm SimpleTypeParameter -> TypedTerm TypeParameter
+ Hydra.Python.Dsl.Syntax: typeParameterStar :: TypedTerm StarTypeParameter -> TypedTerm TypeParameter
+ Hydra.Python.Dsl.Syntax: typeParameterTypeParameter :: TypedName TypeParameter
+ Hydra.Python.Dsl.Syntax: typedAssignment :: TypedTerm SingleTarget -> TypedTerm Expression -> TypedTerm (Maybe AnnotatedRhs) -> TypedTerm TypedAssignment
+ Hydra.Python.Dsl.Syntax: typedAssignmentLhs :: TypedTerm TypedAssignment -> TypedTerm SingleTarget
+ Hydra.Python.Dsl.Syntax: typedAssignmentRhs :: TypedTerm TypedAssignment -> TypedTerm (Maybe AnnotatedRhs)
+ Hydra.Python.Dsl.Syntax: typedAssignmentType :: TypedTerm TypedAssignment -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: typedAssignmentTypedAssignment :: TypedName TypedAssignment
+ Hydra.Python.Dsl.Syntax: typedAssignmentWithLhs :: TypedTerm TypedAssignment -> TypedTerm SingleTarget -> TypedTerm TypedAssignment
+ Hydra.Python.Dsl.Syntax: typedAssignmentWithRhs :: TypedTerm TypedAssignment -> TypedTerm (Maybe AnnotatedRhs) -> TypedTerm TypedAssignment
+ Hydra.Python.Dsl.Syntax: typedAssignmentWithType :: TypedTerm TypedAssignment -> TypedTerm Expression -> TypedTerm TypedAssignment
+ Hydra.Python.Dsl.Syntax: unAnnotation :: TypedTerm Annotation -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: unAttribute :: TypedTerm Attribute -> TypedTerm [Name]
+ Hydra.Python.Dsl.Syntax: unCapturePattern :: TypedTerm CapturePattern -> TypedTerm PatternCaptureTarget
+ Hydra.Python.Dsl.Syntax: unConjunction :: TypedTerm Conjunction -> TypedTerm [Inversion]
+ Hydra.Python.Dsl.Syntax: unDecorators :: TypedTerm Decorators -> TypedTerm [NamedExpression]
+ Hydra.Python.Dsl.Syntax: unDefault :: TypedTerm Default -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: unDelStatement :: TypedTerm DelStatement -> TypedTerm DelTargets
+ Hydra.Python.Dsl.Syntax: unDelTargets :: TypedTerm DelTargets -> TypedTerm [DelTarget]
+ Hydra.Python.Dsl.Syntax: unDict :: TypedTerm Dict -> TypedTerm [DoubleStarredKvpair]
+ Hydra.Python.Dsl.Syntax: unDisjunction :: TypedTerm Disjunction -> TypedTerm [Conjunction]
+ Hydra.Python.Dsl.Syntax: unDottedName :: TypedTerm DottedName -> TypedTerm [Name]
+ Hydra.Python.Dsl.Syntax: unDoubleStarPattern :: TypedTerm DoubleStarPattern -> TypedTerm PatternCaptureTarget
+ Hydra.Python.Dsl.Syntax: unEval :: TypedTerm Eval -> TypedTerm [Expression]
+ Hydra.Python.Dsl.Syntax: unFile :: TypedTerm File -> TypedTerm [Statement]
+ Hydra.Python.Dsl.Syntax: unForIfClauses :: TypedTerm ForIfClauses -> TypedTerm [ForIfClause]
+ Hydra.Python.Dsl.Syntax: unFuncTypeComment :: TypedTerm FuncTypeComment -> TypedTerm TypeComment
+ Hydra.Python.Dsl.Syntax: unGroupPattern :: TypedTerm GroupPattern -> TypedTerm Pattern
+ Hydra.Python.Dsl.Syntax: unGuard :: TypedTerm Guard -> TypedTerm NamedExpression
+ Hydra.Python.Dsl.Syntax: unImaginaryNumber :: TypedTerm ImaginaryNumber -> TypedTerm Double
+ Hydra.Python.Dsl.Syntax: unImportName :: TypedTerm ImportName -> TypedTerm [DottedAsName]
+ Hydra.Python.Dsl.Syntax: unInteractive :: TypedTerm Interactive -> TypedTerm Statement
+ Hydra.Python.Dsl.Syntax: unItemsPattern :: TypedTerm ItemsPattern -> TypedTerm [KeyValuePattern]
+ Hydra.Python.Dsl.Syntax: unKeywordPatterns :: TypedTerm KeywordPatterns -> TypedTerm [KeywordPattern]
+ Hydra.Python.Dsl.Syntax: unKeywords :: TypedTerm Keywords -> TypedTerm ParamNoDefault
+ Hydra.Python.Dsl.Syntax: unLambdaKwds :: TypedTerm LambdaKwds -> TypedTerm LambdaParamNoDefault
+ Hydra.Python.Dsl.Syntax: unLambdaParamNoDefault :: TypedTerm LambdaParamNoDefault -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: unList :: TypedTerm List -> TypedTerm [StarNamedExpression]
+ Hydra.Python.Dsl.Syntax: unMaybeSequencePattern :: TypedTerm MaybeSequencePattern -> TypedTerm [MaybeStarPattern]
+ Hydra.Python.Dsl.Syntax: unModule :: TypedTerm Module -> TypedTerm [[Statement]]
+ Hydra.Python.Dsl.Syntax: unName :: TypedTerm Name -> TypedTerm String
+ Hydra.Python.Dsl.Syntax: unNameOrAttribute :: TypedTerm NameOrAttribute -> TypedTerm [Name]
+ Hydra.Python.Dsl.Syntax: unOrPattern :: TypedTerm OrPattern -> TypedTerm [ClosedPattern]
+ Hydra.Python.Dsl.Syntax: unPatternCaptureTarget :: TypedTerm PatternCaptureTarget -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: unPositionalPatterns :: TypedTerm PositionalPatterns -> TypedTerm [Pattern]
+ Hydra.Python.Dsl.Syntax: unRaiseStatement :: TypedTerm RaiseStatement -> TypedTerm (Maybe RaiseExpression)
+ Hydra.Python.Dsl.Syntax: unReturnStatement :: TypedTerm ReturnStatement -> TypedTerm [StarExpression]
+ Hydra.Python.Dsl.Syntax: unSet :: TypedTerm Set -> TypedTerm [StarNamedExpression]
+ Hydra.Python.Dsl.Syntax: unSlashNoDefault :: TypedTerm SlashNoDefault -> TypedTerm [ParamNoDefault]
+ Hydra.Python.Dsl.Syntax: unStarAnnotation :: TypedTerm StarAnnotation -> TypedTerm StarExpression
+ Hydra.Python.Dsl.Syntax: unStarNamedExpressions :: TypedTerm StarNamedExpressions -> TypedTerm [StarNamedExpression]
+ Hydra.Python.Dsl.Syntax: unStarTargetsListSeq :: TypedTerm StarTargetsListSeq -> TypedTerm [StarTarget]
+ Hydra.Python.Dsl.Syntax: unStarTargetsTupleSeq :: TypedTerm StarTargetsTupleSeq -> TypedTerm [StarTarget]
+ Hydra.Python.Dsl.Syntax: unStarredExpression :: TypedTerm StarredExpression -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: unTuple :: TypedTerm Tuple -> TypedTerm [StarNamedExpression]
+ Hydra.Python.Dsl.Syntax: unTypeComment :: TypedTerm TypeComment -> TypedTerm String
+ Hydra.Python.Dsl.Syntax: unValuePattern :: TypedTerm ValuePattern -> TypedTerm Attribute
+ Hydra.Python.Dsl.Syntax: unYieldStatement :: TypedTerm YieldStatement -> TypedTerm YieldExpression
+ Hydra.Python.Dsl.Syntax: untypedAssignment :: TypedTerm [StarTarget] -> TypedTerm AnnotatedRhs -> TypedTerm (Maybe TypeComment) -> TypedTerm UntypedAssignment
+ Hydra.Python.Dsl.Syntax: untypedAssignmentRhs :: TypedTerm UntypedAssignment -> TypedTerm AnnotatedRhs
+ Hydra.Python.Dsl.Syntax: untypedAssignmentTargets :: TypedTerm UntypedAssignment -> TypedTerm [StarTarget]
+ Hydra.Python.Dsl.Syntax: untypedAssignmentTypeComment :: TypedTerm UntypedAssignment -> TypedTerm (Maybe TypeComment)
+ Hydra.Python.Dsl.Syntax: untypedAssignmentUntypedAssignment :: TypedName UntypedAssignment
+ Hydra.Python.Dsl.Syntax: untypedAssignmentWithRhs :: TypedTerm UntypedAssignment -> TypedTerm AnnotatedRhs -> TypedTerm UntypedAssignment
+ Hydra.Python.Dsl.Syntax: untypedAssignmentWithTargets :: TypedTerm UntypedAssignment -> TypedTerm [StarTarget] -> TypedTerm UntypedAssignment
+ Hydra.Python.Dsl.Syntax: untypedAssignmentWithTypeComment :: TypedTerm UntypedAssignment -> TypedTerm (Maybe TypeComment) -> TypedTerm UntypedAssignment
+ Hydra.Python.Dsl.Syntax: valuePattern :: TypedTerm Attribute -> TypedTerm ValuePattern
+ Hydra.Python.Dsl.Syntax: valuePatternValuePattern :: TypedName ValuePattern
+ Hydra.Python.Dsl.Syntax: whileStatement :: TypedTerm NamedExpression -> TypedTerm Block -> TypedTerm (Maybe Block) -> TypedTerm WhileStatement
+ Hydra.Python.Dsl.Syntax: whileStatementBody :: TypedTerm WhileStatement -> TypedTerm Block
+ Hydra.Python.Dsl.Syntax: whileStatementCondition :: TypedTerm WhileStatement -> TypedTerm NamedExpression
+ Hydra.Python.Dsl.Syntax: whileStatementElse :: TypedTerm WhileStatement -> TypedTerm (Maybe Block)
+ Hydra.Python.Dsl.Syntax: whileStatementWhileStatement :: TypedName WhileStatement
+ Hydra.Python.Dsl.Syntax: whileStatementWithBody :: TypedTerm WhileStatement -> TypedTerm Block -> TypedTerm WhileStatement
+ Hydra.Python.Dsl.Syntax: whileStatementWithCondition :: TypedTerm WhileStatement -> TypedTerm NamedExpression -> TypedTerm WhileStatement
+ Hydra.Python.Dsl.Syntax: whileStatementWithElse :: TypedTerm WhileStatement -> TypedTerm (Maybe Block) -> TypedTerm WhileStatement
+ Hydra.Python.Dsl.Syntax: withItem :: TypedTerm Expression -> TypedTerm (Maybe StarTarget) -> TypedTerm WithItem
+ Hydra.Python.Dsl.Syntax: withItemAs :: TypedTerm WithItem -> TypedTerm (Maybe StarTarget)
+ Hydra.Python.Dsl.Syntax: withItemExpression :: TypedTerm WithItem -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: withItemWithAs :: TypedTerm WithItem -> TypedTerm (Maybe StarTarget) -> TypedTerm WithItem
+ Hydra.Python.Dsl.Syntax: withItemWithExpression :: TypedTerm WithItem -> TypedTerm Expression -> TypedTerm WithItem
+ Hydra.Python.Dsl.Syntax: withItemWithItem :: TypedName WithItem
+ Hydra.Python.Dsl.Syntax: withStatement :: TypedTerm Bool -> TypedTerm [WithItem] -> TypedTerm (Maybe TypeComment) -> TypedTerm Block -> TypedTerm WithStatement
+ Hydra.Python.Dsl.Syntax: withStatementAsync :: TypedTerm WithStatement -> TypedTerm Bool
+ Hydra.Python.Dsl.Syntax: withStatementBody :: TypedTerm WithStatement -> TypedTerm Block
+ Hydra.Python.Dsl.Syntax: withStatementItems :: TypedTerm WithStatement -> TypedTerm [WithItem]
+ Hydra.Python.Dsl.Syntax: withStatementTypeComment :: TypedTerm WithStatement -> TypedTerm (Maybe TypeComment)
+ Hydra.Python.Dsl.Syntax: withStatementWithAsync :: TypedTerm WithStatement -> TypedTerm Bool -> TypedTerm WithStatement
+ Hydra.Python.Dsl.Syntax: withStatementWithBody :: TypedTerm WithStatement -> TypedTerm Block -> TypedTerm WithStatement
+ Hydra.Python.Dsl.Syntax: withStatementWithItems :: TypedTerm WithStatement -> TypedTerm [WithItem] -> TypedTerm WithStatement
+ Hydra.Python.Dsl.Syntax: withStatementWithStatement :: TypedName WithStatement
+ Hydra.Python.Dsl.Syntax: withStatementWithTypeComment :: TypedTerm WithStatement -> TypedTerm (Maybe TypeComment) -> TypedTerm WithStatement
+ Hydra.Python.Dsl.Syntax: yieldExpressionFrom :: TypedTerm Expression -> TypedTerm YieldExpression
+ Hydra.Python.Dsl.Syntax: yieldExpressionSimple :: TypedTerm [StarExpression] -> TypedTerm YieldExpression
+ Hydra.Python.Dsl.Syntax: yieldExpressionYieldExpression :: TypedName YieldExpression
+ Hydra.Python.Dsl.Syntax: yieldStatement :: TypedTerm YieldExpression -> TypedTerm YieldStatement
+ Hydra.Python.Dsl.Syntax: yieldStatementYieldStatement :: TypedName YieldStatement
+ Hydra.Python.Dsl.Utils: annotatedExpression :: TypedTerm (Maybe String) -> TypedTerm Expression -> TypedTerm Expression
+ Hydra.Python.Dsl.Utils: annotatedStatement :: TypedTerm (Maybe String) -> TypedTerm Statement -> TypedTerm Statement
+ Hydra.Python.Dsl.Utils: assignment :: TypedTerm Name -> TypedTerm AnnotatedRhs -> TypedTerm Statement
+ Hydra.Python.Dsl.Utils: assignmentStatement :: TypedTerm Name -> TypedTerm Expression -> TypedTerm Statement
+ Hydra.Python.Dsl.Utils: castTo :: TypedTerm Expression -> TypedTerm Expression -> TypedTerm Expression
+ Hydra.Python.Dsl.Utils: commentStatement :: TypedTerm String -> TypedTerm Statement
+ Hydra.Python.Dsl.Utils: decimalVariantMethods :: TypedTerm [Statement]
+ Hydra.Python.Dsl.Utils: decodePyComparisonToPyAwaitPrimary :: TypedTerm Comparison -> TypedTerm (Maybe Primary)
+ Hydra.Python.Dsl.Utils: decodePyConjunctionToPyPrimary :: TypedTerm Conjunction -> TypedTerm (Maybe Primary)
+ Hydra.Python.Dsl.Utils: decodePyExpressionToPyPrimary :: TypedTerm Expression -> TypedTerm (Maybe Primary)
+ Hydra.Python.Dsl.Utils: decodePyInversionToPyPrimary :: TypedTerm Inversion -> TypedTerm (Maybe Primary)
+ Hydra.Python.Dsl.Utils: decodePyPowerToPyPrimary :: TypedTerm Power -> TypedTerm (Maybe Primary)
+ Hydra.Python.Dsl.Utils: dottedAssignmentStatement :: TypedTerm Name -> TypedTerm Name -> TypedTerm Expression -> TypedTerm Statement
+ Hydra.Python.Dsl.Utils: doubleQuotedString :: TypedTerm String -> TypedTerm Expression
+ Hydra.Python.Dsl.Utils: findNamespaces :: TypedTerm (Set String) -> TypedTerm ModuleName -> TypedTerm [Definition] -> TypedTerm (ModuleNames DottedName)
+ Hydra.Python.Dsl.Utils: functionCall :: TypedTerm Primary -> TypedTerm [Expression] -> TypedTerm Expression
+ Hydra.Python.Dsl.Utils: getItemParams :: TypedTerm Parameters
+ Hydra.Python.Dsl.Utils: indentedBlock :: TypedTerm (Maybe String) -> TypedTerm [[Statement]] -> TypedTerm Block
+ Hydra.Python.Dsl.Utils: nameAndParams :: TypedTerm Name -> TypedTerm [Expression] -> TypedTerm Expression
+ Hydra.Python.Dsl.Utils: newtypeStatement :: TypedTerm Name -> TypedTerm (Maybe String) -> TypedTerm Expression -> TypedTerm Statement
+ Hydra.Python.Dsl.Utils: orExpression :: TypedTerm [Primary] -> TypedTerm Expression
+ Hydra.Python.Dsl.Utils: primaryAndParams :: TypedTerm Primary -> TypedTerm [Expression] -> TypedTerm Expression
+ Hydra.Python.Dsl.Utils: primaryWithExpressionSlices :: TypedTerm Primary -> TypedTerm [Expression] -> TypedTerm Primary
+ Hydra.Python.Dsl.Utils: primaryWithRhs :: TypedTerm Primary -> TypedTerm PrimaryRhs -> TypedTerm Primary
+ Hydra.Python.Dsl.Utils: primaryWithSlices :: TypedTerm Primary -> TypedTerm Slice -> TypedTerm [SliceOrStarredExpression] -> TypedTerm Primary
+ Hydra.Python.Dsl.Utils: projectFromExpression :: TypedTerm Expression -> TypedTerm Name -> TypedTerm Expression
+ Hydra.Python.Dsl.Utils: pyAssignmentToPyStatement :: TypedTerm Assignment -> TypedTerm Statement
+ Hydra.Python.Dsl.Utils: pyAtomToPyExpression :: TypedTerm Atom -> TypedTerm Expression
+ Hydra.Python.Dsl.Utils: pyBitwiseOrToPyConjunction :: TypedTerm BitwiseOr -> TypedTerm Conjunction
+ Hydra.Python.Dsl.Utils: pyBitwiseOrToPyExpression :: TypedTerm BitwiseOr -> TypedTerm Expression
+ Hydra.Python.Dsl.Utils: pyClassDefinitionToPyStatement :: TypedTerm ClassDefinition -> TypedTerm Statement
+ Hydra.Python.Dsl.Utils: pyClosedPatternToPyPatterns :: TypedTerm ClosedPattern -> TypedTerm Patterns
+ Hydra.Python.Dsl.Utils: pyConjunctionToPyExpression :: TypedTerm Conjunction -> TypedTerm Expression
+ Hydra.Python.Dsl.Utils: pyExpressionToBitwiseOr :: TypedTerm Expression -> TypedTerm BitwiseOr
+ Hydra.Python.Dsl.Utils: pyExpressionToDisjunction :: TypedTerm Expression -> TypedTerm Disjunction
+ Hydra.Python.Dsl.Utils: pyExpressionToPyAnnotatedRhs :: TypedTerm Expression -> TypedTerm AnnotatedRhs
+ Hydra.Python.Dsl.Utils: pyExpressionToPyPrimary :: TypedTerm Expression -> TypedTerm Primary
+ Hydra.Python.Dsl.Utils: pyExpressionToPySimpleStatement :: TypedTerm Expression -> TypedTerm SimpleStatement
+ Hydra.Python.Dsl.Utils: pyExpressionToPySlice :: TypedTerm Expression -> TypedTerm Slice
+ Hydra.Python.Dsl.Utils: pyExpressionToPyStarNamedExpression :: TypedTerm Expression -> TypedTerm StarNamedExpression
+ Hydra.Python.Dsl.Utils: pyExpressionToPyStatement :: TypedTerm Expression -> TypedTerm Statement
+ Hydra.Python.Dsl.Utils: pyExpressionsToPyArgs :: TypedTerm [Expression] -> TypedTerm Args
+ Hydra.Python.Dsl.Utils: pyList :: TypedTerm [Expression] -> TypedTerm List
+ Hydra.Python.Dsl.Utils: pyNameToPyExpression :: TypedTerm Name -> TypedTerm Expression
+ Hydra.Python.Dsl.Utils: pyNameToPyNamedExpression :: TypedTerm Name -> TypedTerm NamedExpression
+ Hydra.Python.Dsl.Utils: pyNameToPyPrimary :: TypedTerm Name -> TypedTerm Primary
+ Hydra.Python.Dsl.Utils: pyNameToPyStarTarget :: TypedTerm Name -> TypedTerm StarTarget
+ Hydra.Python.Dsl.Utils: pyNameToPyTypeParameter :: TypedTerm Name -> TypedTerm TypeParameter
+ Hydra.Python.Dsl.Utils: pyNone :: TypedTerm Name
+ Hydra.Python.Dsl.Utils: pyPrimaryToPyBitwiseOr :: TypedTerm Primary -> TypedTerm BitwiseOr
+ Hydra.Python.Dsl.Utils: pyPrimaryToPyBitwiseXor :: TypedTerm Primary -> TypedTerm BitwiseXor
+ Hydra.Python.Dsl.Utils: pyPrimaryToPyConjunction :: TypedTerm Primary -> TypedTerm Conjunction
+ Hydra.Python.Dsl.Utils: pyPrimaryToPyExpression :: TypedTerm Primary -> TypedTerm Expression
+ Hydra.Python.Dsl.Utils: pyPrimaryToPySlice :: TypedTerm Primary -> TypedTerm Slice
+ Hydra.Python.Dsl.Utils: pySimpleStatementToPyStatement :: TypedTerm SimpleStatement -> TypedTerm Statement
+ Hydra.Python.Dsl.Utils: raiseAssertionError :: TypedTerm String -> TypedTerm Statement
+ Hydra.Python.Dsl.Utils: raiseTypeError :: TypedTerm String -> TypedTerm Statement
+ Hydra.Python.Dsl.Utils: returnSingle :: TypedTerm Expression -> TypedTerm Statement
+ Hydra.Python.Dsl.Utils: selfOnlyParams :: TypedTerm Parameters
+ Hydra.Python.Dsl.Utils: selfOtherParams :: TypedTerm Parameters
+ Hydra.Python.Dsl.Utils: singleQuotedString :: TypedTerm String -> TypedTerm Expression
+ Hydra.Python.Dsl.Utils: stringToPyExpression :: TypedTerm QuoteStyle -> TypedTerm String -> TypedTerm Expression
+ Hydra.Python.Dsl.Utils: targetPythonVersion :: TypedTerm PythonVersion
+ Hydra.Python.Dsl.Utils: tripleQuotedString :: TypedTerm String -> TypedTerm Expression
+ Hydra.Python.Dsl.Utils: typeAliasStatement :: TypedTerm Name -> TypedTerm [TypeParameter] -> TypedTerm (Maybe String) -> TypedTerm Expression -> TypedTerm Statement
+ Hydra.Python.Dsl.Utils: typeAliasStatement310 :: TypedTerm Name -> TypedTerm t0 -> TypedTerm (Maybe String) -> TypedTerm Expression -> TypedTerm Statement
+ Hydra.Python.Dsl.Utils: unionTypeClassStatements310 :: TypedTerm Name -> TypedTerm (Maybe String) -> TypedTerm Expression -> TypedTerm [Statement] -> TypedTerm [Statement]
+ Hydra.Python.Dsl.Utils: unitVariantMethods :: TypedTerm Name -> TypedTerm [Statement]
+ Hydra.Python.Environment: instance GHC.Internal.Read.Read Hydra.Python.Environment.PythonModuleMetadata
+ Hydra.Python.Environment: instance GHC.Internal.Read.Read Hydra.Python.Environment.PythonVersion
+ Hydra.Python.Environment: instance GHC.Internal.Show.Show Hydra.Python.Environment.PythonModuleMetadata
+ Hydra.Python.Environment: instance GHC.Internal.Show.Show Hydra.Python.Environment.PythonVersion
+ Hydra.Python.Pyproject: instance GHC.Internal.Read.Read Hydra.Python.Pyproject.PyProjectBuildConfiguration
+ Hydra.Python.Pyproject: instance GHC.Internal.Show.Show Hydra.Python.Pyproject.PyProjectBuildConfiguration
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.AnnotatedRhs
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.AnnotatedStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Annotation
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Args
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.AsPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.AssertStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Assignment
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.AssignmentExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Atom
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Attribute
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.AugAssign
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.AugAssignment
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.AwaitPrimary
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.BitwiseAnd
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.BitwiseOr
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.BitwiseXor
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Block
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.CapturePattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.CaseBlock
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ClassDefinition
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ClassPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ClosedPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.CommaStarEtc
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.CompareOp
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.CompareOpBitwiseOrPair
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Comparison
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ComplexNumber
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.CompoundStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Conditional
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Conjunction
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Decorators
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Default
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.DelStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.DelTAtom
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.DelTarget
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.DelTargets
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Dict
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Dictcomp
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Disjunction
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.DottedAsName
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.DottedName
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.DoubleStarPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.DoubleStarTypeParameter
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.DoubleStarredKvpair
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Eval
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ExceptBlock
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ExceptExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ExceptStarBlock
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Expression
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Factor
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.File
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ForIfClause
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ForIfClauses
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ForStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.FuncTypeComment
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.FunctionDefRaw
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.FunctionDefinition
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Genexp
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.GenexpHead
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Group
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.GroupPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Guard
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.IfStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.IfTail
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ImaginaryNumber
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ImportFrom
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ImportFromAsName
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ImportFromTargets
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ImportName
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ImportStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Interactive
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Inversion
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ItemsPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.KeyValuePattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.KeywordPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.KeywordPatterns
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Keywords
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Kvpair
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Kwarg
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.KwargOrDoubleStarred
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.KwargOrStarred
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Lambda
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.LambdaKwds
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.LambdaParamMaybeDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.LambdaParamNoDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.LambdaParamWithDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.LambdaParameters
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.LambdaSlashNoDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.LambdaSlashWithDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.LambdaStarEtc
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.List
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Listcomp
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.LiteralExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.LiteralExpressionOrAttribute
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.MappingPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.MatchStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.MaybeSequencePattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.MaybeStarPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Module
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Name
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.NameOrAttribute
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.NamedExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.NoDefaultStarAnnotationStarEtc
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.NoDefaultStarEtc
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Number
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.OpenSequencePattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.OrPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Param
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ParamMaybeDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ParamNoDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ParamNoDefaultParameters
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ParamNoDefaultStarAnnotation
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ParamStarAnnotation
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ParamWithDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ParamWithDefaultParameters
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Parameters
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Pattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.PatternCaptureTarget
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Patterns
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.PlusOrMinus
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.PosArg
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.PositionalPatterns
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Power
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Primary
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.PrimaryRhs
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.PrimaryWithRhs
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.QuoteStyle
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.RaiseExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.RaiseStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.RealNumber
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.RelativeImportPrefix
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ReturnStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.SequencePattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Set
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Setcomp
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ShiftExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ShiftLhs
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ShiftOp
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.SignedNumber
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.SignedRealNumber
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.SimpleStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.SimpleTypeParameter
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.SingleSubscriptAttributeTarget
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.SingleTarget
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.SlashNoDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.SlashNoDefaultParameters
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.SlashWithDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.SlashWithDefaultParameters
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Slice
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.SliceExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.SliceOrStarredExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Slices
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.StarAnnotation
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.StarAtom
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.StarEtc
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.StarExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.StarNamedExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.StarNamedExpressions
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.StarPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.StarTarget
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.StarTargetsListSeq
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.StarTargetsTupleSeq
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.StarTypeParameter
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.StarredExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Statement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.StringPrefix
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.String_
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.SubjectExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Sum
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.SumLhs
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.SumOp
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TPrimary
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TPrimaryAndArguments
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TPrimaryAndGenexp
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TPrimaryAndName
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TPrimaryAndSlices
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TargetWithStarAtom
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Term
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TermLhs
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TermOp
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TryExceptStarStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TryExceptStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TryFinallyStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TryStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Tuple
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TypeAlias
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TypeComment
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TypeExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TypeParameter
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TypedAssignment
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.UntypedAssignment
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ValuePattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.WhileStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.WithItem
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.WithStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.YieldExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.YieldStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.AnnotatedRhs
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.AnnotatedStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Annotation
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Args
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.AsPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.AssertStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Assignment
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.AssignmentExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Atom
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Attribute
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.AugAssign
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.AugAssignment
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.AwaitPrimary
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.BitwiseAnd
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.BitwiseOr
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.BitwiseXor
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Block
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.CapturePattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.CaseBlock
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ClassDefinition
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ClassPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ClosedPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.CommaStarEtc
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.CompareOp
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.CompareOpBitwiseOrPair
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Comparison
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ComplexNumber
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.CompoundStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Conditional
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Conjunction
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Decorators
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Default
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.DelStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.DelTAtom
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.DelTarget
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.DelTargets
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Dict
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Dictcomp
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Disjunction
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.DottedAsName
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.DottedName
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.DoubleStarPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.DoubleStarTypeParameter
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.DoubleStarredKvpair
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Eval
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ExceptBlock
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ExceptExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ExceptStarBlock
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Expression
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Factor
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.File
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ForIfClause
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ForIfClauses
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ForStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.FuncTypeComment
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.FunctionDefRaw
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.FunctionDefinition
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Genexp
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.GenexpHead
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Group
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.GroupPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Guard
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.IfStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.IfTail
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ImaginaryNumber
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ImportFrom
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ImportFromAsName
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ImportFromTargets
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ImportName
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ImportStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Interactive
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Inversion
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ItemsPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.KeyValuePattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.KeywordPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.KeywordPatterns
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Keywords
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Kvpair
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Kwarg
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.KwargOrDoubleStarred
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.KwargOrStarred
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Lambda
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.LambdaKwds
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.LambdaParamMaybeDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.LambdaParamNoDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.LambdaParamWithDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.LambdaParameters
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.LambdaSlashNoDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.LambdaSlashWithDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.LambdaStarEtc
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.List
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Listcomp
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.LiteralExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.LiteralExpressionOrAttribute
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.MappingPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.MatchStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.MaybeSequencePattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.MaybeStarPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Module
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Name
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.NameOrAttribute
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.NamedExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.NoDefaultStarAnnotationStarEtc
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.NoDefaultStarEtc
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Number
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.OpenSequencePattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.OrPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Param
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ParamMaybeDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ParamNoDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ParamNoDefaultParameters
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ParamNoDefaultStarAnnotation
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ParamStarAnnotation
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ParamWithDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ParamWithDefaultParameters
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Parameters
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Pattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.PatternCaptureTarget
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Patterns
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.PlusOrMinus
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.PosArg
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.PositionalPatterns
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Power
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Primary
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.PrimaryRhs
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.PrimaryWithRhs
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.QuoteStyle
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.RaiseExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.RaiseStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.RealNumber
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.RelativeImportPrefix
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ReturnStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.SequencePattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Set
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Setcomp
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ShiftExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ShiftLhs
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ShiftOp
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.SignedNumber
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.SignedRealNumber
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.SimpleStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.SimpleTypeParameter
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.SingleSubscriptAttributeTarget
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.SingleTarget
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.SlashNoDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.SlashNoDefaultParameters
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.SlashWithDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.SlashWithDefaultParameters
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Slice
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.SliceExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.SliceOrStarredExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Slices
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.StarAnnotation
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.StarAtom
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.StarEtc
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.StarExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.StarNamedExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.StarNamedExpressions
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.StarPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.StarTarget
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.StarTargetsListSeq
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.StarTargetsTupleSeq
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.StarTypeParameter
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.StarredExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Statement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.StringPrefix
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.String_
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.SubjectExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Sum
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.SumLhs
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.SumOp
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TPrimary
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TPrimaryAndArguments
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TPrimaryAndGenexp
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TPrimaryAndName
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TPrimaryAndSlices
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TargetWithStarAtom
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Term
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TermLhs
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TermOp
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TryExceptStarStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TryExceptStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TryFinallyStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TryStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Tuple
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TypeAlias
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TypeComment
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TypeExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TypeParameter
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TypedAssignment
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.UntypedAssignment
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ValuePattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.WhileStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.WithItem
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.WithStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.YieldExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.YieldStatement
Files
- CHANGELOG.md +80/−0
- hydra-python.cabal +6/−6
- src/main/haskell/Hydra/Dsl/Python/Environment.hs +0/−4749
- src/main/haskell/Hydra/Dsl/Python/Names.hs +0/−194
- src/main/haskell/Hydra/Dsl/Python/Syntax.hs +0/−11743
- src/main/haskell/Hydra/Dsl/Python/Utils.hs +0/−561
- src/main/haskell/Hydra/Python/Coder.hs +2971/−2970
- src/main/haskell/Hydra/Python/Dsl/Environment.hs +4749/−0
- src/main/haskell/Hydra/Python/Dsl/Names.hs +195/−0
- src/main/haskell/Hydra/Python/Dsl/Syntax.hs +11745/−0
- src/main/haskell/Hydra/Python/Dsl/Utils.hs +561/−0
- src/main/haskell/Hydra/Python/Environment.hs +49/−49
- src/main/haskell/Hydra/Python/Language.hs +29/−29
- src/main/haskell/Hydra/Python/Names.hs +53/−52
- src/main/haskell/Hydra/Python/Pyproject.hs +4/−4
- src/main/haskell/Hydra/Python/Serde.hs +35/−35
- src/main/haskell/Hydra/Python/Syntax.hs +2496/−2496
- src/main/haskell/Hydra/Python/Testing.hs +35/−35
- src/main/haskell/Hydra/Python/Utils.hs +34/−34
CHANGELOG.md view
@@ -15,6 +15,86 @@ --- +## [0.18.0] - 2026-09-29++Module-naming systematization release: every kernel and package module moves onto a uniform+`hydra.core.*` / `hydra.<pkg>.*` grammar, completing the package ⊃ module ⊃ definition containment+tower. The rename touches every module, definition, and cross-host reference in the codebase; this+release exists primarily to ship it as its own coordinated batch. Also lands the translingual regex+primitive pipeline and several silent-correctness fixes in the coder layer.++### Highlights++- **Module-name grammar systematization** ([#729](https://github.com/CategoricalData/hydra/issues/729)):+ every `hydra.*` module renamed onto a uniform package-derived prefix — kernel modules move to+ `hydra.core.*`, package modules to `hydra.<pkg>.*` — closing the long-standing inconsistency where+ a package name had no structural relationship to the module names it contained. The rename spans+ every host (Haskell, Java, Python, Scala, TypeScript, all four Lisp dialects) and required fixing+ stale namespace references, overlay-directory paths, and `hostOverrides` shims across every driver+ and bootstrap script that had hardcoded the old grammar. Further consolidation (a structurally+ enforced package↔prefix law) is tracked for 0.18.1. The kernel package itself is still published as+ `hydra-kernel` (its modules are under `hydra.core.*`); the `hydra-core` package rename #729 called for+ is under review because that name is taken on PyPI and npm+ ([#770](https://github.com/CategoricalData/hydra/issues/770)).+- **Translingual regex primitives** ([#603](https://github.com/CategoricalData/hydra/issues/603)):+ `hydra.lib.regex` primitives (`find`, `findAll`, `matches`, `replace`, `replaceAll`, `split`) now run+ every pattern through the shared `hydra.regex` parse/print pipeline instead of handing raw pattern+ strings to each host's native engine, so a pattern means the same thing on every host. Includes a+ host-independent conformance suite and a leftmost-longest alternation fix in the PCRE/POSIX printers.+- **Silent-corruption fixes across the coder layer**+ ([#744](https://github.com/CategoricalData/hydra/issues/744),+ [#765](https://github.com/CategoricalData/hydra/issues/765),+ [#649](https://github.com/CategoricalData/hydra/issues/649)): fixed data-corrupting bugs in the+ JSON-Schema/Avro/GraphQL/GraphSON/Protobuf coders (extended integer widths, map-key handling), the+ kernel's encode/decode generators (reversed type-parameter order on 2+-param polymorphic types), and+ the Python coder (silently dropping a module's types when types and terms share a file path).+- **Self-hosted specification docs** ([#723](https://github.com/CategoricalData/hydra/issues/723)):+ the module-reference pages under `docs/specification/` are now generated directly from the kernel+ (`bin/regenerate-spec.sh`) via a new metadata-only doc coder, rather than hand-maintained.++### New features++- **[#603](https://github.com/CategoricalData/hydra/issues/603)** host-independent regex conformance+ suite covering the minimal-core grammar (literals, classes, quantifiers, alternation, anchors,+ grouping) across all 9 hosts.+- **[#723](https://github.com/CategoricalData/hydra/issues/723)** `hydra.markdown` type module and+ `generateModuleDoc`, the metadata-only doc coder backing the self-generated spec pages.+- **[#382](https://github.com/CategoricalData/hydra/issues/382)** the Rust coder is split out of+ `hydra-ext` into its own first-class `hydra-rust` package.++### Bug fixes++- **[#744](https://github.com/CategoricalData/hydra/issues/744)** silent data corruption in+ JSON-Schema/Avro/GraphQL/GraphSON/Protobuf coders for extended integer widths and map-key handling.+- **[#765](https://github.com/CategoricalData/hydra/issues/765)** kernel encode/decode generators+ emitted reversed type-parameter order for 2+-param polymorphic types.+- **[#649](https://github.com/CategoricalData/hydra/issues/649)** Python coder silently dropped a+ module's types when types and terms targeted the same output file path.+- **[#572](https://github.com/CategoricalData/hydra/issues/572)** TypeScript kernel-JSON test+ bridge's compact-form decode heuristic mishandled nullary union arms.+- **[#761](https://github.com/CategoricalData/hydra/issues/761)** cold-seed generation ignored+ `hostOverrides.java=local`, silently pulling the published Java host jar instead.+- **[#736](https://github.com/CategoricalData/hydra/issues/736)** Java build now pins JDK 11 via a+ Gradle toolchain block, instead of depending on ambient `JAVA_HOME`.++### Improvements++- **[#327](https://github.com/CategoricalData/hydra/issues/327)** new `hydra.diff` schema-diff type+ module; `Term.Inject` comparison is now by variant name.+- **[#573](https://github.com/CategoricalData/hydra/issues/573)** per-registry publish sets (Hackage,+ Maven, PyPI, npm) are now derived from the package registry itself instead of 13 hand-maintained+ lists — closes a recurring class of silent release-time drift.+- **[#735](https://github.com/CategoricalData/hydra/issues/735)** cross-host decimal-scale test+ filtering now driven by a translingual `scaleDistinct` capability tag instead of hand-copied+ per-host skip lists.++### Documentation++- **[#655](https://github.com/CategoricalData/hydra/issues/655)** documented the overlay-emission+ "implementation wins" decision for bare primitive references (`docs/overlays.md`).++---+ ## [0.17.7] - 2026-09-14 Correctness-hardening point release on the 0.17.x line, consolidating the 0.17.6 breaking batch. It
hydra-python.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: hydra-python-version: 0.17.7+version: 0.18.0 synopsis: Hydra's Python coder: emit Python source from Hydra modules description: Hydra is an implementation of the LambdaGraph data model, which takes advantage of an isomorphism between labeled hypergraphs and typed lambda calculus: in Hydra, "graphs are programs, and programs are graphs". Python support for Hydra category: Data@@ -27,11 +27,11 @@ library exposed-modules:- Hydra.Dsl.Python.Environment- Hydra.Dsl.Python.Names- Hydra.Dsl.Python.Syntax- Hydra.Dsl.Python.Utils Hydra.Python.Coder+ Hydra.Python.Dsl.Environment+ Hydra.Python.Dsl.Names+ Hydra.Python.Dsl.Syntax+ Hydra.Python.Dsl.Utils Hydra.Python.Environment Hydra.Python.Language Hydra.Python.Names@@ -47,6 +47,6 @@ build-depends: base >=4.19.0 && <4.22 , containers >=0.6.7 && <0.8- , hydra-kernel ==0.17.7+ , hydra-kernel ==0.18.0 , scientific >=0.3.7 && <0.4 default-language: Haskell2010
− src/main/haskell/Hydra/Dsl/Python/Environment.hs
@@ -1,4749 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | DSL functions for hydra.python.environment--module Hydra.Dsl.Python.Environment where--import qualified Hydra.Core as Core-import qualified Hydra.Dsl.Python.Syntax as PythonSyntax-import qualified Hydra.Graph as Graph-import qualified Hydra.Packaging as Packaging-import qualified Hydra.Python.Environment as Environment-import qualified Hydra.Python.Syntax as Syntax-import qualified Hydra.Typed as Typed-import qualified Hydra.Typing as Typing-import qualified Hydra.Util as Util-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 constructor for hydra.python.environment.PyGraph-pyGraph :: Typed.TypedTerm Graph.Graph -> Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Environment.PyGraph-pyGraph graph metadata =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PyGraph"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "graph"),- Core.fieldTerm = (Typed.unTypedTerm graph)},- Core.Field {- Core.fieldName = (Core.Name "metadata"),- Core.fieldTerm = (Typed.unTypedTerm metadata)}]}))---- | DSL accessor for the graph field of hydra.python.environment.PyGraph-pyGraphGraph :: Typed.TypedTerm Environment.PyGraph -> Typed.TypedTerm Graph.Graph-pyGraphGraph x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PyGraph"),- Core.projectionFieldName = (Core.Name "graph")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the metadata field of hydra.python.environment.PyGraph-pyGraphMetadata :: Typed.TypedTerm Environment.PyGraph -> Typed.TypedTerm Environment.PythonModuleMetadata-pyGraphMetadata x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PyGraph"),- Core.projectionFieldName = (Core.Name "metadata")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.environment.PyGraph-pyGraphPyGraph :: Typed.TypedName Environment.PyGraph-pyGraphPyGraph = Typed.TypedName (Core.Name "hydra.python.environment.PyGraph")---- | DSL updater for the graph field of hydra.python.environment.PyGraph-pyGraphWithGraph :: Typed.TypedTerm Environment.PyGraph -> Typed.TypedTerm Graph.Graph -> Typed.TypedTerm Environment.PyGraph-pyGraphWithGraph original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PyGraph"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "graph"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "metadata"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PyGraph"),- Core.projectionFieldName = (Core.Name "metadata")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the metadata field of hydra.python.environment.PyGraph-pyGraphWithMetadata :: Typed.TypedTerm Environment.PyGraph -> Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Environment.PyGraph-pyGraphWithMetadata original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PyGraph"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "graph"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PyGraph"),- Core.projectionFieldName = (Core.Name "graph")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "metadata"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.environment.PythonEnvironment-pythonEnvironment :: Typed.TypedTerm (Util.ModuleNames Syntax.DottedName) -> Typed.TypedTerm ([Core.Name], (M.Map Core.Name Syntax.Name)) -> Typed.TypedTerm Graph.Graph -> Typed.TypedTerm (S.Set Core.Name) -> Typed.TypedTerm Environment.PythonVersion -> Typed.TypedTerm Bool -> Typed.TypedTerm (S.Set Core.Name) -> Typed.TypedTerm (S.Set String) -> Typed.TypedTerm Environment.PythonEnvironment-pythonEnvironment namespaces boundTypeVariables graph nullaryBindings version skipCasts inlineVariables overlaySubs =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Typed.unTypedTerm namespaces)},- Core.Field {- Core.fieldName = (Core.Name "boundTypeVariables"),- Core.fieldTerm = (Typed.unTypedTerm boundTypeVariables)},- Core.Field {- Core.fieldName = (Core.Name "graph"),- Core.fieldTerm = (Typed.unTypedTerm graph)},- Core.Field {- Core.fieldName = (Core.Name "nullaryBindings"),- Core.fieldTerm = (Typed.unTypedTerm nullaryBindings)},- Core.Field {- Core.fieldName = (Core.Name "version"),- Core.fieldTerm = (Typed.unTypedTerm version)},- Core.Field {- Core.fieldName = (Core.Name "skipCasts"),- Core.fieldTerm = (Typed.unTypedTerm skipCasts)},- Core.Field {- Core.fieldName = (Core.Name "inlineVariables"),- Core.fieldTerm = (Typed.unTypedTerm inlineVariables)},- Core.Field {- Core.fieldName = (Core.Name "overlaySubs"),- Core.fieldTerm = (Typed.unTypedTerm overlaySubs)}]}))---- | DSL accessor for the boundTypeVariables field of hydra.python.environment.PythonEnvironment-pythonEnvironmentBoundTypeVariables :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm ([Core.Name], (M.Map Core.Name Syntax.Name))-pythonEnvironmentBoundTypeVariables x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "boundTypeVariables")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the graph field of hydra.python.environment.PythonEnvironment-pythonEnvironmentGraph :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Graph.Graph-pythonEnvironmentGraph x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "graph")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the inlineVariables field of hydra.python.environment.PythonEnvironment-pythonEnvironmentInlineVariables :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm (S.Set Core.Name)-pythonEnvironmentInlineVariables x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "inlineVariables")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the namespaces field of hydra.python.environment.PythonEnvironment-pythonEnvironmentNamespaces :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm (Util.ModuleNames Syntax.DottedName)-pythonEnvironmentNamespaces x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "namespaces")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the nullaryBindings field of hydra.python.environment.PythonEnvironment-pythonEnvironmentNullaryBindings :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm (S.Set Core.Name)-pythonEnvironmentNullaryBindings x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "nullaryBindings")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the overlaySubs field of hydra.python.environment.PythonEnvironment-pythonEnvironmentOverlaySubs :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm (S.Set String)-pythonEnvironmentOverlaySubs x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "overlaySubs")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.environment.PythonEnvironment-pythonEnvironmentPythonEnvironment :: Typed.TypedName Environment.PythonEnvironment-pythonEnvironmentPythonEnvironment = Typed.TypedName (Core.Name "hydra.python.environment.PythonEnvironment")---- | DSL accessor for the skipCasts field of hydra.python.environment.PythonEnvironment-pythonEnvironmentSkipCasts :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Bool-pythonEnvironmentSkipCasts x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "skipCasts")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the version field of hydra.python.environment.PythonEnvironment-pythonEnvironmentVersion :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Environment.PythonVersion-pythonEnvironmentVersion x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "version")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the boundTypeVariables field of hydra.python.environment.PythonEnvironment-pythonEnvironmentWithBoundTypeVariables :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm ([Core.Name], (M.Map Core.Name Syntax.Name)) -> Typed.TypedTerm Environment.PythonEnvironment-pythonEnvironmentWithBoundTypeVariables original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "namespaces")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "boundTypeVariables"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "graph"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "graph")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "nullaryBindings"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "nullaryBindings")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "version"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "version")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "skipCasts"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "skipCasts")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "inlineVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "inlineVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "overlaySubs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "overlaySubs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the graph field of hydra.python.environment.PythonEnvironment-pythonEnvironmentWithGraph :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Graph.Graph -> Typed.TypedTerm Environment.PythonEnvironment-pythonEnvironmentWithGraph original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "namespaces")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "boundTypeVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "boundTypeVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "graph"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "nullaryBindings"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "nullaryBindings")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "version"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "version")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "skipCasts"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "skipCasts")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "inlineVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "inlineVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "overlaySubs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "overlaySubs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the inlineVariables field of hydra.python.environment.PythonEnvironment-pythonEnvironmentWithInlineVariables :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm (S.Set Core.Name) -> Typed.TypedTerm Environment.PythonEnvironment-pythonEnvironmentWithInlineVariables original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "namespaces")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "boundTypeVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "boundTypeVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "graph"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "graph")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "nullaryBindings"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "nullaryBindings")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "version"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "version")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "skipCasts"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "skipCasts")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "inlineVariables"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "overlaySubs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "overlaySubs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the namespaces field of hydra.python.environment.PythonEnvironment-pythonEnvironmentWithNamespaces :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm (Util.ModuleNames Syntax.DottedName) -> Typed.TypedTerm Environment.PythonEnvironment-pythonEnvironmentWithNamespaces original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "boundTypeVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "boundTypeVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "graph"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "graph")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "nullaryBindings"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "nullaryBindings")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "version"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "version")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "skipCasts"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "skipCasts")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "inlineVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "inlineVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "overlaySubs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "overlaySubs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the nullaryBindings field of hydra.python.environment.PythonEnvironment-pythonEnvironmentWithNullaryBindings :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm (S.Set Core.Name) -> Typed.TypedTerm Environment.PythonEnvironment-pythonEnvironmentWithNullaryBindings original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "namespaces")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "boundTypeVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "boundTypeVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "graph"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "graph")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "nullaryBindings"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "version"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "version")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "skipCasts"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "skipCasts")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "inlineVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "inlineVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "overlaySubs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "overlaySubs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the overlaySubs field of hydra.python.environment.PythonEnvironment-pythonEnvironmentWithOverlaySubs :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm (S.Set String) -> Typed.TypedTerm Environment.PythonEnvironment-pythonEnvironmentWithOverlaySubs original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "namespaces")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "boundTypeVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "boundTypeVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "graph"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "graph")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "nullaryBindings"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "nullaryBindings")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "version"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "version")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "skipCasts"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "skipCasts")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "inlineVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "inlineVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "overlaySubs"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the skipCasts field of hydra.python.environment.PythonEnvironment-pythonEnvironmentWithSkipCasts :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonEnvironment-pythonEnvironmentWithSkipCasts original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "namespaces")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "boundTypeVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "boundTypeVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "graph"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "graph")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "nullaryBindings"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "nullaryBindings")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "version"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "version")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "skipCasts"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "inlineVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "inlineVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "overlaySubs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "overlaySubs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the version field of hydra.python.environment.PythonEnvironment-pythonEnvironmentWithVersion :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Environment.PythonVersion -> Typed.TypedTerm Environment.PythonEnvironment-pythonEnvironmentWithVersion original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "namespaces")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "boundTypeVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "boundTypeVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "graph"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "graph")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "nullaryBindings"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "nullaryBindings")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "version"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "skipCasts"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "skipCasts")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "inlineVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "inlineVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "overlaySubs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),- Core.projectionFieldName = (Core.Name "overlaySubs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for hydra.python.environment.PythonModuleMetadata-pythonModuleMetadata :: Typed.TypedTerm (Util.ModuleNames Syntax.DottedName) -> Typed.TypedTerm (S.Set Core.Name) -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadata namespaces typeVariables usesAnnotated usesCallable usesCast usesLruCache usesTypeAlias usesDataclass usesDecimal usesEither usesEnum usesFrozenDict usesFrozenList usesFrozenSet usesGeneric usesJust usesLeft usesMaybe usesName usesNode usesNothing usesRight usesTypeVar =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Typed.unTypedTerm namespaces)},- Core.Field {- Core.fieldName = (Core.Name "typeVariables"),- Core.fieldTerm = (Typed.unTypedTerm typeVariables)},- Core.Field {- Core.fieldName = (Core.Name "usesAnnotated"),- Core.fieldTerm = (Typed.unTypedTerm usesAnnotated)},- Core.Field {- Core.fieldName = (Core.Name "usesCallable"),- Core.fieldTerm = (Typed.unTypedTerm usesCallable)},- Core.Field {- Core.fieldName = (Core.Name "usesCast"),- Core.fieldTerm = (Typed.unTypedTerm usesCast)},- Core.Field {- Core.fieldName = (Core.Name "usesLruCache"),- Core.fieldTerm = (Typed.unTypedTerm usesLruCache)},- Core.Field {- Core.fieldName = (Core.Name "usesTypeAlias"),- Core.fieldTerm = (Typed.unTypedTerm usesTypeAlias)},- Core.Field {- Core.fieldName = (Core.Name "usesDataclass"),- Core.fieldTerm = (Typed.unTypedTerm usesDataclass)},- Core.Field {- Core.fieldName = (Core.Name "usesDecimal"),- Core.fieldTerm = (Typed.unTypedTerm usesDecimal)},- Core.Field {- Core.fieldName = (Core.Name "usesEither"),- Core.fieldTerm = (Typed.unTypedTerm usesEither)},- Core.Field {- Core.fieldName = (Core.Name "usesEnum"),- Core.fieldTerm = (Typed.unTypedTerm usesEnum)},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenDict"),- Core.fieldTerm = (Typed.unTypedTerm usesFrozenDict)},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenList"),- Core.fieldTerm = (Typed.unTypedTerm usesFrozenList)},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenSet"),- Core.fieldTerm = (Typed.unTypedTerm usesFrozenSet)},- Core.Field {- Core.fieldName = (Core.Name "usesGeneric"),- Core.fieldTerm = (Typed.unTypedTerm usesGeneric)},- Core.Field {- Core.fieldName = (Core.Name "usesJust"),- Core.fieldTerm = (Typed.unTypedTerm usesJust)},- Core.Field {- Core.fieldName = (Core.Name "usesLeft"),- Core.fieldTerm = (Typed.unTypedTerm usesLeft)},- Core.Field {- Core.fieldName = (Core.Name "usesMaybe"),- Core.fieldTerm = (Typed.unTypedTerm usesMaybe)},- Core.Field {- Core.fieldName = (Core.Name "usesName"),- Core.fieldTerm = (Typed.unTypedTerm usesName)},- Core.Field {- Core.fieldName = (Core.Name "usesNode"),- Core.fieldTerm = (Typed.unTypedTerm usesNode)},- Core.Field {- Core.fieldName = (Core.Name "usesNothing"),- Core.fieldTerm = (Typed.unTypedTerm usesNothing)},- Core.Field {- Core.fieldName = (Core.Name "usesRight"),- Core.fieldTerm = (Typed.unTypedTerm usesRight)},- Core.Field {- Core.fieldName = (Core.Name "usesTypeVar"),- Core.fieldTerm = (Typed.unTypedTerm usesTypeVar)}]}))---- | DSL accessor for the namespaces field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataNamespaces :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm (Util.ModuleNames Syntax.DottedName)-pythonModuleMetadataNamespaces x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "namespaces")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataPythonModuleMetadata :: Typed.TypedName Environment.PythonModuleMetadata-pythonModuleMetadataPythonModuleMetadata = Typed.TypedName (Core.Name "hydra.python.environment.PythonModuleMetadata")---- | DSL accessor for the typeVariables field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataTypeVariables :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm (S.Set Core.Name)-pythonModuleMetadataTypeVariables x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "typeVariables")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesAnnotated field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesAnnotated :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesAnnotated x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesAnnotated")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesCallable field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesCallable :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesCallable x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCallable")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesCast field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesCast :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesCast x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCast")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesDataclass field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesDataclass :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesDataclass x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDataclass")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesDecimal field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesDecimal :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesDecimal x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDecimal")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesEither field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesEither :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesEither x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEither")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesEnum field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesEnum :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesEnum x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEnum")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesFrozenDict field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesFrozenDict :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesFrozenDict x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenDict")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesFrozenList field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesFrozenList :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesFrozenList x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenList")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesFrozenSet field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesFrozenSet :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesFrozenSet x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenSet")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesGeneric field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesGeneric :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesGeneric x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesGeneric")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesJust field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesJust :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesJust x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesJust")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesLeft field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesLeft :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesLeft x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLeft")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesLruCache field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesLruCache :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesLruCache x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLruCache")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesMaybe field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesMaybe :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesMaybe x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesMaybe")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesName field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesName :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesName x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesName")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesNode field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesNode :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesNode x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNode")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesNothing field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesNothing :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesNothing x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNothing")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesRight field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesRight :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesRight x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesRight")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesTypeAlias field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesTypeAlias :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesTypeAlias x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeAlias")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesTypeVar field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesTypeVar :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesTypeVar x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeVar")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the namespaces field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithNamespaces :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm (Util.ModuleNames Syntax.DottedName) -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithNamespaces original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "typeVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "typeVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesAnnotated"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesAnnotated")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCallable"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCallable")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCast"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCast")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLruCache"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLruCache")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeAlias"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeAlias")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDataclass"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDataclass")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDecimal"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDecimal")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEither"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEither")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEnum"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEnum")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenDict"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenDict")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenList"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenList")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenSet"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenSet")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesGeneric"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesGeneric")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesJust"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesJust")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLeft"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLeft")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesMaybe"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesMaybe")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesName"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesName")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNode"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNode")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNothing"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNothing")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesRight"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesRight")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeVar"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeVar")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the typeVariables field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithTypeVariables :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm (S.Set Core.Name) -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithTypeVariables original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "namespaces")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeVariables"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "usesAnnotated"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesAnnotated")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCallable"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCallable")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCast"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCast")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLruCache"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLruCache")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeAlias"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeAlias")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDataclass"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDataclass")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDecimal"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDecimal")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEither"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEither")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEnum"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEnum")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenDict"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenDict")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenList"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenList")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenSet"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenSet")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesGeneric"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesGeneric")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesJust"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesJust")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLeft"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLeft")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesMaybe"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesMaybe")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesName"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesName")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNode"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNode")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNothing"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNothing")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesRight"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesRight")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeVar"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeVar")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesAnnotated field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesAnnotated :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesAnnotated original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "namespaces")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "typeVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesAnnotated"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "usesCallable"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCallable")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCast"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCast")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLruCache"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLruCache")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeAlias"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeAlias")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDataclass"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDataclass")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDecimal"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDecimal")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEither"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEither")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEnum"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEnum")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenDict"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenDict")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenList"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenList")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenSet"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenSet")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesGeneric"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesGeneric")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesJust"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesJust")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLeft"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLeft")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesMaybe"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesMaybe")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesName"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesName")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNode"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNode")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNothing"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNothing")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesRight"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesRight")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeVar"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeVar")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesCallable field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesCallable :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesCallable original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "namespaces")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "typeVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesAnnotated"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesAnnotated")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCallable"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "usesCast"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCast")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLruCache"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLruCache")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeAlias"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeAlias")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDataclass"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDataclass")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDecimal"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDecimal")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEither"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEither")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEnum"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEnum")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenDict"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenDict")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenList"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenList")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenSet"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenSet")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesGeneric"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesGeneric")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesJust"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesJust")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLeft"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLeft")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesMaybe"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesMaybe")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesName"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesName")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNode"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNode")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNothing"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNothing")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesRight"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesRight")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeVar"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeVar")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesCast field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesCast :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesCast original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "namespaces")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "typeVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesAnnotated"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesAnnotated")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCallable"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCallable")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCast"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "usesLruCache"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLruCache")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeAlias"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeAlias")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDataclass"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDataclass")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDecimal"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDecimal")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEither"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEither")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEnum"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEnum")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenDict"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenDict")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenList"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenList")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenSet"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenSet")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesGeneric"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesGeneric")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesJust"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesJust")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLeft"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLeft")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesMaybe"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesMaybe")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesName"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesName")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNode"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNode")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNothing"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNothing")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesRight"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesRight")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeVar"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeVar")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesDataclass field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesDataclass :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesDataclass original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "namespaces")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "typeVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesAnnotated"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesAnnotated")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCallable"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCallable")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCast"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCast")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLruCache"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLruCache")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeAlias"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeAlias")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDataclass"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "usesDecimal"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDecimal")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEither"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEither")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEnum"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEnum")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenDict"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenDict")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenList"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenList")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenSet"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenSet")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesGeneric"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesGeneric")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesJust"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesJust")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLeft"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLeft")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesMaybe"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesMaybe")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesName"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesName")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNode"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNode")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNothing"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNothing")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesRight"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesRight")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeVar"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeVar")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesDecimal field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesDecimal :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesDecimal original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "namespaces")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "typeVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesAnnotated"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesAnnotated")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCallable"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCallable")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCast"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCast")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLruCache"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLruCache")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeAlias"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeAlias")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDataclass"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDataclass")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDecimal"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "usesEither"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEither")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEnum"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEnum")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenDict"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenDict")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenList"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenList")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenSet"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenSet")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesGeneric"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesGeneric")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesJust"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesJust")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLeft"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLeft")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesMaybe"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesMaybe")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesName"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesName")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNode"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNode")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNothing"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNothing")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesRight"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesRight")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeVar"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeVar")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesEither field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesEither :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesEither original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "namespaces")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "typeVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesAnnotated"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesAnnotated")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCallable"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCallable")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCast"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCast")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLruCache"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLruCache")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeAlias"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeAlias")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDataclass"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDataclass")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDecimal"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDecimal")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEither"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "usesEnum"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEnum")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenDict"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenDict")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenList"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenList")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenSet"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenSet")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesGeneric"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesGeneric")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesJust"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesJust")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLeft"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLeft")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesMaybe"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesMaybe")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesName"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesName")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNode"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNode")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNothing"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNothing")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesRight"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesRight")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeVar"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeVar")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesEnum field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesEnum :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesEnum original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "namespaces")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "typeVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesAnnotated"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesAnnotated")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCallable"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCallable")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCast"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCast")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLruCache"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLruCache")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeAlias"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeAlias")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDataclass"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDataclass")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDecimal"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDecimal")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEither"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEither")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEnum"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenDict"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenDict")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenList"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenList")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenSet"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenSet")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesGeneric"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesGeneric")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesJust"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesJust")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLeft"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLeft")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesMaybe"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesMaybe")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesName"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesName")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNode"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNode")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNothing"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNothing")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesRight"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesRight")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeVar"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeVar")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesFrozenDict field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesFrozenDict :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesFrozenDict original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "namespaces")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "typeVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesAnnotated"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesAnnotated")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCallable"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCallable")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCast"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCast")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLruCache"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLruCache")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeAlias"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeAlias")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDataclass"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDataclass")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDecimal"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDecimal")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEither"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEither")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEnum"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEnum")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenDict"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenList"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenList")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenSet"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenSet")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesGeneric"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesGeneric")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesJust"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesJust")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLeft"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLeft")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesMaybe"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesMaybe")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesName"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesName")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNode"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNode")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNothing"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNothing")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesRight"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesRight")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeVar"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeVar")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesFrozenList field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesFrozenList :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesFrozenList original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "namespaces")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "typeVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesAnnotated"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesAnnotated")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCallable"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCallable")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCast"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCast")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLruCache"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLruCache")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeAlias"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeAlias")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDataclass"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDataclass")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDecimal"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDecimal")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEither"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEither")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEnum"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEnum")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenDict"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenDict")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenList"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenSet"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenSet")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesGeneric"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesGeneric")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesJust"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesJust")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLeft"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLeft")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesMaybe"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesMaybe")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesName"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesName")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNode"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNode")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNothing"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNothing")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesRight"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesRight")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeVar"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeVar")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesFrozenSet field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesFrozenSet :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesFrozenSet original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "namespaces")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "typeVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesAnnotated"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesAnnotated")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCallable"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCallable")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCast"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCast")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLruCache"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLruCache")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeAlias"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeAlias")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDataclass"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDataclass")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDecimal"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDecimal")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEither"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEither")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEnum"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEnum")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenDict"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenDict")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenList"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenList")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenSet"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "usesGeneric"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesGeneric")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesJust"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesJust")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLeft"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLeft")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesMaybe"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesMaybe")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesName"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesName")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNode"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNode")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNothing"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNothing")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesRight"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesRight")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeVar"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeVar")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesGeneric field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesGeneric :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesGeneric original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "namespaces")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "typeVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesAnnotated"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesAnnotated")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCallable"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCallable")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCast"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCast")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLruCache"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLruCache")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeAlias"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeAlias")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDataclass"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDataclass")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDecimal"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDecimal")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEither"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEither")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEnum"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEnum")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenDict"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenDict")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenList"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenList")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenSet"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenSet")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesGeneric"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "usesJust"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesJust")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLeft"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLeft")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesMaybe"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesMaybe")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesName"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesName")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNode"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNode")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNothing"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNothing")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesRight"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesRight")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeVar"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeVar")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesJust field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesJust :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesJust original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "namespaces")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "typeVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesAnnotated"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesAnnotated")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCallable"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCallable")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCast"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCast")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLruCache"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLruCache")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeAlias"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeAlias")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDataclass"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDataclass")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDecimal"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDecimal")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEither"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEither")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEnum"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEnum")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenDict"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenDict")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenList"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenList")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenSet"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenSet")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesGeneric"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesGeneric")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesJust"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "usesLeft"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLeft")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesMaybe"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesMaybe")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesName"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesName")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNode"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNode")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNothing"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNothing")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesRight"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesRight")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeVar"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeVar")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesLeft field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesLeft :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesLeft original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "namespaces")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "typeVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesAnnotated"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesAnnotated")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCallable"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCallable")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCast"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCast")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLruCache"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLruCache")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeAlias"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeAlias")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDataclass"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDataclass")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDecimal"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDecimal")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEither"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEither")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEnum"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEnum")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenDict"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenDict")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenList"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenList")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenSet"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenSet")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesGeneric"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesGeneric")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesJust"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesJust")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLeft"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "usesMaybe"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesMaybe")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesName"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesName")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNode"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNode")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNothing"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNothing")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesRight"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesRight")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeVar"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeVar")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesLruCache field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesLruCache :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesLruCache original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "namespaces")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "typeVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesAnnotated"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesAnnotated")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCallable"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCallable")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCast"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCast")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLruCache"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "usesTypeAlias"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeAlias")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDataclass"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDataclass")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDecimal"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDecimal")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEither"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEither")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEnum"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEnum")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenDict"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenDict")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenList"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenList")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenSet"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenSet")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesGeneric"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesGeneric")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesJust"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesJust")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLeft"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLeft")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesMaybe"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesMaybe")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesName"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesName")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNode"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNode")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNothing"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNothing")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesRight"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesRight")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeVar"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeVar")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesMaybe field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesMaybe :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesMaybe original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "namespaces")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "typeVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesAnnotated"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesAnnotated")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCallable"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCallable")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCast"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCast")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLruCache"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLruCache")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeAlias"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeAlias")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDataclass"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDataclass")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDecimal"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDecimal")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEither"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEither")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEnum"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEnum")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenDict"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenDict")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenList"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenList")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenSet"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenSet")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesGeneric"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesGeneric")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesJust"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesJust")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLeft"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLeft")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesMaybe"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "usesName"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesName")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNode"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNode")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNothing"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNothing")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesRight"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesRight")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeVar"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeVar")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesName field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesName :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesName original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "namespaces")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "typeVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesAnnotated"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesAnnotated")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCallable"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCallable")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCast"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCast")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLruCache"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLruCache")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeAlias"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeAlias")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDataclass"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDataclass")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDecimal"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDecimal")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEither"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEither")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEnum"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEnum")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenDict"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenDict")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenList"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenList")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenSet"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenSet")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesGeneric"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesGeneric")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesJust"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesJust")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLeft"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLeft")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesMaybe"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesMaybe")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesName"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "usesNode"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNode")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNothing"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNothing")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesRight"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesRight")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeVar"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeVar")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesNode field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesNode :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesNode original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "namespaces")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "typeVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesAnnotated"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesAnnotated")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCallable"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCallable")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCast"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCast")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLruCache"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLruCache")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeAlias"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeAlias")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDataclass"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDataclass")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDecimal"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDecimal")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEither"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEither")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEnum"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEnum")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenDict"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenDict")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenList"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenList")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenSet"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenSet")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesGeneric"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesGeneric")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesJust"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesJust")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLeft"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLeft")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesMaybe"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesMaybe")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesName"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesName")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNode"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "usesNothing"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNothing")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesRight"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesRight")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeVar"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeVar")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesNothing field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesNothing :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesNothing original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "namespaces")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "typeVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesAnnotated"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesAnnotated")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCallable"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCallable")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCast"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCast")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLruCache"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLruCache")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeAlias"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeAlias")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDataclass"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDataclass")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDecimal"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDecimal")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEither"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEither")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEnum"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEnum")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenDict"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenDict")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenList"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenList")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenSet"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenSet")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesGeneric"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesGeneric")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesJust"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesJust")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLeft"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLeft")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesMaybe"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesMaybe")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesName"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesName")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNode"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNode")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNothing"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "usesRight"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesRight")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeVar"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeVar")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesRight field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesRight :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesRight original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "namespaces")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "typeVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesAnnotated"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesAnnotated")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCallable"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCallable")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCast"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCast")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLruCache"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLruCache")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeAlias"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeAlias")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDataclass"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDataclass")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDecimal"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDecimal")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEither"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEither")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEnum"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEnum")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenDict"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenDict")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenList"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenList")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenSet"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenSet")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesGeneric"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesGeneric")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesJust"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesJust")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLeft"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLeft")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesMaybe"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesMaybe")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesName"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesName")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNode"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNode")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNothing"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNothing")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesRight"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "usesTypeVar"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeVar")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesTypeAlias field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesTypeAlias :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesTypeAlias original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "namespaces")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "typeVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesAnnotated"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesAnnotated")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCallable"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCallable")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCast"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCast")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLruCache"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLruCache")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeAlias"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "usesDataclass"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDataclass")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDecimal"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDecimal")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEither"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEither")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEnum"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEnum")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenDict"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenDict")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenList"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenList")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenSet"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenSet")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesGeneric"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesGeneric")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesJust"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesJust")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLeft"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLeft")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesMaybe"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesMaybe")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesName"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesName")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNode"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNode")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNothing"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNothing")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesRight"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesRight")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeVar"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeVar")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesTypeVar field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesTypeVar :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesTypeVar original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "namespaces"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "namespaces")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeVariables"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "typeVariables")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesAnnotated"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesAnnotated")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCallable"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCallable")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesCast"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesCast")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLruCache"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLruCache")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeAlias"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesTypeAlias")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDataclass"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDataclass")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesDecimal"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesDecimal")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEither"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEither")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesEnum"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesEnum")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenDict"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenDict")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenList"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenList")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesFrozenSet"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesFrozenSet")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesGeneric"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesGeneric")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesJust"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesJust")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesLeft"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesLeft")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesMaybe"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesMaybe")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesName"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesName")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNode"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNode")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesNothing"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesNothing")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesRight"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),- Core.projectionFieldName = (Core.Name "usesRight")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "usesTypeVar"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL injection for the python310 variant of hydra.python.environment.PythonVersion-pythonVersionPython310 :: Typed.TypedTerm Environment.PythonVersion-pythonVersionPython310 =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.environment.PythonVersion"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "python310"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the python312 variant of hydra.python.environment.PythonVersion-pythonVersionPython312 :: Typed.TypedTerm Environment.PythonVersion-pythonVersionPython312 =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.environment.PythonVersion"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "python312"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL name token for hydra.python.environment.PythonVersion-pythonVersionPythonVersion :: Typed.TypedName Environment.PythonVersion-pythonVersionPythonVersion = Typed.TypedName (Core.Name "hydra.python.environment.PythonVersion")
− src/main/haskell/Hydra/Dsl/Python/Names.hs
@@ -1,194 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | DSL functions for hydra.python.names--module Hydra.Dsl.Python.Names where--import qualified Hydra.Ast as Ast-import qualified Hydra.Classes as Classes-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Dsl.Python.Environment as PythonEnvironment-import qualified Hydra.Dsl.Python.Syntax as PythonSyntax-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Errors as Errors-import qualified Hydra.Formatting as Formatting-import qualified Hydra.Graph as Graph-import qualified Hydra.Json.Model as Model-import qualified Hydra.Names as Names-import qualified Hydra.Packaging as Packaging-import qualified Hydra.Parsing as Parsing-import qualified Hydra.Paths as Paths-import qualified Hydra.Python.Environment as Environment-import qualified Hydra.Python.Language as Language-import qualified Hydra.Python.Names as PythonNames-import qualified Hydra.Python.Serde as Serde-import qualified Hydra.Python.Syntax as Syntax-import qualified Hydra.Query as Query-import qualified Hydra.Relational as Relational-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Topology as Topology-import qualified Hydra.Typed as Typed-import qualified Hydra.Typing as Typing-import qualified Hydra.Util as Util-import qualified Hydra.Validation as Validation-import qualified Hydra.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.python.names.encodeConstantForFieldName-encodeConstantForFieldName :: Typed.TypedTerm t0 -> Typed.TypedTerm t1 -> Typed.TypedTerm Core.Name -> Typed.TypedTerm Syntax.Name-encodeConstantForFieldName arg0 arg1 arg2 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.names.encodeConstantForFieldName")),- Core.applicationArgument = (Typed.unTypedTerm arg0)})),- Core.applicationArgument = (Typed.unTypedTerm arg1)})),- Core.applicationArgument = (Typed.unTypedTerm arg2)}))---- | DSL reference to hydra.python.names.encodeConstantForTypeName-encodeConstantForTypeName :: Typed.TypedTerm t0 -> Typed.TypedTerm t1 -> Typed.TypedTerm Syntax.Name-encodeConstantForTypeName arg0 arg1 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.names.encodeConstantForTypeName")),- Core.applicationArgument = (Typed.unTypedTerm arg0)})),- Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.names.encodeEnumValue-encodeEnumValue :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Core.Name -> Typed.TypedTerm Syntax.Name-encodeEnumValue arg0 arg1 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.names.encodeEnumValue")),- Core.applicationArgument = (Typed.unTypedTerm arg0)})),- Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.names.encodeFieldName-encodeFieldName :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Core.Name -> Typed.TypedTerm Syntax.Name-encodeFieldName arg0 arg1 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.names.encodeFieldName")),- Core.applicationArgument = (Typed.unTypedTerm arg0)})),- Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.names.encodeName-encodeName :: Typed.TypedTerm Bool -> Typed.TypedTerm Util.CaseConvention -> Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Core.Name -> Typed.TypedTerm Syntax.Name-encodeName arg0 arg1 arg2 arg3 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.names.encodeName")),- Core.applicationArgument = (Typed.unTypedTerm arg0)})),- Core.applicationArgument = (Typed.unTypedTerm arg1)})),- Core.applicationArgument = (Typed.unTypedTerm arg2)})),- Core.applicationArgument = (Typed.unTypedTerm arg3)}))---- | DSL reference to hydra.python.names.encodeNameQualified-encodeNameQualified :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Core.Name -> Typed.TypedTerm Syntax.Name-encodeNameQualified arg0 arg1 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.names.encodeNameQualified")),- Core.applicationArgument = (Typed.unTypedTerm arg0)})),- Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.names.encodeNamespace-encodeNamespace :: Typed.TypedTerm Packaging.ModuleName -> Typed.TypedTerm Syntax.DottedName-encodeNamespace arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.names.encodeNamespace")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.names.encodeNamespaceStringWithOverrides-encodeNamespaceStringWithOverrides :: Typed.TypedTerm (S.Set String) -> Typed.TypedTerm Packaging.ModuleName -> Typed.TypedTerm String-encodeNamespaceStringWithOverrides arg0 arg1 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.names.encodeNamespaceStringWithOverrides")),- Core.applicationArgument = (Typed.unTypedTerm arg0)})),- Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.names.encodeNamespaceWithOverrides-encodeNamespaceWithOverrides :: Typed.TypedTerm (S.Set String) -> Typed.TypedTerm Packaging.ModuleName -> Typed.TypedTerm Syntax.DottedName-encodeNamespaceWithOverrides arg0 arg1 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.names.encodeNamespaceWithOverrides")),- Core.applicationArgument = (Typed.unTypedTerm arg0)})),- Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.names.encodeTypeVariable-encodeTypeVariable :: Typed.TypedTerm Core.Name -> Typed.TypedTerm Syntax.Name-encodeTypeVariable arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.names.encodeTypeVariable")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.names.overlayPythonModuleAliases-overlayPythonModuleAliases :: Typed.TypedTerm (M.Map Packaging.ModuleName String)-overlayPythonModuleAliases = Typed.TypedTerm (Core.TermVariable (Core.Name "hydra.python.names.overlayPythonModuleAliases"))---- | DSL reference to hydra.python.names.sanitizePythonName-sanitizePythonName :: Typed.TypedTerm String -> Typed.TypedTerm String-sanitizePythonName arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.names.sanitizePythonName")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.names.termVariableReference-termVariableReference :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Core.Name -> Typed.TypedTerm Syntax.Expression-termVariableReference arg0 arg1 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.names.termVariableReference")),- Core.applicationArgument = (Typed.unTypedTerm arg0)})),- Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.names.typeVariableReference-typeVariableReference :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Core.Name -> Typed.TypedTerm Syntax.Expression-typeVariableReference arg0 arg1 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.names.typeVariableReference")),- Core.applicationArgument = (Typed.unTypedTerm arg0)})),- Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.names.useFutureAnnotations-useFutureAnnotations :: Typed.TypedTerm Bool-useFutureAnnotations = Typed.TypedTerm (Core.TermVariable (Core.Name "hydra.python.names.useFutureAnnotations"))---- | DSL reference to hydra.python.names.variableReference-variableReference :: Typed.TypedTerm Util.CaseConvention -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Core.Name -> Typed.TypedTerm Syntax.Expression-variableReference arg0 arg1 arg2 arg3 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.names.variableReference")),- Core.applicationArgument = (Typed.unTypedTerm arg0)})),- Core.applicationArgument = (Typed.unTypedTerm arg1)})),- Core.applicationArgument = (Typed.unTypedTerm arg2)})),- Core.applicationArgument = (Typed.unTypedTerm arg3)}))---- | DSL reference to hydra.python.names.variantName-variantName :: Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Core.Name -> Typed.TypedTerm Core.Name -> Typed.TypedTerm Syntax.Name-variantName arg0 arg1 arg2 arg3 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.names.variantName")),- Core.applicationArgument = (Typed.unTypedTerm arg0)})),- Core.applicationArgument = (Typed.unTypedTerm arg1)})),- Core.applicationArgument = (Typed.unTypedTerm arg2)})),- Core.applicationArgument = (Typed.unTypedTerm arg3)}))
− src/main/haskell/Hydra/Dsl/Python/Syntax.hs
@@ -1,11743 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | DSL functions for hydra.python.syntax--module Hydra.Dsl.Python.Syntax where--import qualified Hydra.Core as Core-import qualified Hydra.Python.Syntax as Syntax-import qualified Hydra.Typed as Typed-import Prelude hiding (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)-import qualified Data.Scientific as Sci-import Data.Void---- | DSL name token for hydra.python.syntax.AnnotatedRhs-annotatedRhsAnnotatedRhs :: Typed.TypedName Syntax.AnnotatedRhs-annotatedRhsAnnotatedRhs = Typed.TypedName (Core.Name "hydra.python.syntax.AnnotatedRhs")---- | DSL injection for the star variant of hydra.python.syntax.AnnotatedRhs-annotatedRhsStar :: Typed.TypedTerm [Syntax.StarExpression] -> Typed.TypedTerm Syntax.AnnotatedRhs-annotatedRhsStar x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.AnnotatedRhs"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "star"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the yield variant of hydra.python.syntax.AnnotatedRhs-annotatedRhsYield :: Typed.TypedTerm Syntax.YieldExpression -> Typed.TypedTerm Syntax.AnnotatedRhs-annotatedRhsYield x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.AnnotatedRhs"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "yield"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for hydra.python.syntax.AnnotatedStatement-annotatedStatement :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm Syntax.AnnotatedStatement-annotatedStatement comment statement =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.AnnotatedStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "comment"),- Core.fieldTerm = (Typed.unTypedTerm comment)},- Core.Field {- Core.fieldName = (Core.Name "statement"),- Core.fieldTerm = (Typed.unTypedTerm statement)}]}))---- | DSL name token for hydra.python.syntax.AnnotatedStatement-annotatedStatementAnnotatedStatement :: Typed.TypedName Syntax.AnnotatedStatement-annotatedStatementAnnotatedStatement = Typed.TypedName (Core.Name "hydra.python.syntax.AnnotatedStatement")---- | DSL accessor for the comment field of hydra.python.syntax.AnnotatedStatement-annotatedStatementComment :: Typed.TypedTerm Syntax.AnnotatedStatement -> Typed.TypedTerm String-annotatedStatementComment x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.AnnotatedStatement"),- Core.projectionFieldName = (Core.Name "comment")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the statement field of hydra.python.syntax.AnnotatedStatement-annotatedStatementStatement :: Typed.TypedTerm Syntax.AnnotatedStatement -> Typed.TypedTerm Syntax.Statement-annotatedStatementStatement x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.AnnotatedStatement"),- Core.projectionFieldName = (Core.Name "statement")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the comment field of hydra.python.syntax.AnnotatedStatement-annotatedStatementWithComment :: Typed.TypedTerm Syntax.AnnotatedStatement -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.AnnotatedStatement-annotatedStatementWithComment original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.AnnotatedStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "comment"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "statement"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.AnnotatedStatement"),- Core.projectionFieldName = (Core.Name "statement")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the statement field of hydra.python.syntax.AnnotatedStatement-annotatedStatementWithStatement :: Typed.TypedTerm Syntax.AnnotatedStatement -> Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm Syntax.AnnotatedStatement-annotatedStatementWithStatement original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.AnnotatedStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "comment"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.AnnotatedStatement"),- Core.projectionFieldName = (Core.Name "comment")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "statement"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for the hydra.python.syntax.Annotation wrapper-annotation :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Annotation-annotation x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.Annotation"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Annotation-annotationAnnotation :: Typed.TypedName Syntax.Annotation-annotationAnnotation = Typed.TypedName (Core.Name "hydra.python.syntax.Annotation")---- | DSL constructor for hydra.python.syntax.Args-args :: Typed.TypedTerm [Syntax.PosArg] -> Typed.TypedTerm [Syntax.KwargOrStarred] -> Typed.TypedTerm [Syntax.KwargOrDoubleStarred] -> Typed.TypedTerm Syntax.Args-args positional kwargOrStarred kwargOrDoubleStarred =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Args"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "positional"),- Core.fieldTerm = (Typed.unTypedTerm positional)},- Core.Field {- Core.fieldName = (Core.Name "kwargOrStarred"),- Core.fieldTerm = (Typed.unTypedTerm kwargOrStarred)},- Core.Field {- Core.fieldName = (Core.Name "kwargOrDoubleStarred"),- Core.fieldTerm = (Typed.unTypedTerm kwargOrDoubleStarred)}]}))---- | DSL name token for hydra.python.syntax.Args-argsArgs :: Typed.TypedName Syntax.Args-argsArgs = Typed.TypedName (Core.Name "hydra.python.syntax.Args")---- | DSL accessor for the kwargOrDoubleStarred field of hydra.python.syntax.Args-argsKwargOrDoubleStarred :: Typed.TypedTerm Syntax.Args -> Typed.TypedTerm [Syntax.KwargOrDoubleStarred]-argsKwargOrDoubleStarred x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Args"),- Core.projectionFieldName = (Core.Name "kwargOrDoubleStarred")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the kwargOrStarred field of hydra.python.syntax.Args-argsKwargOrStarred :: Typed.TypedTerm Syntax.Args -> Typed.TypedTerm [Syntax.KwargOrStarred]-argsKwargOrStarred x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Args"),- Core.projectionFieldName = (Core.Name "kwargOrStarred")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the positional field of hydra.python.syntax.Args-argsPositional :: Typed.TypedTerm Syntax.Args -> Typed.TypedTerm [Syntax.PosArg]-argsPositional x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Args"),- Core.projectionFieldName = (Core.Name "positional")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the kwargOrDoubleStarred field of hydra.python.syntax.Args-argsWithKwargOrDoubleStarred :: Typed.TypedTerm Syntax.Args -> Typed.TypedTerm [Syntax.KwargOrDoubleStarred] -> Typed.TypedTerm Syntax.Args-argsWithKwargOrDoubleStarred original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Args"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "positional"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Args"),- Core.projectionFieldName = (Core.Name "positional")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "kwargOrStarred"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Args"),- Core.projectionFieldName = (Core.Name "kwargOrStarred")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "kwargOrDoubleStarred"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the kwargOrStarred field of hydra.python.syntax.Args-argsWithKwargOrStarred :: Typed.TypedTerm Syntax.Args -> Typed.TypedTerm [Syntax.KwargOrStarred] -> Typed.TypedTerm Syntax.Args-argsWithKwargOrStarred original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Args"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "positional"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Args"),- Core.projectionFieldName = (Core.Name "positional")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "kwargOrStarred"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "kwargOrDoubleStarred"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Args"),- Core.projectionFieldName = (Core.Name "kwargOrDoubleStarred")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the positional field of hydra.python.syntax.Args-argsWithPositional :: Typed.TypedTerm Syntax.Args -> Typed.TypedTerm [Syntax.PosArg] -> Typed.TypedTerm Syntax.Args-argsWithPositional original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Args"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "positional"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "kwargOrStarred"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Args"),- Core.projectionFieldName = (Core.Name "kwargOrStarred")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "kwargOrDoubleStarred"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Args"),- Core.projectionFieldName = (Core.Name "kwargOrDoubleStarred")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for hydra.python.syntax.AsPattern-asPattern :: Typed.TypedTerm Syntax.OrPattern -> Typed.TypedTerm Syntax.PatternCaptureTarget -> Typed.TypedTerm Syntax.AsPattern-asPattern pattern as =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.AsPattern"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "pattern"),- Core.fieldTerm = (Typed.unTypedTerm pattern)},- Core.Field {- Core.fieldName = (Core.Name "as"),- Core.fieldTerm = (Typed.unTypedTerm as)}]}))---- | DSL accessor for the as field of hydra.python.syntax.AsPattern-asPatternAs :: Typed.TypedTerm Syntax.AsPattern -> Typed.TypedTerm Syntax.PatternCaptureTarget-asPatternAs x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.AsPattern"),- Core.projectionFieldName = (Core.Name "as")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.AsPattern-asPatternAsPattern :: Typed.TypedName Syntax.AsPattern-asPatternAsPattern = Typed.TypedName (Core.Name "hydra.python.syntax.AsPattern")---- | DSL accessor for the pattern field of hydra.python.syntax.AsPattern-asPatternPattern :: Typed.TypedTerm Syntax.AsPattern -> Typed.TypedTerm Syntax.OrPattern-asPatternPattern x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.AsPattern"),- Core.projectionFieldName = (Core.Name "pattern")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the as field of hydra.python.syntax.AsPattern-asPatternWithAs :: Typed.TypedTerm Syntax.AsPattern -> Typed.TypedTerm Syntax.PatternCaptureTarget -> Typed.TypedTerm Syntax.AsPattern-asPatternWithAs original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.AsPattern"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "pattern"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.AsPattern"),- Core.projectionFieldName = (Core.Name "pattern")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "as"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the pattern field of hydra.python.syntax.AsPattern-asPatternWithPattern :: Typed.TypedTerm Syntax.AsPattern -> Typed.TypedTerm Syntax.OrPattern -> Typed.TypedTerm Syntax.AsPattern-asPatternWithPattern original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.AsPattern"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "pattern"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "as"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.AsPattern"),- Core.projectionFieldName = (Core.Name "as")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for hydra.python.syntax.AssertStatement-assertStatement :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.AssertStatement-assertStatement expression1 expression2 =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.AssertStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "expression1"),- Core.fieldTerm = (Typed.unTypedTerm expression1)},- Core.Field {- Core.fieldName = (Core.Name "expression2"),- Core.fieldTerm = (Typed.unTypedTerm expression2)}]}))---- | DSL name token for hydra.python.syntax.AssertStatement-assertStatementAssertStatement :: Typed.TypedName Syntax.AssertStatement-assertStatementAssertStatement = Typed.TypedName (Core.Name "hydra.python.syntax.AssertStatement")---- | DSL accessor for the expression1 field of hydra.python.syntax.AssertStatement-assertStatementExpression1 :: Typed.TypedTerm Syntax.AssertStatement -> Typed.TypedTerm Syntax.Expression-assertStatementExpression1 x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.AssertStatement"),- Core.projectionFieldName = (Core.Name "expression1")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the expression2 field of hydra.python.syntax.AssertStatement-assertStatementExpression2 :: Typed.TypedTerm Syntax.AssertStatement -> Typed.TypedTerm (Maybe Syntax.Expression)-assertStatementExpression2 x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.AssertStatement"),- Core.projectionFieldName = (Core.Name "expression2")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the expression1 field of hydra.python.syntax.AssertStatement-assertStatementWithExpression1 :: Typed.TypedTerm Syntax.AssertStatement -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.AssertStatement-assertStatementWithExpression1 original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.AssertStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "expression1"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "expression2"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.AssertStatement"),- Core.projectionFieldName = (Core.Name "expression2")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the expression2 field of hydra.python.syntax.AssertStatement-assertStatementWithExpression2 :: Typed.TypedTerm Syntax.AssertStatement -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.AssertStatement-assertStatementWithExpression2 original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.AssertStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "expression1"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.AssertStatement"),- Core.projectionFieldName = (Core.Name "expression1")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "expression2"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL name token for hydra.python.syntax.Assignment-assignmentAssignment :: Typed.TypedName Syntax.Assignment-assignmentAssignment = Typed.TypedName (Core.Name "hydra.python.syntax.Assignment")---- | DSL injection for the aug variant of hydra.python.syntax.Assignment-assignmentAug :: Typed.TypedTerm Syntax.AugAssignment -> Typed.TypedTerm Syntax.Assignment-assignmentAug x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Assignment"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "aug"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for hydra.python.syntax.AssignmentExpression-assignmentExpression :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.AssignmentExpression-assignmentExpression name expression =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.AssignmentExpression"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm name)},- Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Typed.unTypedTerm expression)}]}))---- | DSL name token for hydra.python.syntax.AssignmentExpression-assignmentExpressionAssignmentExpression :: Typed.TypedName Syntax.AssignmentExpression-assignmentExpressionAssignmentExpression = Typed.TypedName (Core.Name "hydra.python.syntax.AssignmentExpression")---- | DSL accessor for the expression field of hydra.python.syntax.AssignmentExpression-assignmentExpressionExpression :: Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.Expression-assignmentExpressionExpression x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.AssignmentExpression"),- Core.projectionFieldName = (Core.Name "expression")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the name field of hydra.python.syntax.AssignmentExpression-assignmentExpressionName :: Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.Name-assignmentExpressionName x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.AssignmentExpression"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the expression field of hydra.python.syntax.AssignmentExpression-assignmentExpressionWithExpression :: Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.AssignmentExpression-assignmentExpressionWithExpression original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.AssignmentExpression"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.AssignmentExpression"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the name field of hydra.python.syntax.AssignmentExpression-assignmentExpressionWithName :: Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.AssignmentExpression-assignmentExpressionWithName original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.AssignmentExpression"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.AssignmentExpression"),- Core.projectionFieldName = (Core.Name "expression")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL injection for the typed variant of hydra.python.syntax.Assignment-assignmentTyped :: Typed.TypedTerm Syntax.TypedAssignment -> Typed.TypedTerm Syntax.Assignment-assignmentTyped x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Assignment"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "typed"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the untyped variant of hydra.python.syntax.Assignment-assignmentUntyped :: Typed.TypedTerm Syntax.UntypedAssignment -> Typed.TypedTerm Syntax.Assignment-assignmentUntyped x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Assignment"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "untyped"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.Atom-atomAtom :: Typed.TypedName Syntax.Atom-atomAtom = Typed.TypedName (Core.Name "hydra.python.syntax.Atom")---- | DSL injection for the dict variant of hydra.python.syntax.Atom-atomDict :: Typed.TypedTerm Syntax.Dict -> Typed.TypedTerm Syntax.Atom-atomDict x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Atom"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "dict"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the dictcomp variant of hydra.python.syntax.Atom-atomDictcomp :: Typed.TypedTerm Syntax.Dictcomp -> Typed.TypedTerm Syntax.Atom-atomDictcomp x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Atom"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "dictcomp"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the ellipsis variant of hydra.python.syntax.Atom-atomEllipsis :: Typed.TypedTerm Syntax.Atom-atomEllipsis =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Atom"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "ellipsis"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the false variant of hydra.python.syntax.Atom-atomFalse :: Typed.TypedTerm Syntax.Atom-atomFalse =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Atom"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "false"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the genexp variant of hydra.python.syntax.Atom-atomGenexp :: Typed.TypedTerm Syntax.Genexp -> Typed.TypedTerm Syntax.Atom-atomGenexp x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Atom"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "genexp"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the group variant of hydra.python.syntax.Atom-atomGroup :: Typed.TypedTerm Syntax.Group -> Typed.TypedTerm Syntax.Atom-atomGroup x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Atom"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "group"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the list variant of hydra.python.syntax.Atom-atomList :: Typed.TypedTerm Syntax.List -> Typed.TypedTerm Syntax.Atom-atomList x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Atom"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "list"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the listcomp variant of hydra.python.syntax.Atom-atomListcomp :: Typed.TypedTerm Syntax.Listcomp -> Typed.TypedTerm Syntax.Atom-atomListcomp x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Atom"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "listcomp"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the name variant of hydra.python.syntax.Atom-atomName :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Atom-atomName x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Atom"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the none variant of hydra.python.syntax.Atom-atomNone :: Typed.TypedTerm Syntax.Atom-atomNone =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Atom"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "none"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the number variant of hydra.python.syntax.Atom-atomNumber :: Typed.TypedTerm Syntax.Number -> Typed.TypedTerm Syntax.Atom-atomNumber x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Atom"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "number"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the set variant of hydra.python.syntax.Atom-atomSet :: Typed.TypedTerm Syntax.Set -> Typed.TypedTerm Syntax.Atom-atomSet x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Atom"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "set"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the setcomp variant of hydra.python.syntax.Atom-atomSetcomp :: Typed.TypedTerm Syntax.Setcomp -> Typed.TypedTerm Syntax.Atom-atomSetcomp x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Atom"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "setcomp"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the string variant of hydra.python.syntax.Atom-atomString :: Typed.TypedTerm Syntax.String_ -> Typed.TypedTerm Syntax.Atom-atomString x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Atom"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "string"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the true variant of hydra.python.syntax.Atom-atomTrue :: Typed.TypedTerm Syntax.Atom-atomTrue =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Atom"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "true"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the tuple variant of hydra.python.syntax.Atom-atomTuple :: Typed.TypedTerm Syntax.Tuple -> Typed.TypedTerm Syntax.Atom-atomTuple x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Atom"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "tuple"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for the hydra.python.syntax.Attribute wrapper-attribute :: Typed.TypedTerm [Syntax.Name] -> Typed.TypedTerm Syntax.Attribute-attribute x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.Attribute"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Attribute-attributeAttribute :: Typed.TypedName Syntax.Attribute-attributeAttribute = Typed.TypedName (Core.Name "hydra.python.syntax.Attribute")---- | DSL injection for the ampersandEqual variant of hydra.python.syntax.AugAssign-augAssignAmpersandEqual :: Typed.TypedTerm Syntax.AugAssign-augAssignAmpersandEqual =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.AugAssign"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "ampersandEqual"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the atEqual variant of hydra.python.syntax.AugAssign-augAssignAtEqual :: Typed.TypedTerm Syntax.AugAssign-augAssignAtEqual =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.AugAssign"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "atEqual"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL name token for hydra.python.syntax.AugAssign-augAssignAugAssign :: Typed.TypedName Syntax.AugAssign-augAssignAugAssign = Typed.TypedName (Core.Name "hydra.python.syntax.AugAssign")---- | DSL injection for the barEqual variant of hydra.python.syntax.AugAssign-augAssignBarEqual :: Typed.TypedTerm Syntax.AugAssign-augAssignBarEqual =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.AugAssign"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "barEqual"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the caretEqual variant of hydra.python.syntax.AugAssign-augAssignCaretEqual :: Typed.TypedTerm Syntax.AugAssign-augAssignCaretEqual =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.AugAssign"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "caretEqual"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the doubleSlashEqual variant of hydra.python.syntax.AugAssign-augAssignDoubleSlashEqual :: Typed.TypedTerm Syntax.AugAssign-augAssignDoubleSlashEqual =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.AugAssign"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "doubleSlashEqual"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the leftShiftEqual variant of hydra.python.syntax.AugAssign-augAssignLeftShiftEqual :: Typed.TypedTerm Syntax.AugAssign-augAssignLeftShiftEqual =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.AugAssign"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "leftShiftEqual"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the minusEqual variant of hydra.python.syntax.AugAssign-augAssignMinusEqual :: Typed.TypedTerm Syntax.AugAssign-augAssignMinusEqual =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.AugAssign"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "minusEqual"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the percentEqual variant of hydra.python.syntax.AugAssign-augAssignPercentEqual :: Typed.TypedTerm Syntax.AugAssign-augAssignPercentEqual =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.AugAssign"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "percentEqual"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the plusEqual variant of hydra.python.syntax.AugAssign-augAssignPlusEqual :: Typed.TypedTerm Syntax.AugAssign-augAssignPlusEqual =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.AugAssign"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "plusEqual"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the rightShiftEqual variant of hydra.python.syntax.AugAssign-augAssignRightShiftEqual :: Typed.TypedTerm Syntax.AugAssign-augAssignRightShiftEqual =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.AugAssign"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "rightShiftEqual"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the slashEqual variant of hydra.python.syntax.AugAssign-augAssignSlashEqual :: Typed.TypedTerm Syntax.AugAssign-augAssignSlashEqual =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.AugAssign"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "slashEqual"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the starStarEqual variant of hydra.python.syntax.AugAssign-augAssignStarStarEqual :: Typed.TypedTerm Syntax.AugAssign-augAssignStarStarEqual =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.AugAssign"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "starStarEqual"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the timesEqual variant of hydra.python.syntax.AugAssign-augAssignTimesEqual :: Typed.TypedTerm Syntax.AugAssign-augAssignTimesEqual =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.AugAssign"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "timesEqual"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL constructor for hydra.python.syntax.AugAssignment-augAssignment :: Typed.TypedTerm Syntax.SingleTarget -> Typed.TypedTerm Syntax.AugAssign -> Typed.TypedTerm Syntax.AnnotatedRhs -> Typed.TypedTerm Syntax.AugAssignment-augAssignment lhs augassign rhs =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.AugAssignment"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "lhs"),- Core.fieldTerm = (Typed.unTypedTerm lhs)},- Core.Field {- Core.fieldName = (Core.Name "augassign"),- Core.fieldTerm = (Typed.unTypedTerm augassign)},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Typed.unTypedTerm rhs)}]}))---- | DSL name token for hydra.python.syntax.AugAssignment-augAssignmentAugAssignment :: Typed.TypedName Syntax.AugAssignment-augAssignmentAugAssignment = Typed.TypedName (Core.Name "hydra.python.syntax.AugAssignment")---- | DSL accessor for the augassign field of hydra.python.syntax.AugAssignment-augAssignmentAugassign :: Typed.TypedTerm Syntax.AugAssignment -> Typed.TypedTerm Syntax.AugAssign-augAssignmentAugassign x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.AugAssignment"),- Core.projectionFieldName = (Core.Name "augassign")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the lhs field of hydra.python.syntax.AugAssignment-augAssignmentLhs :: Typed.TypedTerm Syntax.AugAssignment -> Typed.TypedTerm Syntax.SingleTarget-augAssignmentLhs x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.AugAssignment"),- Core.projectionFieldName = (Core.Name "lhs")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the rhs field of hydra.python.syntax.AugAssignment-augAssignmentRhs :: Typed.TypedTerm Syntax.AugAssignment -> Typed.TypedTerm Syntax.AnnotatedRhs-augAssignmentRhs x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.AugAssignment"),- Core.projectionFieldName = (Core.Name "rhs")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the augassign field of hydra.python.syntax.AugAssignment-augAssignmentWithAugassign :: Typed.TypedTerm Syntax.AugAssignment -> Typed.TypedTerm Syntax.AugAssign -> Typed.TypedTerm Syntax.AugAssignment-augAssignmentWithAugassign original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.AugAssignment"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "lhs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.AugAssignment"),- Core.projectionFieldName = (Core.Name "lhs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "augassign"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.AugAssignment"),- Core.projectionFieldName = (Core.Name "rhs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the lhs field of hydra.python.syntax.AugAssignment-augAssignmentWithLhs :: Typed.TypedTerm Syntax.AugAssignment -> Typed.TypedTerm Syntax.SingleTarget -> Typed.TypedTerm Syntax.AugAssignment-augAssignmentWithLhs original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.AugAssignment"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "lhs"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "augassign"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.AugAssignment"),- Core.projectionFieldName = (Core.Name "augassign")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.AugAssignment"),- Core.projectionFieldName = (Core.Name "rhs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the rhs field of hydra.python.syntax.AugAssignment-augAssignmentWithRhs :: Typed.TypedTerm Syntax.AugAssignment -> Typed.TypedTerm Syntax.AnnotatedRhs -> Typed.TypedTerm Syntax.AugAssignment-augAssignmentWithRhs original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.AugAssignment"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "lhs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.AugAssignment"),- Core.projectionFieldName = (Core.Name "lhs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "augassign"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.AugAssignment"),- Core.projectionFieldName = (Core.Name "augassign")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.AwaitPrimary-awaitPrimary :: Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.AwaitPrimary-awaitPrimary await primary =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.AwaitPrimary"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "await"),- Core.fieldTerm = (Typed.unTypedTerm await)},- Core.Field {- Core.fieldName = (Core.Name "primary"),- Core.fieldTerm = (Typed.unTypedTerm primary)}]}))---- | DSL accessor for the await field of hydra.python.syntax.AwaitPrimary-awaitPrimaryAwait :: Typed.TypedTerm Syntax.AwaitPrimary -> Typed.TypedTerm Bool-awaitPrimaryAwait x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.AwaitPrimary"),- Core.projectionFieldName = (Core.Name "await")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.AwaitPrimary-awaitPrimaryAwaitPrimary :: Typed.TypedName Syntax.AwaitPrimary-awaitPrimaryAwaitPrimary = Typed.TypedName (Core.Name "hydra.python.syntax.AwaitPrimary")---- | DSL accessor for the primary field of hydra.python.syntax.AwaitPrimary-awaitPrimaryPrimary :: Typed.TypedTerm Syntax.AwaitPrimary -> Typed.TypedTerm Syntax.Primary-awaitPrimaryPrimary x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.AwaitPrimary"),- Core.projectionFieldName = (Core.Name "primary")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the await field of hydra.python.syntax.AwaitPrimary-awaitPrimaryWithAwait :: Typed.TypedTerm Syntax.AwaitPrimary -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.AwaitPrimary-awaitPrimaryWithAwait original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.AwaitPrimary"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "await"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "primary"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.AwaitPrimary"),- Core.projectionFieldName = (Core.Name "primary")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the primary field of hydra.python.syntax.AwaitPrimary-awaitPrimaryWithPrimary :: Typed.TypedTerm Syntax.AwaitPrimary -> Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.AwaitPrimary-awaitPrimaryWithPrimary original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.AwaitPrimary"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "await"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.AwaitPrimary"),- Core.projectionFieldName = (Core.Name "await")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "primary"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.BitwiseAnd-bitwiseAnd :: Typed.TypedTerm (Maybe Syntax.BitwiseAnd) -> Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.BitwiseAnd-bitwiseAnd lhs rhs =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.BitwiseAnd"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "lhs"),- Core.fieldTerm = (Typed.unTypedTerm lhs)},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Typed.unTypedTerm rhs)}]}))---- | DSL name token for hydra.python.syntax.BitwiseAnd-bitwiseAndBitwiseAnd :: Typed.TypedName Syntax.BitwiseAnd-bitwiseAndBitwiseAnd = Typed.TypedName (Core.Name "hydra.python.syntax.BitwiseAnd")---- | DSL accessor for the lhs field of hydra.python.syntax.BitwiseAnd-bitwiseAndLhs :: Typed.TypedTerm Syntax.BitwiseAnd -> Typed.TypedTerm (Maybe Syntax.BitwiseAnd)-bitwiseAndLhs x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.BitwiseAnd"),- Core.projectionFieldName = (Core.Name "lhs")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the rhs field of hydra.python.syntax.BitwiseAnd-bitwiseAndRhs :: Typed.TypedTerm Syntax.BitwiseAnd -> Typed.TypedTerm Syntax.ShiftExpression-bitwiseAndRhs x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.BitwiseAnd"),- Core.projectionFieldName = (Core.Name "rhs")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the lhs field of hydra.python.syntax.BitwiseAnd-bitwiseAndWithLhs :: Typed.TypedTerm Syntax.BitwiseAnd -> Typed.TypedTerm (Maybe Syntax.BitwiseAnd) -> Typed.TypedTerm Syntax.BitwiseAnd-bitwiseAndWithLhs original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.BitwiseAnd"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "lhs"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.BitwiseAnd"),- Core.projectionFieldName = (Core.Name "rhs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the rhs field of hydra.python.syntax.BitwiseAnd-bitwiseAndWithRhs :: Typed.TypedTerm Syntax.BitwiseAnd -> Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.BitwiseAnd-bitwiseAndWithRhs original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.BitwiseAnd"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "lhs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.BitwiseAnd"),- Core.projectionFieldName = (Core.Name "lhs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.BitwiseOr-bitwiseOr :: Typed.TypedTerm (Maybe Syntax.BitwiseOr) -> Typed.TypedTerm Syntax.BitwiseXor -> Typed.TypedTerm Syntax.BitwiseOr-bitwiseOr lhs rhs =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.BitwiseOr"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "lhs"),- Core.fieldTerm = (Typed.unTypedTerm lhs)},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Typed.unTypedTerm rhs)}]}))---- | DSL name token for hydra.python.syntax.BitwiseOr-bitwiseOrBitwiseOr :: Typed.TypedName Syntax.BitwiseOr-bitwiseOrBitwiseOr = Typed.TypedName (Core.Name "hydra.python.syntax.BitwiseOr")---- | DSL accessor for the lhs field of hydra.python.syntax.BitwiseOr-bitwiseOrLhs :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm (Maybe Syntax.BitwiseOr)-bitwiseOrLhs x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.BitwiseOr"),- Core.projectionFieldName = (Core.Name "lhs")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the rhs field of hydra.python.syntax.BitwiseOr-bitwiseOrRhs :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.BitwiseXor-bitwiseOrRhs x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.BitwiseOr"),- Core.projectionFieldName = (Core.Name "rhs")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the lhs field of hydra.python.syntax.BitwiseOr-bitwiseOrWithLhs :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm (Maybe Syntax.BitwiseOr) -> Typed.TypedTerm Syntax.BitwiseOr-bitwiseOrWithLhs original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.BitwiseOr"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "lhs"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.BitwiseOr"),- Core.projectionFieldName = (Core.Name "rhs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the rhs field of hydra.python.syntax.BitwiseOr-bitwiseOrWithRhs :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.BitwiseXor -> Typed.TypedTerm Syntax.BitwiseOr-bitwiseOrWithRhs original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.BitwiseOr"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "lhs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.BitwiseOr"),- Core.projectionFieldName = (Core.Name "lhs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.BitwiseXor-bitwiseXor :: Typed.TypedTerm (Maybe Syntax.BitwiseXor) -> Typed.TypedTerm Syntax.BitwiseAnd -> Typed.TypedTerm Syntax.BitwiseXor-bitwiseXor lhs rhs =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.BitwiseXor"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "lhs"),- Core.fieldTerm = (Typed.unTypedTerm lhs)},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Typed.unTypedTerm rhs)}]}))---- | DSL name token for hydra.python.syntax.BitwiseXor-bitwiseXorBitwiseXor :: Typed.TypedName Syntax.BitwiseXor-bitwiseXorBitwiseXor = Typed.TypedName (Core.Name "hydra.python.syntax.BitwiseXor")---- | DSL accessor for the lhs field of hydra.python.syntax.BitwiseXor-bitwiseXorLhs :: Typed.TypedTerm Syntax.BitwiseXor -> Typed.TypedTerm (Maybe Syntax.BitwiseXor)-bitwiseXorLhs x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.BitwiseXor"),- Core.projectionFieldName = (Core.Name "lhs")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the rhs field of hydra.python.syntax.BitwiseXor-bitwiseXorRhs :: Typed.TypedTerm Syntax.BitwiseXor -> Typed.TypedTerm Syntax.BitwiseAnd-bitwiseXorRhs x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.BitwiseXor"),- Core.projectionFieldName = (Core.Name "rhs")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the lhs field of hydra.python.syntax.BitwiseXor-bitwiseXorWithLhs :: Typed.TypedTerm Syntax.BitwiseXor -> Typed.TypedTerm (Maybe Syntax.BitwiseXor) -> Typed.TypedTerm Syntax.BitwiseXor-bitwiseXorWithLhs original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.BitwiseXor"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "lhs"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.BitwiseXor"),- Core.projectionFieldName = (Core.Name "rhs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the rhs field of hydra.python.syntax.BitwiseXor-bitwiseXorWithRhs :: Typed.TypedTerm Syntax.BitwiseXor -> Typed.TypedTerm Syntax.BitwiseAnd -> Typed.TypedTerm Syntax.BitwiseXor-bitwiseXorWithRhs original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.BitwiseXor"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "lhs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.BitwiseXor"),- Core.projectionFieldName = (Core.Name "lhs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL name token for hydra.python.syntax.Block-blockBlock :: Typed.TypedName Syntax.Block-blockBlock = Typed.TypedName (Core.Name "hydra.python.syntax.Block")---- | DSL injection for the indented variant of hydra.python.syntax.Block-blockIndented :: Typed.TypedTerm [[Syntax.Statement]] -> Typed.TypedTerm Syntax.Block-blockIndented x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Block"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "indented"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the simple variant of hydra.python.syntax.Block-blockSimple :: Typed.TypedTerm [Syntax.SimpleStatement] -> Typed.TypedTerm Syntax.Block-blockSimple x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Block"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "simple"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for the hydra.python.syntax.CapturePattern wrapper-capturePattern :: Typed.TypedTerm Syntax.PatternCaptureTarget -> Typed.TypedTerm Syntax.CapturePattern-capturePattern x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.CapturePattern"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.CapturePattern-capturePatternCapturePattern :: Typed.TypedName Syntax.CapturePattern-capturePatternCapturePattern = Typed.TypedName (Core.Name "hydra.python.syntax.CapturePattern")---- | DSL constructor for hydra.python.syntax.CaseBlock-caseBlock :: Typed.TypedTerm Syntax.Patterns -> Typed.TypedTerm (Maybe Syntax.Guard) -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.CaseBlock-caseBlock patterns guard body =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.CaseBlock"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "patterns"),- Core.fieldTerm = (Typed.unTypedTerm patterns)},- Core.Field {- Core.fieldName = (Core.Name "guard"),- Core.fieldTerm = (Typed.unTypedTerm guard)},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Typed.unTypedTerm body)}]}))---- | DSL accessor for the body field of hydra.python.syntax.CaseBlock-caseBlockBody :: Typed.TypedTerm Syntax.CaseBlock -> Typed.TypedTerm Syntax.Block-caseBlockBody x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.CaseBlock"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.CaseBlock-caseBlockCaseBlock :: Typed.TypedName Syntax.CaseBlock-caseBlockCaseBlock = Typed.TypedName (Core.Name "hydra.python.syntax.CaseBlock")---- | DSL accessor for the guard field of hydra.python.syntax.CaseBlock-caseBlockGuard :: Typed.TypedTerm Syntax.CaseBlock -> Typed.TypedTerm (Maybe Syntax.Guard)-caseBlockGuard x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.CaseBlock"),- Core.projectionFieldName = (Core.Name "guard")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the patterns field of hydra.python.syntax.CaseBlock-caseBlockPatterns :: Typed.TypedTerm Syntax.CaseBlock -> Typed.TypedTerm Syntax.Patterns-caseBlockPatterns x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.CaseBlock"),- Core.projectionFieldName = (Core.Name "patterns")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the body field of hydra.python.syntax.CaseBlock-caseBlockWithBody :: Typed.TypedTerm Syntax.CaseBlock -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.CaseBlock-caseBlockWithBody original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.CaseBlock"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "patterns"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.CaseBlock"),- Core.projectionFieldName = (Core.Name "patterns")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "guard"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.CaseBlock"),- Core.projectionFieldName = (Core.Name "guard")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the guard field of hydra.python.syntax.CaseBlock-caseBlockWithGuard :: Typed.TypedTerm Syntax.CaseBlock -> Typed.TypedTerm (Maybe Syntax.Guard) -> Typed.TypedTerm Syntax.CaseBlock-caseBlockWithGuard original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.CaseBlock"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "patterns"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.CaseBlock"),- Core.projectionFieldName = (Core.Name "patterns")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "guard"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.CaseBlock"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the patterns field of hydra.python.syntax.CaseBlock-caseBlockWithPatterns :: Typed.TypedTerm Syntax.CaseBlock -> Typed.TypedTerm Syntax.Patterns -> Typed.TypedTerm Syntax.CaseBlock-caseBlockWithPatterns original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.CaseBlock"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "patterns"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "guard"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.CaseBlock"),- Core.projectionFieldName = (Core.Name "guard")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.CaseBlock"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for hydra.python.syntax.ClassDefinition-classDefinition :: Typed.TypedTerm (Maybe Syntax.Decorators) -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm [Syntax.TypeParameter] -> Typed.TypedTerm (Maybe Syntax.Args) -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.ClassDefinition-classDefinition decorators name typeParams arguments body =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "decorators"),- Core.fieldTerm = (Typed.unTypedTerm decorators)},- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm name)},- Core.Field {- Core.fieldName = (Core.Name "typeParams"),- Core.fieldTerm = (Typed.unTypedTerm typeParams)},- Core.Field {- Core.fieldName = (Core.Name "arguments"),- Core.fieldTerm = (Typed.unTypedTerm arguments)},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Typed.unTypedTerm body)}]}))---- | DSL accessor for the arguments field of hydra.python.syntax.ClassDefinition-classDefinitionArguments :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm (Maybe Syntax.Args)-classDefinitionArguments x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),- Core.projectionFieldName = (Core.Name "arguments")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body field of hydra.python.syntax.ClassDefinition-classDefinitionBody :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm Syntax.Block-classDefinitionBody x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ClassDefinition-classDefinitionClassDefinition :: Typed.TypedName Syntax.ClassDefinition-classDefinitionClassDefinition = Typed.TypedName (Core.Name "hydra.python.syntax.ClassDefinition")---- | DSL accessor for the decorators field of hydra.python.syntax.ClassDefinition-classDefinitionDecorators :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm (Maybe Syntax.Decorators)-classDefinitionDecorators x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),- Core.projectionFieldName = (Core.Name "decorators")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the name field of hydra.python.syntax.ClassDefinition-classDefinitionName :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm Syntax.Name-classDefinitionName x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the typeParams field of hydra.python.syntax.ClassDefinition-classDefinitionTypeParams :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm [Syntax.TypeParameter]-classDefinitionTypeParams x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),- Core.projectionFieldName = (Core.Name "typeParams")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the arguments field of hydra.python.syntax.ClassDefinition-classDefinitionWithArguments :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm (Maybe Syntax.Args) -> Typed.TypedTerm Syntax.ClassDefinition-classDefinitionWithArguments original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "decorators"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),- Core.projectionFieldName = (Core.Name "decorators")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeParams"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),- Core.projectionFieldName = (Core.Name "typeParams")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "arguments"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the body field of hydra.python.syntax.ClassDefinition-classDefinitionWithBody :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.ClassDefinition-classDefinitionWithBody original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "decorators"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),- Core.projectionFieldName = (Core.Name "decorators")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeParams"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),- Core.projectionFieldName = (Core.Name "typeParams")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "arguments"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),- Core.projectionFieldName = (Core.Name "arguments")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the decorators field of hydra.python.syntax.ClassDefinition-classDefinitionWithDecorators :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm (Maybe Syntax.Decorators) -> Typed.TypedTerm Syntax.ClassDefinition-classDefinitionWithDecorators original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "decorators"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeParams"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),- Core.projectionFieldName = (Core.Name "typeParams")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "arguments"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),- Core.projectionFieldName = (Core.Name "arguments")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the name field of hydra.python.syntax.ClassDefinition-classDefinitionWithName :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.ClassDefinition-classDefinitionWithName original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "decorators"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),- Core.projectionFieldName = (Core.Name "decorators")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "typeParams"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),- Core.projectionFieldName = (Core.Name "typeParams")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "arguments"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),- Core.projectionFieldName = (Core.Name "arguments")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the typeParams field of hydra.python.syntax.ClassDefinition-classDefinitionWithTypeParams :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm [Syntax.TypeParameter] -> Typed.TypedTerm Syntax.ClassDefinition-classDefinitionWithTypeParams original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "decorators"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),- Core.projectionFieldName = (Core.Name "decorators")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeParams"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "arguments"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),- Core.projectionFieldName = (Core.Name "arguments")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for hydra.python.syntax.ClassPattern-classPattern :: Typed.TypedTerm Syntax.NameOrAttribute -> Typed.TypedTerm (Maybe Syntax.PositionalPatterns) -> Typed.TypedTerm (Maybe Syntax.KeywordPatterns) -> Typed.TypedTerm Syntax.ClassPattern-classPattern nameOrAttribute positionalPatterns keywordPatterns =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ClassPattern"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "nameOrAttribute"),- Core.fieldTerm = (Typed.unTypedTerm nameOrAttribute)},- Core.Field {- Core.fieldName = (Core.Name "positionalPatterns"),- Core.fieldTerm = (Typed.unTypedTerm positionalPatterns)},- Core.Field {- Core.fieldName = (Core.Name "keywordPatterns"),- Core.fieldTerm = (Typed.unTypedTerm keywordPatterns)}]}))---- | DSL name token for hydra.python.syntax.ClassPattern-classPatternClassPattern :: Typed.TypedName Syntax.ClassPattern-classPatternClassPattern = Typed.TypedName (Core.Name "hydra.python.syntax.ClassPattern")---- | DSL accessor for the keywordPatterns field of hydra.python.syntax.ClassPattern-classPatternKeywordPatterns :: Typed.TypedTerm Syntax.ClassPattern -> Typed.TypedTerm (Maybe Syntax.KeywordPatterns)-classPatternKeywordPatterns x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassPattern"),- Core.projectionFieldName = (Core.Name "keywordPatterns")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the nameOrAttribute field of hydra.python.syntax.ClassPattern-classPatternNameOrAttribute :: Typed.TypedTerm Syntax.ClassPattern -> Typed.TypedTerm Syntax.NameOrAttribute-classPatternNameOrAttribute x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassPattern"),- Core.projectionFieldName = (Core.Name "nameOrAttribute")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the positionalPatterns field of hydra.python.syntax.ClassPattern-classPatternPositionalPatterns :: Typed.TypedTerm Syntax.ClassPattern -> Typed.TypedTerm (Maybe Syntax.PositionalPatterns)-classPatternPositionalPatterns x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassPattern"),- Core.projectionFieldName = (Core.Name "positionalPatterns")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the keywordPatterns field of hydra.python.syntax.ClassPattern-classPatternWithKeywordPatterns :: Typed.TypedTerm Syntax.ClassPattern -> Typed.TypedTerm (Maybe Syntax.KeywordPatterns) -> Typed.TypedTerm Syntax.ClassPattern-classPatternWithKeywordPatterns original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ClassPattern"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "nameOrAttribute"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassPattern"),- Core.projectionFieldName = (Core.Name "nameOrAttribute")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "positionalPatterns"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassPattern"),- Core.projectionFieldName = (Core.Name "positionalPatterns")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "keywordPatterns"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the nameOrAttribute field of hydra.python.syntax.ClassPattern-classPatternWithNameOrAttribute :: Typed.TypedTerm Syntax.ClassPattern -> Typed.TypedTerm Syntax.NameOrAttribute -> Typed.TypedTerm Syntax.ClassPattern-classPatternWithNameOrAttribute original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ClassPattern"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "nameOrAttribute"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "positionalPatterns"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassPattern"),- Core.projectionFieldName = (Core.Name "positionalPatterns")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "keywordPatterns"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassPattern"),- Core.projectionFieldName = (Core.Name "keywordPatterns")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the positionalPatterns field of hydra.python.syntax.ClassPattern-classPatternWithPositionalPatterns :: Typed.TypedTerm Syntax.ClassPattern -> Typed.TypedTerm (Maybe Syntax.PositionalPatterns) -> Typed.TypedTerm Syntax.ClassPattern-classPatternWithPositionalPatterns original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ClassPattern"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "nameOrAttribute"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassPattern"),- Core.projectionFieldName = (Core.Name "nameOrAttribute")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "positionalPatterns"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "keywordPatterns"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassPattern"),- Core.projectionFieldName = (Core.Name "keywordPatterns")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL injection for the capture variant of hydra.python.syntax.ClosedPattern-closedPatternCapture :: Typed.TypedTerm Syntax.CapturePattern -> Typed.TypedTerm Syntax.ClosedPattern-closedPatternCapture x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.ClosedPattern"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "capture"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the class variant of hydra.python.syntax.ClosedPattern-closedPatternClass :: Typed.TypedTerm Syntax.ClassPattern -> Typed.TypedTerm Syntax.ClosedPattern-closedPatternClass x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.ClosedPattern"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "class"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.ClosedPattern-closedPatternClosedPattern :: Typed.TypedName Syntax.ClosedPattern-closedPatternClosedPattern = Typed.TypedName (Core.Name "hydra.python.syntax.ClosedPattern")---- | DSL injection for the group variant of hydra.python.syntax.ClosedPattern-closedPatternGroup :: Typed.TypedTerm Syntax.GroupPattern -> Typed.TypedTerm Syntax.ClosedPattern-closedPatternGroup x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.ClosedPattern"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "group"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the literal variant of hydra.python.syntax.ClosedPattern-closedPatternLiteral :: Typed.TypedTerm Syntax.LiteralExpression -> Typed.TypedTerm Syntax.ClosedPattern-closedPatternLiteral x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.ClosedPattern"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "literal"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the mapping variant of hydra.python.syntax.ClosedPattern-closedPatternMapping :: Typed.TypedTerm Syntax.MappingPattern -> Typed.TypedTerm Syntax.ClosedPattern-closedPatternMapping x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.ClosedPattern"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "mapping"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the sequence variant of hydra.python.syntax.ClosedPattern-closedPatternSequence :: Typed.TypedTerm Syntax.SequencePattern -> Typed.TypedTerm Syntax.ClosedPattern-closedPatternSequence x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.ClosedPattern"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "sequence"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the value variant of hydra.python.syntax.ClosedPattern-closedPatternValue :: Typed.TypedTerm Syntax.ValuePattern -> Typed.TypedTerm Syntax.ClosedPattern-closedPatternValue x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.ClosedPattern"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "value"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the wildcard variant of hydra.python.syntax.ClosedPattern-closedPatternWildcard :: Typed.TypedTerm Syntax.ClosedPattern-closedPatternWildcard =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.ClosedPattern"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "wildcard"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL constructor for hydra.python.syntax.CommaStarEtc-commaStarEtc :: Typed.TypedTerm [Syntax.ParamMaybeDefault] -> Typed.TypedTerm (Maybe Syntax.Keywords) -> Typed.TypedTerm Syntax.CommaStarEtc-commaStarEtc paramMaybeDefault keywords =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.CommaStarEtc"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "paramMaybeDefault"),- Core.fieldTerm = (Typed.unTypedTerm paramMaybeDefault)},- Core.Field {- Core.fieldName = (Core.Name "keywords"),- Core.fieldTerm = (Typed.unTypedTerm keywords)}]}))---- | DSL name token for hydra.python.syntax.CommaStarEtc-commaStarEtcCommaStarEtc :: Typed.TypedName Syntax.CommaStarEtc-commaStarEtcCommaStarEtc = Typed.TypedName (Core.Name "hydra.python.syntax.CommaStarEtc")---- | DSL accessor for the keywords field of hydra.python.syntax.CommaStarEtc-commaStarEtcKeywords :: Typed.TypedTerm Syntax.CommaStarEtc -> Typed.TypedTerm (Maybe Syntax.Keywords)-commaStarEtcKeywords x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.CommaStarEtc"),- Core.projectionFieldName = (Core.Name "keywords")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the paramMaybeDefault field of hydra.python.syntax.CommaStarEtc-commaStarEtcParamMaybeDefault :: Typed.TypedTerm Syntax.CommaStarEtc -> Typed.TypedTerm [Syntax.ParamMaybeDefault]-commaStarEtcParamMaybeDefault x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.CommaStarEtc"),- Core.projectionFieldName = (Core.Name "paramMaybeDefault")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the keywords field of hydra.python.syntax.CommaStarEtc-commaStarEtcWithKeywords :: Typed.TypedTerm Syntax.CommaStarEtc -> Typed.TypedTerm (Maybe Syntax.Keywords) -> Typed.TypedTerm Syntax.CommaStarEtc-commaStarEtcWithKeywords original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.CommaStarEtc"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "paramMaybeDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.CommaStarEtc"),- Core.projectionFieldName = (Core.Name "paramMaybeDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "keywords"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the paramMaybeDefault field of hydra.python.syntax.CommaStarEtc-commaStarEtcWithParamMaybeDefault :: Typed.TypedTerm Syntax.CommaStarEtc -> Typed.TypedTerm [Syntax.ParamMaybeDefault] -> Typed.TypedTerm Syntax.CommaStarEtc-commaStarEtcWithParamMaybeDefault original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.CommaStarEtc"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "paramMaybeDefault"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "keywords"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.CommaStarEtc"),- Core.projectionFieldName = (Core.Name "keywords")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for hydra.python.syntax.CompareOpBitwiseOrPair-compareOpBitwiseOrPair :: Typed.TypedTerm Syntax.CompareOp -> Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.CompareOpBitwiseOrPair-compareOpBitwiseOrPair operator rhs =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.CompareOpBitwiseOrPair"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "operator"),- Core.fieldTerm = (Typed.unTypedTerm operator)},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Typed.unTypedTerm rhs)}]}))---- | DSL name token for hydra.python.syntax.CompareOpBitwiseOrPair-compareOpBitwiseOrPairCompareOpBitwiseOrPair :: Typed.TypedName Syntax.CompareOpBitwiseOrPair-compareOpBitwiseOrPairCompareOpBitwiseOrPair = Typed.TypedName (Core.Name "hydra.python.syntax.CompareOpBitwiseOrPair")---- | DSL accessor for the operator field of hydra.python.syntax.CompareOpBitwiseOrPair-compareOpBitwiseOrPairOperator :: Typed.TypedTerm Syntax.CompareOpBitwiseOrPair -> Typed.TypedTerm Syntax.CompareOp-compareOpBitwiseOrPairOperator x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.CompareOpBitwiseOrPair"),- Core.projectionFieldName = (Core.Name "operator")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the rhs field of hydra.python.syntax.CompareOpBitwiseOrPair-compareOpBitwiseOrPairRhs :: Typed.TypedTerm Syntax.CompareOpBitwiseOrPair -> Typed.TypedTerm Syntax.BitwiseOr-compareOpBitwiseOrPairRhs x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.CompareOpBitwiseOrPair"),- Core.projectionFieldName = (Core.Name "rhs")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the operator field of hydra.python.syntax.CompareOpBitwiseOrPair-compareOpBitwiseOrPairWithOperator :: Typed.TypedTerm Syntax.CompareOpBitwiseOrPair -> Typed.TypedTerm Syntax.CompareOp -> Typed.TypedTerm Syntax.CompareOpBitwiseOrPair-compareOpBitwiseOrPairWithOperator original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.CompareOpBitwiseOrPair"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "operator"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.CompareOpBitwiseOrPair"),- Core.projectionFieldName = (Core.Name "rhs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the rhs field of hydra.python.syntax.CompareOpBitwiseOrPair-compareOpBitwiseOrPairWithRhs :: Typed.TypedTerm Syntax.CompareOpBitwiseOrPair -> Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.CompareOpBitwiseOrPair-compareOpBitwiseOrPairWithRhs original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.CompareOpBitwiseOrPair"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "operator"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.CompareOpBitwiseOrPair"),- Core.projectionFieldName = (Core.Name "operator")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL name token for hydra.python.syntax.CompareOp-compareOpCompareOp :: Typed.TypedName Syntax.CompareOp-compareOpCompareOp = Typed.TypedName (Core.Name "hydra.python.syntax.CompareOp")---- | DSL injection for the eq variant of hydra.python.syntax.CompareOp-compareOpEq :: Typed.TypedTerm Syntax.CompareOp-compareOpEq =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompareOp"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "eq"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the gt variant of hydra.python.syntax.CompareOp-compareOpGt :: Typed.TypedTerm Syntax.CompareOp-compareOpGt =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompareOp"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "gt"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the gte variant of hydra.python.syntax.CompareOp-compareOpGte :: Typed.TypedTerm Syntax.CompareOp-compareOpGte =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompareOp"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "gte"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the in variant of hydra.python.syntax.CompareOp-compareOpIn :: Typed.TypedTerm Syntax.CompareOp-compareOpIn =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompareOp"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "in"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the is variant of hydra.python.syntax.CompareOp-compareOpIs :: Typed.TypedTerm Syntax.CompareOp-compareOpIs =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompareOp"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "is"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the isnot variant of hydra.python.syntax.CompareOp-compareOpIsnot :: Typed.TypedTerm Syntax.CompareOp-compareOpIsnot =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompareOp"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "isnot"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the lt variant of hydra.python.syntax.CompareOp-compareOpLt :: Typed.TypedTerm Syntax.CompareOp-compareOpLt =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompareOp"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "lt"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the lte variant of hydra.python.syntax.CompareOp-compareOpLte :: Typed.TypedTerm Syntax.CompareOp-compareOpLte =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompareOp"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "lte"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the noteq variant of hydra.python.syntax.CompareOp-compareOpNoteq :: Typed.TypedTerm Syntax.CompareOp-compareOpNoteq =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompareOp"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "noteq"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the notin variant of hydra.python.syntax.CompareOp-compareOpNotin :: Typed.TypedTerm Syntax.CompareOp-compareOpNotin =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompareOp"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "notin"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL constructor for hydra.python.syntax.Comparison-comparison :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm [Syntax.CompareOpBitwiseOrPair] -> Typed.TypedTerm Syntax.Comparison-comparison lhs rhs =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Comparison"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "lhs"),- Core.fieldTerm = (Typed.unTypedTerm lhs)},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Typed.unTypedTerm rhs)}]}))---- | DSL name token for hydra.python.syntax.Comparison-comparisonComparison :: Typed.TypedName Syntax.Comparison-comparisonComparison = Typed.TypedName (Core.Name "hydra.python.syntax.Comparison")---- | DSL accessor for the lhs field of hydra.python.syntax.Comparison-comparisonLhs :: Typed.TypedTerm Syntax.Comparison -> Typed.TypedTerm Syntax.BitwiseOr-comparisonLhs x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Comparison"),- Core.projectionFieldName = (Core.Name "lhs")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the rhs field of hydra.python.syntax.Comparison-comparisonRhs :: Typed.TypedTerm Syntax.Comparison -> Typed.TypedTerm [Syntax.CompareOpBitwiseOrPair]-comparisonRhs x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Comparison"),- Core.projectionFieldName = (Core.Name "rhs")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the lhs field of hydra.python.syntax.Comparison-comparisonWithLhs :: Typed.TypedTerm Syntax.Comparison -> Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.Comparison-comparisonWithLhs original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Comparison"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "lhs"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Comparison"),- Core.projectionFieldName = (Core.Name "rhs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the rhs field of hydra.python.syntax.Comparison-comparisonWithRhs :: Typed.TypedTerm Syntax.Comparison -> Typed.TypedTerm [Syntax.CompareOpBitwiseOrPair] -> Typed.TypedTerm Syntax.Comparison-comparisonWithRhs original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Comparison"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "lhs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Comparison"),- Core.projectionFieldName = (Core.Name "lhs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.ComplexNumber-complexNumber :: Typed.TypedTerm Syntax.SignedRealNumber -> Typed.TypedTerm Syntax.PlusOrMinus -> Typed.TypedTerm Syntax.ImaginaryNumber -> Typed.TypedTerm Syntax.ComplexNumber-complexNumber real plusOrMinus imaginary =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ComplexNumber"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "real"),- Core.fieldTerm = (Typed.unTypedTerm real)},- Core.Field {- Core.fieldName = (Core.Name "plusOrMinus"),- Core.fieldTerm = (Typed.unTypedTerm plusOrMinus)},- Core.Field {- Core.fieldName = (Core.Name "imaginary"),- Core.fieldTerm = (Typed.unTypedTerm imaginary)}]}))---- | DSL name token for hydra.python.syntax.ComplexNumber-complexNumberComplexNumber :: Typed.TypedName Syntax.ComplexNumber-complexNumberComplexNumber = Typed.TypedName (Core.Name "hydra.python.syntax.ComplexNumber")---- | DSL accessor for the imaginary field of hydra.python.syntax.ComplexNumber-complexNumberImaginary :: Typed.TypedTerm Syntax.ComplexNumber -> Typed.TypedTerm Syntax.ImaginaryNumber-complexNumberImaginary x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ComplexNumber"),- Core.projectionFieldName = (Core.Name "imaginary")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the plusOrMinus field of hydra.python.syntax.ComplexNumber-complexNumberPlusOrMinus :: Typed.TypedTerm Syntax.ComplexNumber -> Typed.TypedTerm Syntax.PlusOrMinus-complexNumberPlusOrMinus x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ComplexNumber"),- Core.projectionFieldName = (Core.Name "plusOrMinus")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the real field of hydra.python.syntax.ComplexNumber-complexNumberReal :: Typed.TypedTerm Syntax.ComplexNumber -> Typed.TypedTerm Syntax.SignedRealNumber-complexNumberReal x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ComplexNumber"),- Core.projectionFieldName = (Core.Name "real")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the imaginary field of hydra.python.syntax.ComplexNumber-complexNumberWithImaginary :: Typed.TypedTerm Syntax.ComplexNumber -> Typed.TypedTerm Syntax.ImaginaryNumber -> Typed.TypedTerm Syntax.ComplexNumber-complexNumberWithImaginary original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ComplexNumber"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "real"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ComplexNumber"),- Core.projectionFieldName = (Core.Name "real")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "plusOrMinus"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ComplexNumber"),- Core.projectionFieldName = (Core.Name "plusOrMinus")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "imaginary"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the plusOrMinus field of hydra.python.syntax.ComplexNumber-complexNumberWithPlusOrMinus :: Typed.TypedTerm Syntax.ComplexNumber -> Typed.TypedTerm Syntax.PlusOrMinus -> Typed.TypedTerm Syntax.ComplexNumber-complexNumberWithPlusOrMinus original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ComplexNumber"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "real"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ComplexNumber"),- Core.projectionFieldName = (Core.Name "real")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "plusOrMinus"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "imaginary"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ComplexNumber"),- Core.projectionFieldName = (Core.Name "imaginary")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the real field of hydra.python.syntax.ComplexNumber-complexNumberWithReal :: Typed.TypedTerm Syntax.ComplexNumber -> Typed.TypedTerm Syntax.SignedRealNumber -> Typed.TypedTerm Syntax.ComplexNumber-complexNumberWithReal original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ComplexNumber"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "real"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "plusOrMinus"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ComplexNumber"),- Core.projectionFieldName = (Core.Name "plusOrMinus")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "imaginary"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ComplexNumber"),- Core.projectionFieldName = (Core.Name "imaginary")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL injection for the classDef variant of hydra.python.syntax.CompoundStatement-compoundStatementClassDef :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm Syntax.CompoundStatement-compoundStatementClassDef x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompoundStatement"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "classDef"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.CompoundStatement-compoundStatementCompoundStatement :: Typed.TypedName Syntax.CompoundStatement-compoundStatementCompoundStatement = Typed.TypedName (Core.Name "hydra.python.syntax.CompoundStatement")---- | DSL injection for the for variant of hydra.python.syntax.CompoundStatement-compoundStatementFor :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm Syntax.CompoundStatement-compoundStatementFor x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompoundStatement"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "for"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the function variant of hydra.python.syntax.CompoundStatement-compoundStatementFunction :: Typed.TypedTerm Syntax.FunctionDefinition -> Typed.TypedTerm Syntax.CompoundStatement-compoundStatementFunction x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompoundStatement"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "function"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the if variant of hydra.python.syntax.CompoundStatement-compoundStatementIf :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm Syntax.CompoundStatement-compoundStatementIf x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompoundStatement"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "if"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the match variant of hydra.python.syntax.CompoundStatement-compoundStatementMatch :: Typed.TypedTerm Syntax.MatchStatement -> Typed.TypedTerm Syntax.CompoundStatement-compoundStatementMatch x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompoundStatement"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "match"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the try variant of hydra.python.syntax.CompoundStatement-compoundStatementTry :: Typed.TypedTerm Syntax.TryStatement -> Typed.TypedTerm Syntax.CompoundStatement-compoundStatementTry x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompoundStatement"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "try"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the while variant of hydra.python.syntax.CompoundStatement-compoundStatementWhile :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm Syntax.CompoundStatement-compoundStatementWhile x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompoundStatement"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "while"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the with variant of hydra.python.syntax.CompoundStatement-compoundStatementWith :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm Syntax.CompoundStatement-compoundStatementWith x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompoundStatement"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "with"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for hydra.python.syntax.Conditional-conditional :: Typed.TypedTerm Syntax.Disjunction -> Typed.TypedTerm Syntax.Disjunction -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Conditional-conditional body if_ else_ =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Conditional"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Typed.unTypedTerm body)},- Core.Field {- Core.fieldName = (Core.Name "if"),- Core.fieldTerm = (Typed.unTypedTerm if_)},- Core.Field {- Core.fieldName = (Core.Name "else"),- Core.fieldTerm = (Typed.unTypedTerm else_)}]}))---- | DSL accessor for the body field of hydra.python.syntax.Conditional-conditionalBody :: Typed.TypedTerm Syntax.Conditional -> Typed.TypedTerm Syntax.Disjunction-conditionalBody x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Conditional"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Conditional-conditionalConditional :: Typed.TypedName Syntax.Conditional-conditionalConditional = Typed.TypedName (Core.Name "hydra.python.syntax.Conditional")---- | DSL accessor for the else field of hydra.python.syntax.Conditional-conditionalElse :: Typed.TypedTerm Syntax.Conditional -> Typed.TypedTerm Syntax.Expression-conditionalElse x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Conditional"),- Core.projectionFieldName = (Core.Name "else")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the if field of hydra.python.syntax.Conditional-conditionalIf :: Typed.TypedTerm Syntax.Conditional -> Typed.TypedTerm Syntax.Disjunction-conditionalIf x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Conditional"),- Core.projectionFieldName = (Core.Name "if")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the body field of hydra.python.syntax.Conditional-conditionalWithBody :: Typed.TypedTerm Syntax.Conditional -> Typed.TypedTerm Syntax.Disjunction -> Typed.TypedTerm Syntax.Conditional-conditionalWithBody original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Conditional"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "if"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Conditional"),- Core.projectionFieldName = (Core.Name "if")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "else"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Conditional"),- Core.projectionFieldName = (Core.Name "else")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the else field of hydra.python.syntax.Conditional-conditionalWithElse :: Typed.TypedTerm Syntax.Conditional -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Conditional-conditionalWithElse original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Conditional"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Conditional"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "if"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Conditional"),- Core.projectionFieldName = (Core.Name "if")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "else"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the if field of hydra.python.syntax.Conditional-conditionalWithIf :: Typed.TypedTerm Syntax.Conditional -> Typed.TypedTerm Syntax.Disjunction -> Typed.TypedTerm Syntax.Conditional-conditionalWithIf original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Conditional"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Conditional"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "if"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "else"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Conditional"),- Core.projectionFieldName = (Core.Name "else")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for the hydra.python.syntax.Conjunction wrapper-conjunction :: Typed.TypedTerm [Syntax.Inversion] -> Typed.TypedTerm Syntax.Conjunction-conjunction x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.Conjunction"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Conjunction-conjunctionConjunction :: Typed.TypedName Syntax.Conjunction-conjunctionConjunction = Typed.TypedName (Core.Name "hydra.python.syntax.Conjunction")---- | DSL constructor for the hydra.python.syntax.Decorators wrapper-decorators :: Typed.TypedTerm [Syntax.NamedExpression] -> Typed.TypedTerm Syntax.Decorators-decorators x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.Decorators"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Decorators-decoratorsDecorators :: Typed.TypedName Syntax.Decorators-decoratorsDecorators = Typed.TypedName (Core.Name "hydra.python.syntax.Decorators")---- | DSL constructor for the hydra.python.syntax.Default wrapper-default_ :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Default-default_ x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.Default"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Default-defaultDefault :: Typed.TypedName Syntax.Default-defaultDefault = Typed.TypedName (Core.Name "hydra.python.syntax.Default")---- | DSL constructor for the hydra.python.syntax.DelStatement wrapper-delStatement :: Typed.TypedTerm Syntax.DelTargets -> Typed.TypedTerm Syntax.DelStatement-delStatement x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.DelStatement"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.DelStatement-delStatementDelStatement :: Typed.TypedName Syntax.DelStatement-delStatementDelStatement = Typed.TypedName (Core.Name "hydra.python.syntax.DelStatement")---- | DSL name token for hydra.python.syntax.DelTAtom-delTAtomDelTAtom :: Typed.TypedName Syntax.DelTAtom-delTAtomDelTAtom = Typed.TypedName (Core.Name "hydra.python.syntax.DelTAtom")---- | DSL injection for the name variant of hydra.python.syntax.DelTAtom-delTAtomName :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.DelTAtom-delTAtomName x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.DelTAtom"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the target variant of hydra.python.syntax.DelTAtom-delTAtomTarget :: Typed.TypedTerm Syntax.DelTarget -> Typed.TypedTerm Syntax.DelTAtom-delTAtomTarget x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.DelTAtom"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "target"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the targets variant of hydra.python.syntax.DelTAtom-delTAtomTargets :: Typed.TypedTerm Syntax.DelTargets -> Typed.TypedTerm Syntax.DelTAtom-delTAtomTargets x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.DelTAtom"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "targets"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the delTAtom variant of hydra.python.syntax.DelTarget-delTargetDelTAtom :: Typed.TypedTerm Syntax.DelTAtom -> Typed.TypedTerm Syntax.DelTarget-delTargetDelTAtom x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.DelTarget"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "delTAtom"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.DelTarget-delTargetDelTarget :: Typed.TypedName Syntax.DelTarget-delTargetDelTarget = Typed.TypedName (Core.Name "hydra.python.syntax.DelTarget")---- | DSL injection for the primaryAndName variant of hydra.python.syntax.DelTarget-delTargetPrimaryAndName :: Typed.TypedTerm Syntax.TPrimaryAndName -> Typed.TypedTerm Syntax.DelTarget-delTargetPrimaryAndName x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.DelTarget"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "primaryAndName"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the primaryAndSlices variant of hydra.python.syntax.DelTarget-delTargetPrimaryAndSlices :: Typed.TypedTerm Syntax.TPrimaryAndSlices -> Typed.TypedTerm Syntax.DelTarget-delTargetPrimaryAndSlices x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.DelTarget"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "primaryAndSlices"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for the hydra.python.syntax.DelTargets wrapper-delTargets :: Typed.TypedTerm [Syntax.DelTarget] -> Typed.TypedTerm Syntax.DelTargets-delTargets x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.DelTargets"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.DelTargets-delTargetsDelTargets :: Typed.TypedName Syntax.DelTargets-delTargetsDelTargets = Typed.TypedName (Core.Name "hydra.python.syntax.DelTargets")---- | DSL constructor for the hydra.python.syntax.Dict wrapper-dict :: Typed.TypedTerm [Syntax.DoubleStarredKvpair] -> Typed.TypedTerm Syntax.Dict-dict x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.Dict"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Dict-dictDict :: Typed.TypedName Syntax.Dict-dictDict = Typed.TypedName (Core.Name "hydra.python.syntax.Dict")---- | DSL constructor for hydra.python.syntax.Dictcomp-dictcomp :: Typed.TypedTerm Syntax.Kvpair -> Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm Syntax.Dictcomp-dictcomp kvpair forIfClauses =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Dictcomp"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "kvpair"),- Core.fieldTerm = (Typed.unTypedTerm kvpair)},- Core.Field {- Core.fieldName = (Core.Name "forIfClauses"),- Core.fieldTerm = (Typed.unTypedTerm forIfClauses)}]}))---- | DSL name token for hydra.python.syntax.Dictcomp-dictcompDictcomp :: Typed.TypedName Syntax.Dictcomp-dictcompDictcomp = Typed.TypedName (Core.Name "hydra.python.syntax.Dictcomp")---- | DSL accessor for the forIfClauses field of hydra.python.syntax.Dictcomp-dictcompForIfClauses :: Typed.TypedTerm Syntax.Dictcomp -> Typed.TypedTerm Syntax.ForIfClauses-dictcompForIfClauses x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Dictcomp"),- Core.projectionFieldName = (Core.Name "forIfClauses")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the kvpair field of hydra.python.syntax.Dictcomp-dictcompKvpair :: Typed.TypedTerm Syntax.Dictcomp -> Typed.TypedTerm Syntax.Kvpair-dictcompKvpair x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Dictcomp"),- Core.projectionFieldName = (Core.Name "kvpair")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the forIfClauses field of hydra.python.syntax.Dictcomp-dictcompWithForIfClauses :: Typed.TypedTerm Syntax.Dictcomp -> Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm Syntax.Dictcomp-dictcompWithForIfClauses original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Dictcomp"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "kvpair"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Dictcomp"),- Core.projectionFieldName = (Core.Name "kvpair")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "forIfClauses"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the kvpair field of hydra.python.syntax.Dictcomp-dictcompWithKvpair :: Typed.TypedTerm Syntax.Dictcomp -> Typed.TypedTerm Syntax.Kvpair -> Typed.TypedTerm Syntax.Dictcomp-dictcompWithKvpair original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Dictcomp"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "kvpair"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "forIfClauses"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Dictcomp"),- Core.projectionFieldName = (Core.Name "forIfClauses")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for the hydra.python.syntax.Disjunction wrapper-disjunction :: Typed.TypedTerm [Syntax.Conjunction] -> Typed.TypedTerm Syntax.Disjunction-disjunction x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.Disjunction"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Disjunction-disjunctionDisjunction :: Typed.TypedName Syntax.Disjunction-disjunctionDisjunction = Typed.TypedName (Core.Name "hydra.python.syntax.Disjunction")---- | DSL constructor for hydra.python.syntax.DottedAsName-dottedAsName :: Typed.TypedTerm Syntax.DottedName -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.DottedAsName-dottedAsName name as =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.DottedAsName"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm name)},- Core.Field {- Core.fieldName = (Core.Name "as"),- Core.fieldTerm = (Typed.unTypedTerm as)}]}))---- | DSL accessor for the as field of hydra.python.syntax.DottedAsName-dottedAsNameAs :: Typed.TypedTerm Syntax.DottedAsName -> Typed.TypedTerm (Maybe Syntax.Name)-dottedAsNameAs x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.DottedAsName"),- Core.projectionFieldName = (Core.Name "as")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.DottedAsName-dottedAsNameDottedAsName :: Typed.TypedName Syntax.DottedAsName-dottedAsNameDottedAsName = Typed.TypedName (Core.Name "hydra.python.syntax.DottedAsName")---- | DSL accessor for the name field of hydra.python.syntax.DottedAsName-dottedAsNameName :: Typed.TypedTerm Syntax.DottedAsName -> Typed.TypedTerm Syntax.DottedName-dottedAsNameName x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.DottedAsName"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the as field of hydra.python.syntax.DottedAsName-dottedAsNameWithAs :: Typed.TypedTerm Syntax.DottedAsName -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.DottedAsName-dottedAsNameWithAs original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.DottedAsName"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.DottedAsName"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "as"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the name field of hydra.python.syntax.DottedAsName-dottedAsNameWithName :: Typed.TypedTerm Syntax.DottedAsName -> Typed.TypedTerm Syntax.DottedName -> Typed.TypedTerm Syntax.DottedAsName-dottedAsNameWithName original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.DottedAsName"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "as"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.DottedAsName"),- Core.projectionFieldName = (Core.Name "as")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for the hydra.python.syntax.DottedName wrapper-dottedName :: Typed.TypedTerm [Syntax.Name] -> Typed.TypedTerm Syntax.DottedName-dottedName x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.DottedName"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.DottedName-dottedNameDottedName :: Typed.TypedName Syntax.DottedName-dottedNameDottedName = Typed.TypedName (Core.Name "hydra.python.syntax.DottedName")---- | DSL constructor for the hydra.python.syntax.DoubleStarPattern wrapper-doubleStarPattern :: Typed.TypedTerm Syntax.PatternCaptureTarget -> Typed.TypedTerm Syntax.DoubleStarPattern-doubleStarPattern x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.DoubleStarPattern"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.DoubleStarPattern-doubleStarPatternDoubleStarPattern :: Typed.TypedName Syntax.DoubleStarPattern-doubleStarPatternDoubleStarPattern = Typed.TypedName (Core.Name "hydra.python.syntax.DoubleStarPattern")---- | DSL constructor for hydra.python.syntax.DoubleStarTypeParameter-doubleStarTypeParameter :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.DoubleStarTypeParameter-doubleStarTypeParameter name default_ =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.DoubleStarTypeParameter"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm name)},- Core.Field {- Core.fieldName = (Core.Name "default"),- Core.fieldTerm = (Typed.unTypedTerm default_)}]}))---- | DSL accessor for the default field of hydra.python.syntax.DoubleStarTypeParameter-doubleStarTypeParameterDefault :: Typed.TypedTerm Syntax.DoubleStarTypeParameter -> Typed.TypedTerm (Maybe Syntax.Expression)-doubleStarTypeParameterDefault x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.DoubleStarTypeParameter"),- Core.projectionFieldName = (Core.Name "default")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.DoubleStarTypeParameter-doubleStarTypeParameterDoubleStarTypeParameter :: Typed.TypedName Syntax.DoubleStarTypeParameter-doubleStarTypeParameterDoubleStarTypeParameter = Typed.TypedName (Core.Name "hydra.python.syntax.DoubleStarTypeParameter")---- | DSL accessor for the name field of hydra.python.syntax.DoubleStarTypeParameter-doubleStarTypeParameterName :: Typed.TypedTerm Syntax.DoubleStarTypeParameter -> Typed.TypedTerm Syntax.Name-doubleStarTypeParameterName x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.DoubleStarTypeParameter"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the default field of hydra.python.syntax.DoubleStarTypeParameter-doubleStarTypeParameterWithDefault :: Typed.TypedTerm Syntax.DoubleStarTypeParameter -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.DoubleStarTypeParameter-doubleStarTypeParameterWithDefault original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.DoubleStarTypeParameter"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.DoubleStarTypeParameter"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "default"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the name field of hydra.python.syntax.DoubleStarTypeParameter-doubleStarTypeParameterWithName :: Typed.TypedTerm Syntax.DoubleStarTypeParameter -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.DoubleStarTypeParameter-doubleStarTypeParameterWithName original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.DoubleStarTypeParameter"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "default"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.DoubleStarTypeParameter"),- Core.projectionFieldName = (Core.Name "default")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL name token for hydra.python.syntax.DoubleStarredKvpair-doubleStarredKvpairDoubleStarredKvpair :: Typed.TypedName Syntax.DoubleStarredKvpair-doubleStarredKvpairDoubleStarredKvpair = Typed.TypedName (Core.Name "hydra.python.syntax.DoubleStarredKvpair")---- | DSL injection for the pair variant of hydra.python.syntax.DoubleStarredKvpair-doubleStarredKvpairPair :: Typed.TypedTerm Syntax.Kvpair -> Typed.TypedTerm Syntax.DoubleStarredKvpair-doubleStarredKvpairPair x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.DoubleStarredKvpair"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "pair"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the starred variant of hydra.python.syntax.DoubleStarredKvpair-doubleStarredKvpairStarred :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.DoubleStarredKvpair-doubleStarredKvpairStarred x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.DoubleStarredKvpair"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "starred"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for the hydra.python.syntax.Eval wrapper-eval :: Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.Eval-eval x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.Eval"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Eval-evalEval :: Typed.TypedName Syntax.Eval-evalEval = Typed.TypedName (Core.Name "hydra.python.syntax.Eval")---- | DSL constructor for hydra.python.syntax.ExceptBlock-exceptBlock :: Typed.TypedTerm (Maybe Syntax.ExceptExpression) -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.ExceptBlock-exceptBlock expression body =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ExceptBlock"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Typed.unTypedTerm expression)},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Typed.unTypedTerm body)}]}))---- | DSL accessor for the body field of hydra.python.syntax.ExceptBlock-exceptBlockBody :: Typed.TypedTerm Syntax.ExceptBlock -> Typed.TypedTerm Syntax.Block-exceptBlockBody x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptBlock"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ExceptBlock-exceptBlockExceptBlock :: Typed.TypedName Syntax.ExceptBlock-exceptBlockExceptBlock = Typed.TypedName (Core.Name "hydra.python.syntax.ExceptBlock")---- | DSL accessor for the expression field of hydra.python.syntax.ExceptBlock-exceptBlockExpression :: Typed.TypedTerm Syntax.ExceptBlock -> Typed.TypedTerm (Maybe Syntax.ExceptExpression)-exceptBlockExpression x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptBlock"),- Core.projectionFieldName = (Core.Name "expression")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the body field of hydra.python.syntax.ExceptBlock-exceptBlockWithBody :: Typed.TypedTerm Syntax.ExceptBlock -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.ExceptBlock-exceptBlockWithBody original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ExceptBlock"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptBlock"),- Core.projectionFieldName = (Core.Name "expression")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the expression field of hydra.python.syntax.ExceptBlock-exceptBlockWithExpression :: Typed.TypedTerm Syntax.ExceptBlock -> Typed.TypedTerm (Maybe Syntax.ExceptExpression) -> Typed.TypedTerm Syntax.ExceptBlock-exceptBlockWithExpression original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ExceptBlock"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptBlock"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for hydra.python.syntax.ExceptExpression-exceptExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.ExceptExpression-exceptExpression expression as =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ExceptExpression"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Typed.unTypedTerm expression)},- Core.Field {- Core.fieldName = (Core.Name "as"),- Core.fieldTerm = (Typed.unTypedTerm as)}]}))---- | DSL accessor for the as field of hydra.python.syntax.ExceptExpression-exceptExpressionAs :: Typed.TypedTerm Syntax.ExceptExpression -> Typed.TypedTerm (Maybe Syntax.Name)-exceptExpressionAs x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptExpression"),- Core.projectionFieldName = (Core.Name "as")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ExceptExpression-exceptExpressionExceptExpression :: Typed.TypedName Syntax.ExceptExpression-exceptExpressionExceptExpression = Typed.TypedName (Core.Name "hydra.python.syntax.ExceptExpression")---- | DSL accessor for the expression field of hydra.python.syntax.ExceptExpression-exceptExpressionExpression :: Typed.TypedTerm Syntax.ExceptExpression -> Typed.TypedTerm Syntax.Expression-exceptExpressionExpression x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptExpression"),- Core.projectionFieldName = (Core.Name "expression")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the as field of hydra.python.syntax.ExceptExpression-exceptExpressionWithAs :: Typed.TypedTerm Syntax.ExceptExpression -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.ExceptExpression-exceptExpressionWithAs original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ExceptExpression"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptExpression"),- Core.projectionFieldName = (Core.Name "expression")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "as"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the expression field of hydra.python.syntax.ExceptExpression-exceptExpressionWithExpression :: Typed.TypedTerm Syntax.ExceptExpression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.ExceptExpression-exceptExpressionWithExpression original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ExceptExpression"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "as"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptExpression"),- Core.projectionFieldName = (Core.Name "as")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for hydra.python.syntax.ExceptStarBlock-exceptStarBlock :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.ExceptStarBlock-exceptStarBlock expression as body =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ExceptStarBlock"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Typed.unTypedTerm expression)},- Core.Field {- Core.fieldName = (Core.Name "as"),- Core.fieldTerm = (Typed.unTypedTerm as)},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Typed.unTypedTerm body)}]}))---- | DSL accessor for the as field of hydra.python.syntax.ExceptStarBlock-exceptStarBlockAs :: Typed.TypedTerm Syntax.ExceptStarBlock -> Typed.TypedTerm (Maybe Syntax.Name)-exceptStarBlockAs x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptStarBlock"),- Core.projectionFieldName = (Core.Name "as")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body field of hydra.python.syntax.ExceptStarBlock-exceptStarBlockBody :: Typed.TypedTerm Syntax.ExceptStarBlock -> Typed.TypedTerm Syntax.Block-exceptStarBlockBody x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptStarBlock"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ExceptStarBlock-exceptStarBlockExceptStarBlock :: Typed.TypedName Syntax.ExceptStarBlock-exceptStarBlockExceptStarBlock = Typed.TypedName (Core.Name "hydra.python.syntax.ExceptStarBlock")---- | DSL accessor for the expression field of hydra.python.syntax.ExceptStarBlock-exceptStarBlockExpression :: Typed.TypedTerm Syntax.ExceptStarBlock -> Typed.TypedTerm Syntax.Expression-exceptStarBlockExpression x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptStarBlock"),- Core.projectionFieldName = (Core.Name "expression")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the as field of hydra.python.syntax.ExceptStarBlock-exceptStarBlockWithAs :: Typed.TypedTerm Syntax.ExceptStarBlock -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.ExceptStarBlock-exceptStarBlockWithAs original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ExceptStarBlock"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptStarBlock"),- Core.projectionFieldName = (Core.Name "expression")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "as"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptStarBlock"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the body field of hydra.python.syntax.ExceptStarBlock-exceptStarBlockWithBody :: Typed.TypedTerm Syntax.ExceptStarBlock -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.ExceptStarBlock-exceptStarBlockWithBody original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ExceptStarBlock"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptStarBlock"),- Core.projectionFieldName = (Core.Name "expression")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "as"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptStarBlock"),- Core.projectionFieldName = (Core.Name "as")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the expression field of hydra.python.syntax.ExceptStarBlock-exceptStarBlockWithExpression :: Typed.TypedTerm Syntax.ExceptStarBlock -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.ExceptStarBlock-exceptStarBlockWithExpression original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ExceptStarBlock"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "as"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptStarBlock"),- Core.projectionFieldName = (Core.Name "as")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptStarBlock"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL injection for the conditional variant of hydra.python.syntax.Expression-expressionConditional :: Typed.TypedTerm Syntax.Conditional -> Typed.TypedTerm Syntax.Expression-expressionConditional x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Expression"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "conditional"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.Expression-expressionExpression :: Typed.TypedName Syntax.Expression-expressionExpression = Typed.TypedName (Core.Name "hydra.python.syntax.Expression")---- | DSL injection for the lambda variant of hydra.python.syntax.Expression-expressionLambda :: Typed.TypedTerm Syntax.Lambda -> Typed.TypedTerm Syntax.Expression-expressionLambda x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Expression"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "lambda"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the simple variant of hydra.python.syntax.Expression-expressionSimple :: Typed.TypedTerm Syntax.Disjunction -> Typed.TypedTerm Syntax.Expression-expressionSimple x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Expression"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "simple"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the complement variant of hydra.python.syntax.Factor-factorComplement :: Typed.TypedTerm Syntax.Factor -> Typed.TypedTerm Syntax.Factor-factorComplement x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Factor"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "complement"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.Factor-factorFactor :: Typed.TypedName Syntax.Factor-factorFactor = Typed.TypedName (Core.Name "hydra.python.syntax.Factor")---- | DSL injection for the negative variant of hydra.python.syntax.Factor-factorNegative :: Typed.TypedTerm Syntax.Factor -> Typed.TypedTerm Syntax.Factor-factorNegative x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Factor"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "negative"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the positive variant of hydra.python.syntax.Factor-factorPositive :: Typed.TypedTerm Syntax.Factor -> Typed.TypedTerm Syntax.Factor-factorPositive x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Factor"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "positive"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the simple variant of hydra.python.syntax.Factor-factorSimple :: Typed.TypedTerm Syntax.Power -> Typed.TypedTerm Syntax.Factor-factorSimple x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Factor"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "simple"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for the hydra.python.syntax.File wrapper-file :: Typed.TypedTerm [Syntax.Statement] -> Typed.TypedTerm Syntax.File-file x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.File"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.File-fileFile :: Typed.TypedName Syntax.File-fileFile = Typed.TypedName (Core.Name "hydra.python.syntax.File")---- | DSL constructor for hydra.python.syntax.ForIfClause-forIfClause :: Typed.TypedTerm Bool -> Typed.TypedTerm [Syntax.StarTarget] -> Typed.TypedTerm Syntax.Disjunction -> Typed.TypedTerm [Syntax.Disjunction] -> Typed.TypedTerm Syntax.ForIfClause-forIfClause async targets in_ ifs =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "async"),- Core.fieldTerm = (Typed.unTypedTerm async)},- Core.Field {- Core.fieldName = (Core.Name "targets"),- Core.fieldTerm = (Typed.unTypedTerm targets)},- Core.Field {- Core.fieldName = (Core.Name "in"),- Core.fieldTerm = (Typed.unTypedTerm in_)},- Core.Field {- Core.fieldName = (Core.Name "ifs"),- Core.fieldTerm = (Typed.unTypedTerm ifs)}]}))---- | DSL accessor for the async field of hydra.python.syntax.ForIfClause-forIfClauseAsync :: Typed.TypedTerm Syntax.ForIfClause -> Typed.TypedTerm Bool-forIfClauseAsync x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),- Core.projectionFieldName = (Core.Name "async")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ForIfClause-forIfClauseForIfClause :: Typed.TypedName Syntax.ForIfClause-forIfClauseForIfClause = Typed.TypedName (Core.Name "hydra.python.syntax.ForIfClause")---- | DSL accessor for the ifs field of hydra.python.syntax.ForIfClause-forIfClauseIfs :: Typed.TypedTerm Syntax.ForIfClause -> Typed.TypedTerm [Syntax.Disjunction]-forIfClauseIfs x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),- Core.projectionFieldName = (Core.Name "ifs")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the in field of hydra.python.syntax.ForIfClause-forIfClauseIn :: Typed.TypedTerm Syntax.ForIfClause -> Typed.TypedTerm Syntax.Disjunction-forIfClauseIn x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),- Core.projectionFieldName = (Core.Name "in")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the targets field of hydra.python.syntax.ForIfClause-forIfClauseTargets :: Typed.TypedTerm Syntax.ForIfClause -> Typed.TypedTerm [Syntax.StarTarget]-forIfClauseTargets x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),- Core.projectionFieldName = (Core.Name "targets")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the async field of hydra.python.syntax.ForIfClause-forIfClauseWithAsync :: Typed.TypedTerm Syntax.ForIfClause -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.ForIfClause-forIfClauseWithAsync original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "async"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "targets"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),- Core.projectionFieldName = (Core.Name "targets")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "in"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),- Core.projectionFieldName = (Core.Name "in")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "ifs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),- Core.projectionFieldName = (Core.Name "ifs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the ifs field of hydra.python.syntax.ForIfClause-forIfClauseWithIfs :: Typed.TypedTerm Syntax.ForIfClause -> Typed.TypedTerm [Syntax.Disjunction] -> Typed.TypedTerm Syntax.ForIfClause-forIfClauseWithIfs original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "async"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),- Core.projectionFieldName = (Core.Name "async")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "targets"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),- Core.projectionFieldName = (Core.Name "targets")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "in"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),- Core.projectionFieldName = (Core.Name "in")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "ifs"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the in field of hydra.python.syntax.ForIfClause-forIfClauseWithIn :: Typed.TypedTerm Syntax.ForIfClause -> Typed.TypedTerm Syntax.Disjunction -> Typed.TypedTerm Syntax.ForIfClause-forIfClauseWithIn original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "async"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),- Core.projectionFieldName = (Core.Name "async")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "targets"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),- Core.projectionFieldName = (Core.Name "targets")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "in"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "ifs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),- Core.projectionFieldName = (Core.Name "ifs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the targets field of hydra.python.syntax.ForIfClause-forIfClauseWithTargets :: Typed.TypedTerm Syntax.ForIfClause -> Typed.TypedTerm [Syntax.StarTarget] -> Typed.TypedTerm Syntax.ForIfClause-forIfClauseWithTargets original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "async"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),- Core.projectionFieldName = (Core.Name "async")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "targets"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "in"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),- Core.projectionFieldName = (Core.Name "in")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "ifs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),- Core.projectionFieldName = (Core.Name "ifs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for the hydra.python.syntax.ForIfClauses wrapper-forIfClauses :: Typed.TypedTerm [Syntax.ForIfClause] -> Typed.TypedTerm Syntax.ForIfClauses-forIfClauses x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.ForIfClauses"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ForIfClauses-forIfClausesForIfClauses :: Typed.TypedName Syntax.ForIfClauses-forIfClausesForIfClauses = Typed.TypedName (Core.Name "hydra.python.syntax.ForIfClauses")---- | DSL constructor for hydra.python.syntax.ForStatement-forStatement :: Typed.TypedTerm Bool -> Typed.TypedTerm [Syntax.StarTarget] -> Typed.TypedTerm [Syntax.StarExpression] -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.ForStatement-forStatement async targets expressions typeComment body else_ =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "async"),- Core.fieldTerm = (Typed.unTypedTerm async)},- Core.Field {- Core.fieldName = (Core.Name "targets"),- Core.fieldTerm = (Typed.unTypedTerm targets)},- Core.Field {- Core.fieldName = (Core.Name "expressions"),- Core.fieldTerm = (Typed.unTypedTerm expressions)},- Core.Field {- Core.fieldName = (Core.Name "typeComment"),- Core.fieldTerm = (Typed.unTypedTerm typeComment)},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Typed.unTypedTerm body)},- Core.Field {- Core.fieldName = (Core.Name "else"),- Core.fieldTerm = (Typed.unTypedTerm else_)}]}))---- | DSL accessor for the async field of hydra.python.syntax.ForStatement-forStatementAsync :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm Bool-forStatementAsync x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "async")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body field of hydra.python.syntax.ForStatement-forStatementBody :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm Syntax.Block-forStatementBody x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the else field of hydra.python.syntax.ForStatement-forStatementElse :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm (Maybe Syntax.Block)-forStatementElse x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "else")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the expressions field of hydra.python.syntax.ForStatement-forStatementExpressions :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm [Syntax.StarExpression]-forStatementExpressions x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "expressions")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ForStatement-forStatementForStatement :: Typed.TypedName Syntax.ForStatement-forStatementForStatement = Typed.TypedName (Core.Name "hydra.python.syntax.ForStatement")---- | DSL accessor for the targets field of hydra.python.syntax.ForStatement-forStatementTargets :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm [Syntax.StarTarget]-forStatementTargets x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "targets")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the typeComment field of hydra.python.syntax.ForStatement-forStatementTypeComment :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm (Maybe Syntax.TypeComment)-forStatementTypeComment x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "typeComment")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the async field of hydra.python.syntax.ForStatement-forStatementWithAsync :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.ForStatement-forStatementWithAsync original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "async"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "targets"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "targets")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "expressions"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "expressions")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeComment"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "typeComment")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "else"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "else")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the body field of hydra.python.syntax.ForStatement-forStatementWithBody :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.ForStatement-forStatementWithBody original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "async"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "async")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "targets"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "targets")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "expressions"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "expressions")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeComment"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "typeComment")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "else"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "else")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the else field of hydra.python.syntax.ForStatement-forStatementWithElse :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.ForStatement-forStatementWithElse original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "async"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "async")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "targets"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "targets")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "expressions"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "expressions")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeComment"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "typeComment")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "else"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the expressions field of hydra.python.syntax.ForStatement-forStatementWithExpressions :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm [Syntax.StarExpression] -> Typed.TypedTerm Syntax.ForStatement-forStatementWithExpressions original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "async"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "async")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "targets"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "targets")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "expressions"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "typeComment"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "typeComment")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "else"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "else")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the targets field of hydra.python.syntax.ForStatement-forStatementWithTargets :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm [Syntax.StarTarget] -> Typed.TypedTerm Syntax.ForStatement-forStatementWithTargets original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "async"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "async")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "targets"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "expressions"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "expressions")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeComment"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "typeComment")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "else"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "else")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the typeComment field of hydra.python.syntax.ForStatement-forStatementWithTypeComment :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ForStatement-forStatementWithTypeComment original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "async"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "async")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "targets"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "targets")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "expressions"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "expressions")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeComment"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "else"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),- Core.projectionFieldName = (Core.Name "else")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for the hydra.python.syntax.FuncTypeComment wrapper-funcTypeComment :: Typed.TypedTerm Syntax.TypeComment -> Typed.TypedTerm Syntax.FuncTypeComment-funcTypeComment x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.FuncTypeComment"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.FuncTypeComment-funcTypeCommentFuncTypeComment :: Typed.TypedName Syntax.FuncTypeComment-funcTypeCommentFuncTypeComment = Typed.TypedName (Core.Name "hydra.python.syntax.FuncTypeComment")---- | DSL constructor for hydra.python.syntax.FunctionDefRaw-functionDefRaw :: Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm [Syntax.TypeParameter] -> Typed.TypedTerm (Maybe Syntax.Parameters) -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm (Maybe Syntax.FuncTypeComment) -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.FunctionDefRaw-functionDefRaw async name typeParams params returnType funcTypeComment block =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "async"),- Core.fieldTerm = (Typed.unTypedTerm async)},- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm name)},- Core.Field {- Core.fieldName = (Core.Name "typeParams"),- Core.fieldTerm = (Typed.unTypedTerm typeParams)},- Core.Field {- Core.fieldName = (Core.Name "params"),- Core.fieldTerm = (Typed.unTypedTerm params)},- Core.Field {- Core.fieldName = (Core.Name "returnType"),- Core.fieldTerm = (Typed.unTypedTerm returnType)},- Core.Field {- Core.fieldName = (Core.Name "funcTypeComment"),- Core.fieldTerm = (Typed.unTypedTerm funcTypeComment)},- Core.Field {- Core.fieldName = (Core.Name "block"),- Core.fieldTerm = (Typed.unTypedTerm block)}]}))---- | DSL accessor for the async field of hydra.python.syntax.FunctionDefRaw-functionDefRawAsync :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm Bool-functionDefRawAsync x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "async")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the block field of hydra.python.syntax.FunctionDefRaw-functionDefRawBlock :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm Syntax.Block-functionDefRawBlock x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "block")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the funcTypeComment field of hydra.python.syntax.FunctionDefRaw-functionDefRawFuncTypeComment :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm (Maybe Syntax.FuncTypeComment)-functionDefRawFuncTypeComment x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "funcTypeComment")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.FunctionDefRaw-functionDefRawFunctionDefRaw :: Typed.TypedName Syntax.FunctionDefRaw-functionDefRawFunctionDefRaw = Typed.TypedName (Core.Name "hydra.python.syntax.FunctionDefRaw")---- | DSL accessor for the name field of hydra.python.syntax.FunctionDefRaw-functionDefRawName :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm Syntax.Name-functionDefRawName x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the params field of hydra.python.syntax.FunctionDefRaw-functionDefRawParams :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm (Maybe Syntax.Parameters)-functionDefRawParams x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "params")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the returnType field of hydra.python.syntax.FunctionDefRaw-functionDefRawReturnType :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm (Maybe Syntax.Expression)-functionDefRawReturnType x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "returnType")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the typeParams field of hydra.python.syntax.FunctionDefRaw-functionDefRawTypeParams :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm [Syntax.TypeParameter]-functionDefRawTypeParams x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "typeParams")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the async field of hydra.python.syntax.FunctionDefRaw-functionDefRawWithAsync :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.FunctionDefRaw-functionDefRawWithAsync original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "async"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeParams"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "typeParams")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "params"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "params")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "returnType"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "returnType")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "funcTypeComment"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "funcTypeComment")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "block"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "block")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the block field of hydra.python.syntax.FunctionDefRaw-functionDefRawWithBlock :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.FunctionDefRaw-functionDefRawWithBlock original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "async"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "async")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeParams"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "typeParams")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "params"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "params")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "returnType"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "returnType")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "funcTypeComment"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "funcTypeComment")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "block"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the funcTypeComment field of hydra.python.syntax.FunctionDefRaw-functionDefRawWithFuncTypeComment :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm (Maybe Syntax.FuncTypeComment) -> Typed.TypedTerm Syntax.FunctionDefRaw-functionDefRawWithFuncTypeComment original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "async"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "async")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeParams"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "typeParams")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "params"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "params")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "returnType"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "returnType")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "funcTypeComment"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "block"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "block")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the name field of hydra.python.syntax.FunctionDefRaw-functionDefRawWithName :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.FunctionDefRaw-functionDefRawWithName original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "async"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "async")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "typeParams"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "typeParams")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "params"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "params")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "returnType"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "returnType")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "funcTypeComment"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "funcTypeComment")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "block"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "block")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the params field of hydra.python.syntax.FunctionDefRaw-functionDefRawWithParams :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm (Maybe Syntax.Parameters) -> Typed.TypedTerm Syntax.FunctionDefRaw-functionDefRawWithParams original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "async"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "async")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeParams"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "typeParams")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "params"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "returnType"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "returnType")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "funcTypeComment"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "funcTypeComment")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "block"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "block")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the returnType field of hydra.python.syntax.FunctionDefRaw-functionDefRawWithReturnType :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.FunctionDefRaw-functionDefRawWithReturnType original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "async"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "async")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeParams"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "typeParams")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "params"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "params")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "returnType"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "funcTypeComment"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "funcTypeComment")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "block"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "block")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the typeParams field of hydra.python.syntax.FunctionDefRaw-functionDefRawWithTypeParams :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm [Syntax.TypeParameter] -> Typed.TypedTerm Syntax.FunctionDefRaw-functionDefRawWithTypeParams original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "async"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "async")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeParams"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "params"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "params")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "returnType"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "returnType")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "funcTypeComment"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "funcTypeComment")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "block"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),- Core.projectionFieldName = (Core.Name "block")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for hydra.python.syntax.FunctionDefinition-functionDefinition :: Typed.TypedTerm (Maybe Syntax.Decorators) -> Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm Syntax.FunctionDefinition-functionDefinition decorators raw =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.FunctionDefinition"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "decorators"),- Core.fieldTerm = (Typed.unTypedTerm decorators)},- Core.Field {- Core.fieldName = (Core.Name "raw"),- Core.fieldTerm = (Typed.unTypedTerm raw)}]}))---- | DSL accessor for the decorators field of hydra.python.syntax.FunctionDefinition-functionDefinitionDecorators :: Typed.TypedTerm Syntax.FunctionDefinition -> Typed.TypedTerm (Maybe Syntax.Decorators)-functionDefinitionDecorators x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefinition"),- Core.projectionFieldName = (Core.Name "decorators")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.FunctionDefinition-functionDefinitionFunctionDefinition :: Typed.TypedName Syntax.FunctionDefinition-functionDefinitionFunctionDefinition = Typed.TypedName (Core.Name "hydra.python.syntax.FunctionDefinition")---- | DSL accessor for the raw field of hydra.python.syntax.FunctionDefinition-functionDefinitionRaw :: Typed.TypedTerm Syntax.FunctionDefinition -> Typed.TypedTerm Syntax.FunctionDefRaw-functionDefinitionRaw x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefinition"),- Core.projectionFieldName = (Core.Name "raw")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the decorators field of hydra.python.syntax.FunctionDefinition-functionDefinitionWithDecorators :: Typed.TypedTerm Syntax.FunctionDefinition -> Typed.TypedTerm (Maybe Syntax.Decorators) -> Typed.TypedTerm Syntax.FunctionDefinition-functionDefinitionWithDecorators original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.FunctionDefinition"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "decorators"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "raw"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefinition"),- Core.projectionFieldName = (Core.Name "raw")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the raw field of hydra.python.syntax.FunctionDefinition-functionDefinitionWithRaw :: Typed.TypedTerm Syntax.FunctionDefinition -> Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm Syntax.FunctionDefinition-functionDefinitionWithRaw original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.FunctionDefinition"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "decorators"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefinition"),- Core.projectionFieldName = (Core.Name "decorators")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "raw"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.Genexp-genexp :: Typed.TypedTerm Syntax.GenexpHead -> Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm Syntax.Genexp-genexp head tail =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Genexp"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "head"),- Core.fieldTerm = (Typed.unTypedTerm head)},- Core.Field {- Core.fieldName = (Core.Name "tail"),- Core.fieldTerm = (Typed.unTypedTerm tail)}]}))---- | DSL name token for hydra.python.syntax.Genexp-genexpGenexp :: Typed.TypedName Syntax.Genexp-genexpGenexp = Typed.TypedName (Core.Name "hydra.python.syntax.Genexp")---- | DSL accessor for the head field of hydra.python.syntax.Genexp-genexpHead :: Typed.TypedTerm Syntax.Genexp -> Typed.TypedTerm Syntax.GenexpHead-genexpHead x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Genexp"),- Core.projectionFieldName = (Core.Name "head")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL injection for the assignment variant of hydra.python.syntax.GenexpHead-genexpHeadAssignment :: Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.GenexpHead-genexpHeadAssignment x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.GenexpHead"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "assignment"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the expression variant of hydra.python.syntax.GenexpHead-genexpHeadExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.GenexpHead-genexpHeadExpression x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.GenexpHead"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.GenexpHead-genexpHeadGenexpHead :: Typed.TypedName Syntax.GenexpHead-genexpHeadGenexpHead = Typed.TypedName (Core.Name "hydra.python.syntax.GenexpHead")---- | DSL accessor for the tail field of hydra.python.syntax.Genexp-genexpTail :: Typed.TypedTerm Syntax.Genexp -> Typed.TypedTerm Syntax.ForIfClauses-genexpTail x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Genexp"),- Core.projectionFieldName = (Core.Name "tail")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the head field of hydra.python.syntax.Genexp-genexpWithHead :: Typed.TypedTerm Syntax.Genexp -> Typed.TypedTerm Syntax.GenexpHead -> Typed.TypedTerm Syntax.Genexp-genexpWithHead original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Genexp"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "head"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "tail"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Genexp"),- Core.projectionFieldName = (Core.Name "tail")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the tail field of hydra.python.syntax.Genexp-genexpWithTail :: Typed.TypedTerm Syntax.Genexp -> Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm Syntax.Genexp-genexpWithTail original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Genexp"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "head"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Genexp"),- Core.projectionFieldName = (Core.Name "head")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "tail"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL injection for the expression variant of hydra.python.syntax.Group-groupExpression :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.Group-groupExpression x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Group"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.Group-groupGroup :: Typed.TypedName Syntax.Group-groupGroup = Typed.TypedName (Core.Name "hydra.python.syntax.Group")---- | DSL constructor for the hydra.python.syntax.GroupPattern wrapper-groupPattern :: Typed.TypedTerm Syntax.Pattern -> Typed.TypedTerm Syntax.GroupPattern-groupPattern x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.GroupPattern"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.GroupPattern-groupPatternGroupPattern :: Typed.TypedName Syntax.GroupPattern-groupPatternGroupPattern = Typed.TypedName (Core.Name "hydra.python.syntax.GroupPattern")---- | DSL injection for the yield variant of hydra.python.syntax.Group-groupYield :: Typed.TypedTerm Syntax.YieldExpression -> Typed.TypedTerm Syntax.Group-groupYield x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Group"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "yield"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for the hydra.python.syntax.Guard wrapper-guard :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.Guard-guard x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.Guard"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Guard-guardGuard :: Typed.TypedName Syntax.Guard-guardGuard = Typed.TypedName (Core.Name "hydra.python.syntax.Guard")---- | DSL constructor for hydra.python.syntax.IfStatement-ifStatement :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm (Maybe Syntax.IfTail) -> Typed.TypedTerm Syntax.IfStatement-ifStatement condition body continuation =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.IfStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "condition"),- Core.fieldTerm = (Typed.unTypedTerm condition)},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Typed.unTypedTerm body)},- Core.Field {- Core.fieldName = (Core.Name "continuation"),- Core.fieldTerm = (Typed.unTypedTerm continuation)}]}))---- | DSL accessor for the body field of hydra.python.syntax.IfStatement-ifStatementBody :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm Syntax.Block-ifStatementBody x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.IfStatement"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the condition field of hydra.python.syntax.IfStatement-ifStatementCondition :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm Syntax.NamedExpression-ifStatementCondition x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.IfStatement"),- Core.projectionFieldName = (Core.Name "condition")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the continuation field of hydra.python.syntax.IfStatement-ifStatementContinuation :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm (Maybe Syntax.IfTail)-ifStatementContinuation x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.IfStatement"),- Core.projectionFieldName = (Core.Name "continuation")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.IfStatement-ifStatementIfStatement :: Typed.TypedName Syntax.IfStatement-ifStatementIfStatement = Typed.TypedName (Core.Name "hydra.python.syntax.IfStatement")---- | DSL updater for the body field of hydra.python.syntax.IfStatement-ifStatementWithBody :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.IfStatement-ifStatementWithBody original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.IfStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "condition"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.IfStatement"),- Core.projectionFieldName = (Core.Name "condition")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "continuation"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.IfStatement"),- Core.projectionFieldName = (Core.Name "continuation")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the condition field of hydra.python.syntax.IfStatement-ifStatementWithCondition :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.IfStatement-ifStatementWithCondition original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.IfStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "condition"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.IfStatement"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "continuation"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.IfStatement"),- Core.projectionFieldName = (Core.Name "continuation")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the continuation field of hydra.python.syntax.IfStatement-ifStatementWithContinuation :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm (Maybe Syntax.IfTail) -> Typed.TypedTerm Syntax.IfStatement-ifStatementWithContinuation original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.IfStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "condition"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.IfStatement"),- Core.projectionFieldName = (Core.Name "condition")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.IfStatement"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "continuation"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL injection for the elif variant of hydra.python.syntax.IfTail-ifTailElif :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm Syntax.IfTail-ifTailElif x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.IfTail"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "elif"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the else variant of hydra.python.syntax.IfTail-ifTailElse :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.IfTail-ifTailElse x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.IfTail"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "else"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.IfTail-ifTailIfTail :: Typed.TypedName Syntax.IfTail-ifTailIfTail = Typed.TypedName (Core.Name "hydra.python.syntax.IfTail")---- | DSL constructor for the hydra.python.syntax.ImaginaryNumber wrapper-imaginaryNumber :: Typed.TypedTerm Double -> Typed.TypedTerm Syntax.ImaginaryNumber-imaginaryNumber x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.ImaginaryNumber"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ImaginaryNumber-imaginaryNumberImaginaryNumber :: Typed.TypedName Syntax.ImaginaryNumber-imaginaryNumberImaginaryNumber = Typed.TypedName (Core.Name "hydra.python.syntax.ImaginaryNumber")---- | DSL constructor for hydra.python.syntax.ImportFrom-importFrom :: Typed.TypedTerm [Syntax.RelativeImportPrefix] -> Typed.TypedTerm (Maybe Syntax.DottedName) -> Typed.TypedTerm Syntax.ImportFromTargets -> Typed.TypedTerm Syntax.ImportFrom-importFrom prefixes dottedName targets =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ImportFrom"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "prefixes"),- Core.fieldTerm = (Typed.unTypedTerm prefixes)},- Core.Field {- Core.fieldName = (Core.Name "dottedName"),- Core.fieldTerm = (Typed.unTypedTerm dottedName)},- Core.Field {- Core.fieldName = (Core.Name "targets"),- Core.fieldTerm = (Typed.unTypedTerm targets)}]}))---- | DSL constructor for hydra.python.syntax.ImportFromAsName-importFromAsName :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.ImportFromAsName-importFromAsName name as =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ImportFromAsName"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm name)},- Core.Field {- Core.fieldName = (Core.Name "as"),- Core.fieldTerm = (Typed.unTypedTerm as)}]}))---- | DSL accessor for the as field of hydra.python.syntax.ImportFromAsName-importFromAsNameAs :: Typed.TypedTerm Syntax.ImportFromAsName -> Typed.TypedTerm (Maybe Syntax.Name)-importFromAsNameAs x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ImportFromAsName"),- Core.projectionFieldName = (Core.Name "as")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ImportFromAsName-importFromAsNameImportFromAsName :: Typed.TypedName Syntax.ImportFromAsName-importFromAsNameImportFromAsName = Typed.TypedName (Core.Name "hydra.python.syntax.ImportFromAsName")---- | DSL accessor for the name field of hydra.python.syntax.ImportFromAsName-importFromAsNameName :: Typed.TypedTerm Syntax.ImportFromAsName -> Typed.TypedTerm Syntax.Name-importFromAsNameName x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ImportFromAsName"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the as field of hydra.python.syntax.ImportFromAsName-importFromAsNameWithAs :: Typed.TypedTerm Syntax.ImportFromAsName -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.ImportFromAsName-importFromAsNameWithAs original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ImportFromAsName"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ImportFromAsName"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "as"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the name field of hydra.python.syntax.ImportFromAsName-importFromAsNameWithName :: Typed.TypedTerm Syntax.ImportFromAsName -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.ImportFromAsName-importFromAsNameWithName original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ImportFromAsName"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "as"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ImportFromAsName"),- Core.projectionFieldName = (Core.Name "as")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL accessor for the dottedName field of hydra.python.syntax.ImportFrom-importFromDottedName :: Typed.TypedTerm Syntax.ImportFrom -> Typed.TypedTerm (Maybe Syntax.DottedName)-importFromDottedName x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ImportFrom"),- Core.projectionFieldName = (Core.Name "dottedName")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ImportFrom-importFromImportFrom :: Typed.TypedName Syntax.ImportFrom-importFromImportFrom = Typed.TypedName (Core.Name "hydra.python.syntax.ImportFrom")---- | DSL accessor for the prefixes field of hydra.python.syntax.ImportFrom-importFromPrefixes :: Typed.TypedTerm Syntax.ImportFrom -> Typed.TypedTerm [Syntax.RelativeImportPrefix]-importFromPrefixes x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ImportFrom"),- Core.projectionFieldName = (Core.Name "prefixes")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the targets field of hydra.python.syntax.ImportFrom-importFromTargets :: Typed.TypedTerm Syntax.ImportFrom -> Typed.TypedTerm Syntax.ImportFromTargets-importFromTargets x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ImportFrom"),- Core.projectionFieldName = (Core.Name "targets")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ImportFromTargets-importFromTargetsImportFromTargets :: Typed.TypedName Syntax.ImportFromTargets-importFromTargetsImportFromTargets = Typed.TypedName (Core.Name "hydra.python.syntax.ImportFromTargets")---- | DSL injection for the parens variant of hydra.python.syntax.ImportFromTargets-importFromTargetsParens :: Typed.TypedTerm [Syntax.ImportFromAsName] -> Typed.TypedTerm Syntax.ImportFromTargets-importFromTargetsParens x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.ImportFromTargets"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "parens"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the simple variant of hydra.python.syntax.ImportFromTargets-importFromTargetsSimple :: Typed.TypedTerm [Syntax.ImportFromAsName] -> Typed.TypedTerm Syntax.ImportFromTargets-importFromTargetsSimple x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.ImportFromTargets"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "simple"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the star variant of hydra.python.syntax.ImportFromTargets-importFromTargetsStar :: Typed.TypedTerm Syntax.ImportFromTargets-importFromTargetsStar =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.ImportFromTargets"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "star"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL updater for the dottedName field of hydra.python.syntax.ImportFrom-importFromWithDottedName :: Typed.TypedTerm Syntax.ImportFrom -> Typed.TypedTerm (Maybe Syntax.DottedName) -> Typed.TypedTerm Syntax.ImportFrom-importFromWithDottedName original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ImportFrom"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "prefixes"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ImportFrom"),- Core.projectionFieldName = (Core.Name "prefixes")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "dottedName"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "targets"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ImportFrom"),- Core.projectionFieldName = (Core.Name "targets")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the prefixes field of hydra.python.syntax.ImportFrom-importFromWithPrefixes :: Typed.TypedTerm Syntax.ImportFrom -> Typed.TypedTerm [Syntax.RelativeImportPrefix] -> Typed.TypedTerm Syntax.ImportFrom-importFromWithPrefixes original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ImportFrom"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "prefixes"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "dottedName"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ImportFrom"),- Core.projectionFieldName = (Core.Name "dottedName")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "targets"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ImportFrom"),- Core.projectionFieldName = (Core.Name "targets")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the targets field of hydra.python.syntax.ImportFrom-importFromWithTargets :: Typed.TypedTerm Syntax.ImportFrom -> Typed.TypedTerm Syntax.ImportFromTargets -> Typed.TypedTerm Syntax.ImportFrom-importFromWithTargets original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ImportFrom"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "prefixes"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ImportFrom"),- Core.projectionFieldName = (Core.Name "prefixes")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "dottedName"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ImportFrom"),- Core.projectionFieldName = (Core.Name "dottedName")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "targets"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for the hydra.python.syntax.ImportName wrapper-importName :: Typed.TypedTerm [Syntax.DottedAsName] -> Typed.TypedTerm Syntax.ImportName-importName x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.ImportName"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ImportName-importNameImportName :: Typed.TypedName Syntax.ImportName-importNameImportName = Typed.TypedName (Core.Name "hydra.python.syntax.ImportName")---- | DSL injection for the from variant of hydra.python.syntax.ImportStatement-importStatementFrom :: Typed.TypedTerm Syntax.ImportFrom -> Typed.TypedTerm Syntax.ImportStatement-importStatementFrom x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.ImportStatement"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "from"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.ImportStatement-importStatementImportStatement :: Typed.TypedName Syntax.ImportStatement-importStatementImportStatement = Typed.TypedName (Core.Name "hydra.python.syntax.ImportStatement")---- | DSL injection for the name variant of hydra.python.syntax.ImportStatement-importStatementName :: Typed.TypedTerm Syntax.ImportName -> Typed.TypedTerm Syntax.ImportStatement-importStatementName x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.ImportStatement"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for the hydra.python.syntax.Interactive wrapper-interactive :: Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm Syntax.Interactive-interactive x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.Interactive"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Interactive-interactiveInteractive :: Typed.TypedName Syntax.Interactive-interactiveInteractive = Typed.TypedName (Core.Name "hydra.python.syntax.Interactive")---- | DSL name token for hydra.python.syntax.Inversion-inversionInversion :: Typed.TypedName Syntax.Inversion-inversionInversion = Typed.TypedName (Core.Name "hydra.python.syntax.Inversion")---- | DSL injection for the not variant of hydra.python.syntax.Inversion-inversionNot :: Typed.TypedTerm Syntax.Inversion -> Typed.TypedTerm Syntax.Inversion-inversionNot x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Inversion"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "not"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the simple variant of hydra.python.syntax.Inversion-inversionSimple :: Typed.TypedTerm Syntax.Comparison -> Typed.TypedTerm Syntax.Inversion-inversionSimple x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Inversion"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "simple"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for the hydra.python.syntax.ItemsPattern wrapper-itemsPattern :: Typed.TypedTerm [Syntax.KeyValuePattern] -> Typed.TypedTerm Syntax.ItemsPattern-itemsPattern x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.ItemsPattern"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ItemsPattern-itemsPatternItemsPattern :: Typed.TypedName Syntax.ItemsPattern-itemsPatternItemsPattern = Typed.TypedName (Core.Name "hydra.python.syntax.ItemsPattern")---- | DSL constructor for hydra.python.syntax.KeyValuePattern-keyValuePattern :: Typed.TypedTerm Syntax.LiteralExpressionOrAttribute -> Typed.TypedTerm Syntax.Pattern -> Typed.TypedTerm Syntax.KeyValuePattern-keyValuePattern key value =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.KeyValuePattern"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "key"),- Core.fieldTerm = (Typed.unTypedTerm key)},- Core.Field {- Core.fieldName = (Core.Name "value"),- Core.fieldTerm = (Typed.unTypedTerm value)}]}))---- | DSL accessor for the key field of hydra.python.syntax.KeyValuePattern-keyValuePatternKey :: Typed.TypedTerm Syntax.KeyValuePattern -> Typed.TypedTerm Syntax.LiteralExpressionOrAttribute-keyValuePatternKey x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.KeyValuePattern"),- Core.projectionFieldName = (Core.Name "key")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.KeyValuePattern-keyValuePatternKeyValuePattern :: Typed.TypedName Syntax.KeyValuePattern-keyValuePatternKeyValuePattern = Typed.TypedName (Core.Name "hydra.python.syntax.KeyValuePattern")---- | DSL accessor for the value field of hydra.python.syntax.KeyValuePattern-keyValuePatternValue :: Typed.TypedTerm Syntax.KeyValuePattern -> Typed.TypedTerm Syntax.Pattern-keyValuePatternValue x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.KeyValuePattern"),- Core.projectionFieldName = (Core.Name "value")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the key field of hydra.python.syntax.KeyValuePattern-keyValuePatternWithKey :: Typed.TypedTerm Syntax.KeyValuePattern -> Typed.TypedTerm Syntax.LiteralExpressionOrAttribute -> Typed.TypedTerm Syntax.KeyValuePattern-keyValuePatternWithKey original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.KeyValuePattern"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "key"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "value"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.KeyValuePattern"),- Core.projectionFieldName = (Core.Name "value")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the value field of hydra.python.syntax.KeyValuePattern-keyValuePatternWithValue :: Typed.TypedTerm Syntax.KeyValuePattern -> Typed.TypedTerm Syntax.Pattern -> Typed.TypedTerm Syntax.KeyValuePattern-keyValuePatternWithValue original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.KeyValuePattern"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "key"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.KeyValuePattern"),- Core.projectionFieldName = (Core.Name "key")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "value"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.KeywordPattern-keywordPattern :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Pattern -> Typed.TypedTerm Syntax.KeywordPattern-keywordPattern name pattern =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.KeywordPattern"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm name)},- Core.Field {- Core.fieldName = (Core.Name "pattern"),- Core.fieldTerm = (Typed.unTypedTerm pattern)}]}))---- | DSL name token for hydra.python.syntax.KeywordPattern-keywordPatternKeywordPattern :: Typed.TypedName Syntax.KeywordPattern-keywordPatternKeywordPattern = Typed.TypedName (Core.Name "hydra.python.syntax.KeywordPattern")---- | DSL accessor for the name field of hydra.python.syntax.KeywordPattern-keywordPatternName :: Typed.TypedTerm Syntax.KeywordPattern -> Typed.TypedTerm Syntax.Name-keywordPatternName x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.KeywordPattern"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the pattern field of hydra.python.syntax.KeywordPattern-keywordPatternPattern :: Typed.TypedTerm Syntax.KeywordPattern -> Typed.TypedTerm Syntax.Pattern-keywordPatternPattern x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.KeywordPattern"),- Core.projectionFieldName = (Core.Name "pattern")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the name field of hydra.python.syntax.KeywordPattern-keywordPatternWithName :: Typed.TypedTerm Syntax.KeywordPattern -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.KeywordPattern-keywordPatternWithName original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.KeywordPattern"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "pattern"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.KeywordPattern"),- Core.projectionFieldName = (Core.Name "pattern")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the pattern field of hydra.python.syntax.KeywordPattern-keywordPatternWithPattern :: Typed.TypedTerm Syntax.KeywordPattern -> Typed.TypedTerm Syntax.Pattern -> Typed.TypedTerm Syntax.KeywordPattern-keywordPatternWithPattern original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.KeywordPattern"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.KeywordPattern"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "pattern"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for the hydra.python.syntax.KeywordPatterns wrapper-keywordPatterns :: Typed.TypedTerm [Syntax.KeywordPattern] -> Typed.TypedTerm Syntax.KeywordPatterns-keywordPatterns x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.KeywordPatterns"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.KeywordPatterns-keywordPatternsKeywordPatterns :: Typed.TypedName Syntax.KeywordPatterns-keywordPatternsKeywordPatterns = Typed.TypedName (Core.Name "hydra.python.syntax.KeywordPatterns")---- | DSL constructor for the hydra.python.syntax.Keywords wrapper-keywords :: Typed.TypedTerm Syntax.ParamNoDefault -> Typed.TypedTerm Syntax.Keywords-keywords x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.Keywords"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Keywords-keywordsKeywords :: Typed.TypedName Syntax.Keywords-keywordsKeywords = Typed.TypedName (Core.Name "hydra.python.syntax.Keywords")---- | DSL constructor for hydra.python.syntax.Kvpair-kvpair :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Kvpair-kvpair key value =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Kvpair"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "key"),- Core.fieldTerm = (Typed.unTypedTerm key)},- Core.Field {- Core.fieldName = (Core.Name "value"),- Core.fieldTerm = (Typed.unTypedTerm value)}]}))---- | DSL accessor for the key field of hydra.python.syntax.Kvpair-kvpairKey :: Typed.TypedTerm Syntax.Kvpair -> Typed.TypedTerm Syntax.Expression-kvpairKey x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Kvpair"),- Core.projectionFieldName = (Core.Name "key")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Kvpair-kvpairKvpair :: Typed.TypedName Syntax.Kvpair-kvpairKvpair = Typed.TypedName (Core.Name "hydra.python.syntax.Kvpair")---- | DSL accessor for the value field of hydra.python.syntax.Kvpair-kvpairValue :: Typed.TypedTerm Syntax.Kvpair -> Typed.TypedTerm Syntax.Expression-kvpairValue x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Kvpair"),- Core.projectionFieldName = (Core.Name "value")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the key field of hydra.python.syntax.Kvpair-kvpairWithKey :: Typed.TypedTerm Syntax.Kvpair -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Kvpair-kvpairWithKey original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Kvpair"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "key"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "value"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Kvpair"),- Core.projectionFieldName = (Core.Name "value")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the value field of hydra.python.syntax.Kvpair-kvpairWithValue :: Typed.TypedTerm Syntax.Kvpair -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Kvpair-kvpairWithValue original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Kvpair"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "key"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Kvpair"),- Core.projectionFieldName = (Core.Name "key")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "value"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.Kwarg-kwarg :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Kwarg-kwarg name value =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Kwarg"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm name)},- Core.Field {- Core.fieldName = (Core.Name "value"),- Core.fieldTerm = (Typed.unTypedTerm value)}]}))---- | DSL name token for hydra.python.syntax.Kwarg-kwargKwarg :: Typed.TypedName Syntax.Kwarg-kwargKwarg = Typed.TypedName (Core.Name "hydra.python.syntax.Kwarg")---- | DSL accessor for the name field of hydra.python.syntax.Kwarg-kwargName :: Typed.TypedTerm Syntax.Kwarg -> Typed.TypedTerm Syntax.Name-kwargName x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Kwarg"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL injection for the doubleStarred variant of hydra.python.syntax.KwargOrDoubleStarred-kwargOrDoubleStarredDoubleStarred :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.KwargOrDoubleStarred-kwargOrDoubleStarredDoubleStarred x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.KwargOrDoubleStarred"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "doubleStarred"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the kwarg variant of hydra.python.syntax.KwargOrDoubleStarred-kwargOrDoubleStarredKwarg :: Typed.TypedTerm Syntax.Kwarg -> Typed.TypedTerm Syntax.KwargOrDoubleStarred-kwargOrDoubleStarredKwarg x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.KwargOrDoubleStarred"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "kwarg"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.KwargOrDoubleStarred-kwargOrDoubleStarredKwargOrDoubleStarred :: Typed.TypedName Syntax.KwargOrDoubleStarred-kwargOrDoubleStarredKwargOrDoubleStarred = Typed.TypedName (Core.Name "hydra.python.syntax.KwargOrDoubleStarred")---- | DSL injection for the kwarg variant of hydra.python.syntax.KwargOrStarred-kwargOrStarredKwarg :: Typed.TypedTerm Syntax.Kwarg -> Typed.TypedTerm Syntax.KwargOrStarred-kwargOrStarredKwarg x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.KwargOrStarred"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "kwarg"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.KwargOrStarred-kwargOrStarredKwargOrStarred :: Typed.TypedName Syntax.KwargOrStarred-kwargOrStarredKwargOrStarred = Typed.TypedName (Core.Name "hydra.python.syntax.KwargOrStarred")---- | DSL injection for the starred variant of hydra.python.syntax.KwargOrStarred-kwargOrStarredStarred :: Typed.TypedTerm Syntax.StarredExpression -> Typed.TypedTerm Syntax.KwargOrStarred-kwargOrStarredStarred x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.KwargOrStarred"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "starred"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL accessor for the value field of hydra.python.syntax.Kwarg-kwargValue :: Typed.TypedTerm Syntax.Kwarg -> Typed.TypedTerm Syntax.Expression-kwargValue x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Kwarg"),- Core.projectionFieldName = (Core.Name "value")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the name field of hydra.python.syntax.Kwarg-kwargWithName :: Typed.TypedTerm Syntax.Kwarg -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Kwarg-kwargWithName original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Kwarg"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "value"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Kwarg"),- Core.projectionFieldName = (Core.Name "value")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the value field of hydra.python.syntax.Kwarg-kwargWithValue :: Typed.TypedTerm Syntax.Kwarg -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Kwarg-kwargWithValue original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Kwarg"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Kwarg"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "value"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.Lambda-lambda :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Lambda-lambda params body =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Lambda"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "params"),- Core.fieldTerm = (Typed.unTypedTerm params)},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Typed.unTypedTerm body)}]}))---- | DSL accessor for the body field of hydra.python.syntax.Lambda-lambdaBody :: Typed.TypedTerm Syntax.Lambda -> Typed.TypedTerm Syntax.Expression-lambdaBody x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Lambda"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL constructor for the hydra.python.syntax.LambdaKwds wrapper-lambdaKwds :: Typed.TypedTerm Syntax.LambdaParamNoDefault -> Typed.TypedTerm Syntax.LambdaKwds-lambdaKwds x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.LambdaKwds"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.LambdaKwds-lambdaKwdsLambdaKwds :: Typed.TypedName Syntax.LambdaKwds-lambdaKwdsLambdaKwds = Typed.TypedName (Core.Name "hydra.python.syntax.LambdaKwds")---- | DSL name token for hydra.python.syntax.Lambda-lambdaLambda :: Typed.TypedName Syntax.Lambda-lambdaLambda = Typed.TypedName (Core.Name "hydra.python.syntax.Lambda")---- | DSL constructor for hydra.python.syntax.LambdaParamMaybeDefault-lambdaParamMaybeDefault :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Default) -> Typed.TypedTerm Syntax.LambdaParamMaybeDefault-lambdaParamMaybeDefault param default_ =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.LambdaParamMaybeDefault"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "param"),- Core.fieldTerm = (Typed.unTypedTerm param)},- Core.Field {- Core.fieldName = (Core.Name "default"),- Core.fieldTerm = (Typed.unTypedTerm default_)}]}))---- | DSL accessor for the default field of hydra.python.syntax.LambdaParamMaybeDefault-lambdaParamMaybeDefaultDefault :: Typed.TypedTerm Syntax.LambdaParamMaybeDefault -> Typed.TypedTerm (Maybe Syntax.Default)-lambdaParamMaybeDefaultDefault x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParamMaybeDefault"),- Core.projectionFieldName = (Core.Name "default")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.LambdaParamMaybeDefault-lambdaParamMaybeDefaultLambdaParamMaybeDefault :: Typed.TypedName Syntax.LambdaParamMaybeDefault-lambdaParamMaybeDefaultLambdaParamMaybeDefault = Typed.TypedName (Core.Name "hydra.python.syntax.LambdaParamMaybeDefault")---- | DSL accessor for the param field of hydra.python.syntax.LambdaParamMaybeDefault-lambdaParamMaybeDefaultParam :: Typed.TypedTerm Syntax.LambdaParamMaybeDefault -> Typed.TypedTerm Syntax.Name-lambdaParamMaybeDefaultParam x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParamMaybeDefault"),- Core.projectionFieldName = (Core.Name "param")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the default field of hydra.python.syntax.LambdaParamMaybeDefault-lambdaParamMaybeDefaultWithDefault :: Typed.TypedTerm Syntax.LambdaParamMaybeDefault -> Typed.TypedTerm (Maybe Syntax.Default) -> Typed.TypedTerm Syntax.LambdaParamMaybeDefault-lambdaParamMaybeDefaultWithDefault original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.LambdaParamMaybeDefault"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "param"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParamMaybeDefault"),- Core.projectionFieldName = (Core.Name "param")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "default"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the param field of hydra.python.syntax.LambdaParamMaybeDefault-lambdaParamMaybeDefaultWithParam :: Typed.TypedTerm Syntax.LambdaParamMaybeDefault -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.LambdaParamMaybeDefault-lambdaParamMaybeDefaultWithParam original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.LambdaParamMaybeDefault"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "param"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "default"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParamMaybeDefault"),- Core.projectionFieldName = (Core.Name "default")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for the hydra.python.syntax.LambdaParamNoDefault wrapper-lambdaParamNoDefault :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.LambdaParamNoDefault-lambdaParamNoDefault x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.LambdaParamNoDefault"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.LambdaParamNoDefault-lambdaParamNoDefaultLambdaParamNoDefault :: Typed.TypedName Syntax.LambdaParamNoDefault-lambdaParamNoDefaultLambdaParamNoDefault = Typed.TypedName (Core.Name "hydra.python.syntax.LambdaParamNoDefault")---- | DSL constructor for hydra.python.syntax.LambdaParamWithDefault-lambdaParamWithDefault :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Default) -> Typed.TypedTerm Syntax.LambdaParamWithDefault-lambdaParamWithDefault param default_ =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.LambdaParamWithDefault"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "param"),- Core.fieldTerm = (Typed.unTypedTerm param)},- Core.Field {- Core.fieldName = (Core.Name "default"),- Core.fieldTerm = (Typed.unTypedTerm default_)}]}))---- | DSL accessor for the default field of hydra.python.syntax.LambdaParamWithDefault-lambdaParamWithDefaultDefault :: Typed.TypedTerm Syntax.LambdaParamWithDefault -> Typed.TypedTerm (Maybe Syntax.Default)-lambdaParamWithDefaultDefault x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParamWithDefault"),- Core.projectionFieldName = (Core.Name "default")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.LambdaParamWithDefault-lambdaParamWithDefaultLambdaParamWithDefault :: Typed.TypedName Syntax.LambdaParamWithDefault-lambdaParamWithDefaultLambdaParamWithDefault = Typed.TypedName (Core.Name "hydra.python.syntax.LambdaParamWithDefault")---- | DSL accessor for the param field of hydra.python.syntax.LambdaParamWithDefault-lambdaParamWithDefaultParam :: Typed.TypedTerm Syntax.LambdaParamWithDefault -> Typed.TypedTerm Syntax.Name-lambdaParamWithDefaultParam x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParamWithDefault"),- Core.projectionFieldName = (Core.Name "param")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the default field of hydra.python.syntax.LambdaParamWithDefault-lambdaParamWithDefaultWithDefault :: Typed.TypedTerm Syntax.LambdaParamWithDefault -> Typed.TypedTerm (Maybe Syntax.Default) -> Typed.TypedTerm Syntax.LambdaParamWithDefault-lambdaParamWithDefaultWithDefault original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.LambdaParamWithDefault"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "param"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParamWithDefault"),- Core.projectionFieldName = (Core.Name "param")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "default"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the param field of hydra.python.syntax.LambdaParamWithDefault-lambdaParamWithDefaultWithParam :: Typed.TypedTerm Syntax.LambdaParamWithDefault -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.LambdaParamWithDefault-lambdaParamWithDefaultWithParam original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.LambdaParamWithDefault"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "param"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "default"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParamWithDefault"),- Core.projectionFieldName = (Core.Name "default")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for hydra.python.syntax.LambdaParameters-lambdaParameters :: Typed.TypedTerm (Maybe Syntax.LambdaSlashNoDefault) -> Typed.TypedTerm [Syntax.LambdaParamNoDefault] -> Typed.TypedTerm [Syntax.LambdaParamWithDefault] -> Typed.TypedTerm (Maybe Syntax.LambdaStarEtc) -> Typed.TypedTerm Syntax.LambdaParameters-lambdaParameters slashNoDefault paramNoDefault paramWithDefault starEtc =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "slashNoDefault"),- Core.fieldTerm = (Typed.unTypedTerm slashNoDefault)},- Core.Field {- Core.fieldName = (Core.Name "paramNoDefault"),- Core.fieldTerm = (Typed.unTypedTerm paramNoDefault)},- Core.Field {- Core.fieldName = (Core.Name "paramWithDefault"),- Core.fieldTerm = (Typed.unTypedTerm paramWithDefault)},- Core.Field {- Core.fieldName = (Core.Name "starEtc"),- Core.fieldTerm = (Typed.unTypedTerm starEtc)}]}))---- | DSL name token for hydra.python.syntax.LambdaParameters-lambdaParametersLambdaParameters :: Typed.TypedName Syntax.LambdaParameters-lambdaParametersLambdaParameters = Typed.TypedName (Core.Name "hydra.python.syntax.LambdaParameters")---- | DSL accessor for the paramNoDefault field of hydra.python.syntax.LambdaParameters-lambdaParametersParamNoDefault :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm [Syntax.LambdaParamNoDefault]-lambdaParametersParamNoDefault x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),- Core.projectionFieldName = (Core.Name "paramNoDefault")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the paramWithDefault field of hydra.python.syntax.LambdaParameters-lambdaParametersParamWithDefault :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm [Syntax.LambdaParamWithDefault]-lambdaParametersParamWithDefault x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),- Core.projectionFieldName = (Core.Name "paramWithDefault")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the slashNoDefault field of hydra.python.syntax.LambdaParameters-lambdaParametersSlashNoDefault :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm (Maybe Syntax.LambdaSlashNoDefault)-lambdaParametersSlashNoDefault x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),- Core.projectionFieldName = (Core.Name "slashNoDefault")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the starEtc field of hydra.python.syntax.LambdaParameters-lambdaParametersStarEtc :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm (Maybe Syntax.LambdaStarEtc)-lambdaParametersStarEtc x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),- Core.projectionFieldName = (Core.Name "starEtc")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the paramNoDefault field of hydra.python.syntax.LambdaParameters-lambdaParametersWithParamNoDefault :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm [Syntax.LambdaParamNoDefault] -> Typed.TypedTerm Syntax.LambdaParameters-lambdaParametersWithParamNoDefault original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "slashNoDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),- Core.projectionFieldName = (Core.Name "slashNoDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "paramNoDefault"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "paramWithDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),- Core.projectionFieldName = (Core.Name "paramWithDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "starEtc"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),- Core.projectionFieldName = (Core.Name "starEtc")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the paramWithDefault field of hydra.python.syntax.LambdaParameters-lambdaParametersWithParamWithDefault :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm [Syntax.LambdaParamWithDefault] -> Typed.TypedTerm Syntax.LambdaParameters-lambdaParametersWithParamWithDefault original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "slashNoDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),- Core.projectionFieldName = (Core.Name "slashNoDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "paramNoDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),- Core.projectionFieldName = (Core.Name "paramNoDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "paramWithDefault"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "starEtc"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),- Core.projectionFieldName = (Core.Name "starEtc")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the slashNoDefault field of hydra.python.syntax.LambdaParameters-lambdaParametersWithSlashNoDefault :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm (Maybe Syntax.LambdaSlashNoDefault) -> Typed.TypedTerm Syntax.LambdaParameters-lambdaParametersWithSlashNoDefault original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "slashNoDefault"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "paramNoDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),- Core.projectionFieldName = (Core.Name "paramNoDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "paramWithDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),- Core.projectionFieldName = (Core.Name "paramWithDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "starEtc"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),- Core.projectionFieldName = (Core.Name "starEtc")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the starEtc field of hydra.python.syntax.LambdaParameters-lambdaParametersWithStarEtc :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm (Maybe Syntax.LambdaStarEtc) -> Typed.TypedTerm Syntax.LambdaParameters-lambdaParametersWithStarEtc original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "slashNoDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),- Core.projectionFieldName = (Core.Name "slashNoDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "paramNoDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),- Core.projectionFieldName = (Core.Name "paramNoDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "paramWithDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),- Core.projectionFieldName = (Core.Name "paramWithDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "starEtc"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL accessor for the params field of hydra.python.syntax.Lambda-lambdaParams :: Typed.TypedTerm Syntax.Lambda -> Typed.TypedTerm Syntax.LambdaParameters-lambdaParams x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Lambda"),- Core.projectionFieldName = (Core.Name "params")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL constructor for hydra.python.syntax.LambdaSlashNoDefault-lambdaSlashNoDefault :: Typed.TypedTerm [Syntax.LambdaParamNoDefault] -> Typed.TypedTerm Syntax.LambdaSlashNoDefault-lambdaSlashNoDefault parameters =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.LambdaSlashNoDefault"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "parameters"),- Core.fieldTerm = (Typed.unTypedTerm parameters)}]}))---- | DSL name token for hydra.python.syntax.LambdaSlashNoDefault-lambdaSlashNoDefaultLambdaSlashNoDefault :: Typed.TypedName Syntax.LambdaSlashNoDefault-lambdaSlashNoDefaultLambdaSlashNoDefault = Typed.TypedName (Core.Name "hydra.python.syntax.LambdaSlashNoDefault")---- | DSL accessor for the parameters field of hydra.python.syntax.LambdaSlashNoDefault-lambdaSlashNoDefaultParameters :: Typed.TypedTerm Syntax.LambdaSlashNoDefault -> Typed.TypedTerm [Syntax.LambdaParamNoDefault]-lambdaSlashNoDefaultParameters x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaSlashNoDefault"),- Core.projectionFieldName = (Core.Name "parameters")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the parameters field of hydra.python.syntax.LambdaSlashNoDefault-lambdaSlashNoDefaultWithParameters :: Typed.TypedTerm Syntax.LambdaSlashNoDefault -> Typed.TypedTerm [Syntax.LambdaParamNoDefault] -> Typed.TypedTerm Syntax.LambdaSlashNoDefault-lambdaSlashNoDefaultWithParameters original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.LambdaSlashNoDefault"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "parameters"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.LambdaSlashWithDefault-lambdaSlashWithDefault :: Typed.TypedTerm [Syntax.LambdaParamNoDefault] -> Typed.TypedTerm [Syntax.LambdaParamWithDefault] -> Typed.TypedTerm Syntax.LambdaSlashWithDefault-lambdaSlashWithDefault paramNoDefault paramWithDefault =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.LambdaSlashWithDefault"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "paramNoDefault"),- Core.fieldTerm = (Typed.unTypedTerm paramNoDefault)},- Core.Field {- Core.fieldName = (Core.Name "paramWithDefault"),- Core.fieldTerm = (Typed.unTypedTerm paramWithDefault)}]}))---- | DSL name token for hydra.python.syntax.LambdaSlashWithDefault-lambdaSlashWithDefaultLambdaSlashWithDefault :: Typed.TypedName Syntax.LambdaSlashWithDefault-lambdaSlashWithDefaultLambdaSlashWithDefault = Typed.TypedName (Core.Name "hydra.python.syntax.LambdaSlashWithDefault")---- | DSL accessor for the paramNoDefault field of hydra.python.syntax.LambdaSlashWithDefault-lambdaSlashWithDefaultParamNoDefault :: Typed.TypedTerm Syntax.LambdaSlashWithDefault -> Typed.TypedTerm [Syntax.LambdaParamNoDefault]-lambdaSlashWithDefaultParamNoDefault x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaSlashWithDefault"),- Core.projectionFieldName = (Core.Name "paramNoDefault")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the paramWithDefault field of hydra.python.syntax.LambdaSlashWithDefault-lambdaSlashWithDefaultParamWithDefault :: Typed.TypedTerm Syntax.LambdaSlashWithDefault -> Typed.TypedTerm [Syntax.LambdaParamWithDefault]-lambdaSlashWithDefaultParamWithDefault x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaSlashWithDefault"),- Core.projectionFieldName = (Core.Name "paramWithDefault")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the paramNoDefault field of hydra.python.syntax.LambdaSlashWithDefault-lambdaSlashWithDefaultWithParamNoDefault :: Typed.TypedTerm Syntax.LambdaSlashWithDefault -> Typed.TypedTerm [Syntax.LambdaParamNoDefault] -> Typed.TypedTerm Syntax.LambdaSlashWithDefault-lambdaSlashWithDefaultWithParamNoDefault original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.LambdaSlashWithDefault"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "paramNoDefault"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "paramWithDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaSlashWithDefault"),- Core.projectionFieldName = (Core.Name "paramWithDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the paramWithDefault field of hydra.python.syntax.LambdaSlashWithDefault-lambdaSlashWithDefaultWithParamWithDefault :: Typed.TypedTerm Syntax.LambdaSlashWithDefault -> Typed.TypedTerm [Syntax.LambdaParamWithDefault] -> Typed.TypedTerm Syntax.LambdaSlashWithDefault-lambdaSlashWithDefaultWithParamWithDefault original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.LambdaSlashWithDefault"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "paramNoDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaSlashWithDefault"),- Core.projectionFieldName = (Core.Name "paramNoDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "paramWithDefault"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL injection for the kwds variant of hydra.python.syntax.LambdaStarEtc-lambdaStarEtcKwds :: Typed.TypedTerm Syntax.LambdaKwds -> Typed.TypedTerm Syntax.LambdaStarEtc-lambdaStarEtcKwds x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.LambdaStarEtc"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "kwds"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.LambdaStarEtc-lambdaStarEtcLambdaStarEtc :: Typed.TypedName Syntax.LambdaStarEtc-lambdaStarEtcLambdaStarEtc = Typed.TypedName (Core.Name "hydra.python.syntax.LambdaStarEtc")---- | DSL injection for the paramMaybeDefault variant of hydra.python.syntax.LambdaStarEtc-lambdaStarEtcParamMaybeDefault :: Typed.TypedTerm [Syntax.LambdaParamMaybeDefault] -> Typed.TypedTerm Syntax.LambdaStarEtc-lambdaStarEtcParamMaybeDefault x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.LambdaStarEtc"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "paramMaybeDefault"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the paramNoDefault variant of hydra.python.syntax.LambdaStarEtc-lambdaStarEtcParamNoDefault :: Typed.TypedTerm Syntax.LambdaParamNoDefault -> Typed.TypedTerm Syntax.LambdaStarEtc-lambdaStarEtcParamNoDefault x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.LambdaStarEtc"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "paramNoDefault"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the star variant of hydra.python.syntax.LambdaStarEtc-lambdaStarEtcStar :: Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.LambdaStarEtc-lambdaStarEtcStar x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.LambdaStarEtc"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "star"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL updater for the body field of hydra.python.syntax.Lambda-lambdaWithBody :: Typed.TypedTerm Syntax.Lambda -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Lambda-lambdaWithBody original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Lambda"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "params"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Lambda"),- Core.projectionFieldName = (Core.Name "params")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the params field of hydra.python.syntax.Lambda-lambdaWithParams :: Typed.TypedTerm Syntax.Lambda -> Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm Syntax.Lambda-lambdaWithParams original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Lambda"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "params"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Lambda"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for the hydra.python.syntax.List wrapper-list :: Typed.TypedTerm [Syntax.StarNamedExpression] -> Typed.TypedTerm Syntax.List-list x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.List"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.List-listList :: Typed.TypedName Syntax.List-listList = Typed.TypedName (Core.Name "hydra.python.syntax.List")---- | DSL constructor for hydra.python.syntax.Listcomp-listcomp :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm Syntax.Listcomp-listcomp expression forIfClauses =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Listcomp"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Typed.unTypedTerm expression)},- Core.Field {- Core.fieldName = (Core.Name "forIfClauses"),- Core.fieldTerm = (Typed.unTypedTerm forIfClauses)}]}))---- | DSL accessor for the expression field of hydra.python.syntax.Listcomp-listcompExpression :: Typed.TypedTerm Syntax.Listcomp -> Typed.TypedTerm Syntax.NamedExpression-listcompExpression x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Listcomp"),- Core.projectionFieldName = (Core.Name "expression")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the forIfClauses field of hydra.python.syntax.Listcomp-listcompForIfClauses :: Typed.TypedTerm Syntax.Listcomp -> Typed.TypedTerm Syntax.ForIfClauses-listcompForIfClauses x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Listcomp"),- Core.projectionFieldName = (Core.Name "forIfClauses")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Listcomp-listcompListcomp :: Typed.TypedName Syntax.Listcomp-listcompListcomp = Typed.TypedName (Core.Name "hydra.python.syntax.Listcomp")---- | DSL updater for the expression field of hydra.python.syntax.Listcomp-listcompWithExpression :: Typed.TypedTerm Syntax.Listcomp -> Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.Listcomp-listcompWithExpression original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Listcomp"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "forIfClauses"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Listcomp"),- Core.projectionFieldName = (Core.Name "forIfClauses")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the forIfClauses field of hydra.python.syntax.Listcomp-listcompWithForIfClauses :: Typed.TypedTerm Syntax.Listcomp -> Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm Syntax.Listcomp-listcompWithForIfClauses original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Listcomp"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Listcomp"),- Core.projectionFieldName = (Core.Name "expression")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "forIfClauses"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL injection for the complex variant of hydra.python.syntax.LiteralExpression-literalExpressionComplex :: Typed.TypedTerm Syntax.ComplexNumber -> Typed.TypedTerm Syntax.LiteralExpression-literalExpressionComplex x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.LiteralExpression"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "complex"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the false variant of hydra.python.syntax.LiteralExpression-literalExpressionFalse :: Typed.TypedTerm Syntax.LiteralExpression-literalExpressionFalse =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.LiteralExpression"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "false"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL name token for hydra.python.syntax.LiteralExpression-literalExpressionLiteralExpression :: Typed.TypedName Syntax.LiteralExpression-literalExpressionLiteralExpression = Typed.TypedName (Core.Name "hydra.python.syntax.LiteralExpression")---- | DSL injection for the none variant of hydra.python.syntax.LiteralExpression-literalExpressionNone :: Typed.TypedTerm Syntax.LiteralExpression-literalExpressionNone =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.LiteralExpression"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "none"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the number variant of hydra.python.syntax.LiteralExpression-literalExpressionNumber :: Typed.TypedTerm Syntax.SignedNumber -> Typed.TypedTerm Syntax.LiteralExpression-literalExpressionNumber x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.LiteralExpression"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "number"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the attribute variant of hydra.python.syntax.LiteralExpressionOrAttribute-literalExpressionOrAttributeAttribute :: Typed.TypedTerm Syntax.Attribute -> Typed.TypedTerm Syntax.LiteralExpressionOrAttribute-literalExpressionOrAttributeAttribute x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.LiteralExpressionOrAttribute"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "attribute"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the literal variant of hydra.python.syntax.LiteralExpressionOrAttribute-literalExpressionOrAttributeLiteral :: Typed.TypedTerm Syntax.LiteralExpression -> Typed.TypedTerm Syntax.LiteralExpressionOrAttribute-literalExpressionOrAttributeLiteral x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.LiteralExpressionOrAttribute"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "literal"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.LiteralExpressionOrAttribute-literalExpressionOrAttributeLiteralExpressionOrAttribute :: Typed.TypedName Syntax.LiteralExpressionOrAttribute-literalExpressionOrAttributeLiteralExpressionOrAttribute =- Typed.TypedName (Core.Name "hydra.python.syntax.LiteralExpressionOrAttribute")---- | DSL injection for the string variant of hydra.python.syntax.LiteralExpression-literalExpressionString :: Typed.TypedTerm Syntax.String_ -> Typed.TypedTerm Syntax.LiteralExpression-literalExpressionString x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.LiteralExpression"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "string"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the true variant of hydra.python.syntax.LiteralExpression-literalExpressionTrue :: Typed.TypedTerm Syntax.LiteralExpression-literalExpressionTrue =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.LiteralExpression"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "true"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL constructor for hydra.python.syntax.MappingPattern-mappingPattern :: Typed.TypedTerm (Maybe Syntax.ItemsPattern) -> Typed.TypedTerm (Maybe Syntax.DoubleStarPattern) -> Typed.TypedTerm Syntax.MappingPattern-mappingPattern items doubleStar =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.MappingPattern"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "items"),- Core.fieldTerm = (Typed.unTypedTerm items)},- Core.Field {- Core.fieldName = (Core.Name "doubleStar"),- Core.fieldTerm = (Typed.unTypedTerm doubleStar)}]}))---- | DSL accessor for the doubleStar field of hydra.python.syntax.MappingPattern-mappingPatternDoubleStar :: Typed.TypedTerm Syntax.MappingPattern -> Typed.TypedTerm (Maybe Syntax.DoubleStarPattern)-mappingPatternDoubleStar x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.MappingPattern"),- Core.projectionFieldName = (Core.Name "doubleStar")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the items field of hydra.python.syntax.MappingPattern-mappingPatternItems :: Typed.TypedTerm Syntax.MappingPattern -> Typed.TypedTerm (Maybe Syntax.ItemsPattern)-mappingPatternItems x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.MappingPattern"),- Core.projectionFieldName = (Core.Name "items")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.MappingPattern-mappingPatternMappingPattern :: Typed.TypedName Syntax.MappingPattern-mappingPatternMappingPattern = Typed.TypedName (Core.Name "hydra.python.syntax.MappingPattern")---- | DSL updater for the doubleStar field of hydra.python.syntax.MappingPattern-mappingPatternWithDoubleStar :: Typed.TypedTerm Syntax.MappingPattern -> Typed.TypedTerm (Maybe Syntax.DoubleStarPattern) -> Typed.TypedTerm Syntax.MappingPattern-mappingPatternWithDoubleStar original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.MappingPattern"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "items"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.MappingPattern"),- Core.projectionFieldName = (Core.Name "items")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "doubleStar"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the items field of hydra.python.syntax.MappingPattern-mappingPatternWithItems :: Typed.TypedTerm Syntax.MappingPattern -> Typed.TypedTerm (Maybe Syntax.ItemsPattern) -> Typed.TypedTerm Syntax.MappingPattern-mappingPatternWithItems original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.MappingPattern"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "items"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "doubleStar"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.MappingPattern"),- Core.projectionFieldName = (Core.Name "doubleStar")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for hydra.python.syntax.MatchStatement-matchStatement :: Typed.TypedTerm Syntax.SubjectExpression -> Typed.TypedTerm [Syntax.CaseBlock] -> Typed.TypedTerm Syntax.MatchStatement-matchStatement subject cases =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.MatchStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "subject"),- Core.fieldTerm = (Typed.unTypedTerm subject)},- Core.Field {- Core.fieldName = (Core.Name "cases"),- Core.fieldTerm = (Typed.unTypedTerm cases)}]}))---- | DSL accessor for the cases field of hydra.python.syntax.MatchStatement-matchStatementCases :: Typed.TypedTerm Syntax.MatchStatement -> Typed.TypedTerm [Syntax.CaseBlock]-matchStatementCases x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.MatchStatement"),- Core.projectionFieldName = (Core.Name "cases")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.MatchStatement-matchStatementMatchStatement :: Typed.TypedName Syntax.MatchStatement-matchStatementMatchStatement = Typed.TypedName (Core.Name "hydra.python.syntax.MatchStatement")---- | DSL accessor for the subject field of hydra.python.syntax.MatchStatement-matchStatementSubject :: Typed.TypedTerm Syntax.MatchStatement -> Typed.TypedTerm Syntax.SubjectExpression-matchStatementSubject x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.MatchStatement"),- Core.projectionFieldName = (Core.Name "subject")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the cases field of hydra.python.syntax.MatchStatement-matchStatementWithCases :: Typed.TypedTerm Syntax.MatchStatement -> Typed.TypedTerm [Syntax.CaseBlock] -> Typed.TypedTerm Syntax.MatchStatement-matchStatementWithCases original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.MatchStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "subject"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.MatchStatement"),- Core.projectionFieldName = (Core.Name "subject")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "cases"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the subject field of hydra.python.syntax.MatchStatement-matchStatementWithSubject :: Typed.TypedTerm Syntax.MatchStatement -> Typed.TypedTerm Syntax.SubjectExpression -> Typed.TypedTerm Syntax.MatchStatement-matchStatementWithSubject original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.MatchStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "subject"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "cases"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.MatchStatement"),- Core.projectionFieldName = (Core.Name "cases")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for the hydra.python.syntax.MaybeSequencePattern wrapper-maybeSequencePattern :: Typed.TypedTerm [Syntax.MaybeStarPattern] -> Typed.TypedTerm Syntax.MaybeSequencePattern-maybeSequencePattern x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.MaybeSequencePattern"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.MaybeSequencePattern-maybeSequencePatternMaybeSequencePattern :: Typed.TypedName Syntax.MaybeSequencePattern-maybeSequencePatternMaybeSequencePattern = Typed.TypedName (Core.Name "hydra.python.syntax.MaybeSequencePattern")---- | DSL name token for hydra.python.syntax.MaybeStarPattern-maybeStarPatternMaybeStarPattern :: Typed.TypedName Syntax.MaybeStarPattern-maybeStarPatternMaybeStarPattern = Typed.TypedName (Core.Name "hydra.python.syntax.MaybeStarPattern")---- | DSL injection for the pattern variant of hydra.python.syntax.MaybeStarPattern-maybeStarPatternPattern :: Typed.TypedTerm Syntax.Pattern -> Typed.TypedTerm Syntax.MaybeStarPattern-maybeStarPatternPattern x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.MaybeStarPattern"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "pattern"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the star variant of hydra.python.syntax.MaybeStarPattern-maybeStarPatternStar :: Typed.TypedTerm Syntax.StarPattern -> Typed.TypedTerm Syntax.MaybeStarPattern-maybeStarPatternStar x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.MaybeStarPattern"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "star"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for the hydra.python.syntax.Module wrapper-module_ :: Typed.TypedTerm [[Syntax.Statement]] -> Typed.TypedTerm Syntax.Module-module_ x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.Module"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Module-moduleModule :: Typed.TypedName Syntax.Module-moduleModule = Typed.TypedName (Core.Name "hydra.python.syntax.Module")---- | DSL constructor for the hydra.python.syntax.Name wrapper-name :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Name-name x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.Name"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Name-nameName :: Typed.TypedName Syntax.Name-nameName = Typed.TypedName (Core.Name "hydra.python.syntax.Name")---- | DSL constructor for the hydra.python.syntax.NameOrAttribute wrapper-nameOrAttribute :: Typed.TypedTerm [Syntax.Name] -> Typed.TypedTerm Syntax.NameOrAttribute-nameOrAttribute x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.NameOrAttribute"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.NameOrAttribute-nameOrAttributeNameOrAttribute :: Typed.TypedName Syntax.NameOrAttribute-nameOrAttributeNameOrAttribute = Typed.TypedName (Core.Name "hydra.python.syntax.NameOrAttribute")---- | DSL injection for the assignment variant of hydra.python.syntax.NamedExpression-namedExpressionAssignment :: Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.NamedExpression-namedExpressionAssignment x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.NamedExpression"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "assignment"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.NamedExpression-namedExpressionNamedExpression :: Typed.TypedName Syntax.NamedExpression-namedExpressionNamedExpression = Typed.TypedName (Core.Name "hydra.python.syntax.NamedExpression")---- | DSL injection for the simple variant of hydra.python.syntax.NamedExpression-namedExpressionSimple :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.NamedExpression-namedExpressionSimple x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.NamedExpression"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "simple"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for hydra.python.syntax.NoDefaultStarAnnotationStarEtc-noDefaultStarAnnotationStarEtc :: Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation -> Typed.TypedTerm [Syntax.ParamMaybeDefault] -> Typed.TypedTerm (Maybe Syntax.Keywords) -> Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc-noDefaultStarAnnotationStarEtc paramNoDefaultStarAnnotation paramMaybeDefault keywords =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "paramNoDefaultStarAnnotation"),- Core.fieldTerm = (Typed.unTypedTerm paramNoDefaultStarAnnotation)},- Core.Field {- Core.fieldName = (Core.Name "paramMaybeDefault"),- Core.fieldTerm = (Typed.unTypedTerm paramMaybeDefault)},- Core.Field {- Core.fieldName = (Core.Name "keywords"),- Core.fieldTerm = (Typed.unTypedTerm keywords)}]}))---- | DSL accessor for the keywords field of hydra.python.syntax.NoDefaultStarAnnotationStarEtc-noDefaultStarAnnotationStarEtcKeywords :: Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc -> Typed.TypedTerm (Maybe Syntax.Keywords)-noDefaultStarAnnotationStarEtcKeywords x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),- Core.projectionFieldName = (Core.Name "keywords")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.NoDefaultStarAnnotationStarEtc-noDefaultStarAnnotationStarEtcNoDefaultStarAnnotationStarEtc :: Typed.TypedName Syntax.NoDefaultStarAnnotationStarEtc-noDefaultStarAnnotationStarEtcNoDefaultStarAnnotationStarEtc =- Typed.TypedName (Core.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc")---- | DSL accessor for the paramMaybeDefault field of hydra.python.syntax.NoDefaultStarAnnotationStarEtc-noDefaultStarAnnotationStarEtcParamMaybeDefault :: Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc -> Typed.TypedTerm [Syntax.ParamMaybeDefault]-noDefaultStarAnnotationStarEtcParamMaybeDefault x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),- Core.projectionFieldName = (Core.Name "paramMaybeDefault")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the paramNoDefaultStarAnnotation field of hydra.python.syntax.NoDefaultStarAnnotationStarEtc-noDefaultStarAnnotationStarEtcParamNoDefaultStarAnnotation :: Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc -> Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation-noDefaultStarAnnotationStarEtcParamNoDefaultStarAnnotation x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),- Core.projectionFieldName = (Core.Name "paramNoDefaultStarAnnotation")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the keywords field of hydra.python.syntax.NoDefaultStarAnnotationStarEtc-noDefaultStarAnnotationStarEtcWithKeywords :: Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc -> Typed.TypedTerm (Maybe Syntax.Keywords) -> Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc-noDefaultStarAnnotationStarEtcWithKeywords original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "paramNoDefaultStarAnnotation"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),- Core.projectionFieldName = (Core.Name "paramNoDefaultStarAnnotation")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "paramMaybeDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),- Core.projectionFieldName = (Core.Name "paramMaybeDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "keywords"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the paramMaybeDefault field of hydra.python.syntax.NoDefaultStarAnnotationStarEtc-noDefaultStarAnnotationStarEtcWithParamMaybeDefault :: Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc -> Typed.TypedTerm [Syntax.ParamMaybeDefault] -> Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc-noDefaultStarAnnotationStarEtcWithParamMaybeDefault original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "paramNoDefaultStarAnnotation"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),- Core.projectionFieldName = (Core.Name "paramNoDefaultStarAnnotation")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "paramMaybeDefault"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "keywords"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),- Core.projectionFieldName = (Core.Name "keywords")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the paramNoDefaultStarAnnotation field of hydra.python.syntax.NoDefaultStarAnnotationStarEtc-noDefaultStarAnnotationStarEtcWithParamNoDefaultStarAnnotation :: Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc -> Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation -> Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc-noDefaultStarAnnotationStarEtcWithParamNoDefaultStarAnnotation original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "paramNoDefaultStarAnnotation"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "paramMaybeDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),- Core.projectionFieldName = (Core.Name "paramMaybeDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "keywords"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),- Core.projectionFieldName = (Core.Name "keywords")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for hydra.python.syntax.NoDefaultStarEtc-noDefaultStarEtc :: Typed.TypedTerm Syntax.ParamNoDefault -> Typed.TypedTerm [Syntax.ParamMaybeDefault] -> Typed.TypedTerm (Maybe Syntax.Keywords) -> Typed.TypedTerm Syntax.NoDefaultStarEtc-noDefaultStarEtc paramNoDefault paramMaybeDefault keywords =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarEtc"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "paramNoDefault"),- Core.fieldTerm = (Typed.unTypedTerm paramNoDefault)},- Core.Field {- Core.fieldName = (Core.Name "paramMaybeDefault"),- Core.fieldTerm = (Typed.unTypedTerm paramMaybeDefault)},- Core.Field {- Core.fieldName = (Core.Name "keywords"),- Core.fieldTerm = (Typed.unTypedTerm keywords)}]}))---- | DSL accessor for the keywords field of hydra.python.syntax.NoDefaultStarEtc-noDefaultStarEtcKeywords :: Typed.TypedTerm Syntax.NoDefaultStarEtc -> Typed.TypedTerm (Maybe Syntax.Keywords)-noDefaultStarEtcKeywords x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarEtc"),- Core.projectionFieldName = (Core.Name "keywords")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.NoDefaultStarEtc-noDefaultStarEtcNoDefaultStarEtc :: Typed.TypedName Syntax.NoDefaultStarEtc-noDefaultStarEtcNoDefaultStarEtc = Typed.TypedName (Core.Name "hydra.python.syntax.NoDefaultStarEtc")---- | DSL accessor for the paramMaybeDefault field of hydra.python.syntax.NoDefaultStarEtc-noDefaultStarEtcParamMaybeDefault :: Typed.TypedTerm Syntax.NoDefaultStarEtc -> Typed.TypedTerm [Syntax.ParamMaybeDefault]-noDefaultStarEtcParamMaybeDefault x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarEtc"),- Core.projectionFieldName = (Core.Name "paramMaybeDefault")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the paramNoDefault field of hydra.python.syntax.NoDefaultStarEtc-noDefaultStarEtcParamNoDefault :: Typed.TypedTerm Syntax.NoDefaultStarEtc -> Typed.TypedTerm Syntax.ParamNoDefault-noDefaultStarEtcParamNoDefault x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarEtc"),- Core.projectionFieldName = (Core.Name "paramNoDefault")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the keywords field of hydra.python.syntax.NoDefaultStarEtc-noDefaultStarEtcWithKeywords :: Typed.TypedTerm Syntax.NoDefaultStarEtc -> Typed.TypedTerm (Maybe Syntax.Keywords) -> Typed.TypedTerm Syntax.NoDefaultStarEtc-noDefaultStarEtcWithKeywords original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarEtc"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "paramNoDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarEtc"),- Core.projectionFieldName = (Core.Name "paramNoDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "paramMaybeDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarEtc"),- Core.projectionFieldName = (Core.Name "paramMaybeDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "keywords"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the paramMaybeDefault field of hydra.python.syntax.NoDefaultStarEtc-noDefaultStarEtcWithParamMaybeDefault :: Typed.TypedTerm Syntax.NoDefaultStarEtc -> Typed.TypedTerm [Syntax.ParamMaybeDefault] -> Typed.TypedTerm Syntax.NoDefaultStarEtc-noDefaultStarEtcWithParamMaybeDefault original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarEtc"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "paramNoDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarEtc"),- Core.projectionFieldName = (Core.Name "paramNoDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "paramMaybeDefault"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "keywords"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarEtc"),- Core.projectionFieldName = (Core.Name "keywords")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the paramNoDefault field of hydra.python.syntax.NoDefaultStarEtc-noDefaultStarEtcWithParamNoDefault :: Typed.TypedTerm Syntax.NoDefaultStarEtc -> Typed.TypedTerm Syntax.ParamNoDefault -> Typed.TypedTerm Syntax.NoDefaultStarEtc-noDefaultStarEtcWithParamNoDefault original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarEtc"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "paramNoDefault"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "paramMaybeDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarEtc"),- Core.projectionFieldName = (Core.Name "paramMaybeDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "keywords"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarEtc"),- Core.projectionFieldName = (Core.Name "keywords")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL injection for the float variant of hydra.python.syntax.Number-numberFloat :: Typed.TypedTerm Double -> Typed.TypedTerm Syntax.Number-numberFloat x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Number"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "float"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the imaginary variant of hydra.python.syntax.Number-numberImaginary :: Typed.TypedTerm Double -> Typed.TypedTerm Syntax.Number-numberImaginary x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Number"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "imaginary"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the integer variant of hydra.python.syntax.Number-numberInteger :: Typed.TypedTerm Integer -> Typed.TypedTerm Syntax.Number-numberInteger x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Number"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "integer"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.Number-numberNumber :: Typed.TypedName Syntax.Number-numberNumber = Typed.TypedName (Core.Name "hydra.python.syntax.Number")---- | DSL constructor for hydra.python.syntax.OpenSequencePattern-openSequencePattern :: Typed.TypedTerm Syntax.MaybeStarPattern -> Typed.TypedTerm (Maybe Syntax.MaybeSequencePattern) -> Typed.TypedTerm Syntax.OpenSequencePattern-openSequencePattern head tail =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.OpenSequencePattern"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "head"),- Core.fieldTerm = (Typed.unTypedTerm head)},- Core.Field {- Core.fieldName = (Core.Name "tail"),- Core.fieldTerm = (Typed.unTypedTerm tail)}]}))---- | DSL accessor for the head field of hydra.python.syntax.OpenSequencePattern-openSequencePatternHead :: Typed.TypedTerm Syntax.OpenSequencePattern -> Typed.TypedTerm Syntax.MaybeStarPattern-openSequencePatternHead x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.OpenSequencePattern"),- Core.projectionFieldName = (Core.Name "head")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.OpenSequencePattern-openSequencePatternOpenSequencePattern :: Typed.TypedName Syntax.OpenSequencePattern-openSequencePatternOpenSequencePattern = Typed.TypedName (Core.Name "hydra.python.syntax.OpenSequencePattern")---- | DSL accessor for the tail field of hydra.python.syntax.OpenSequencePattern-openSequencePatternTail :: Typed.TypedTerm Syntax.OpenSequencePattern -> Typed.TypedTerm (Maybe Syntax.MaybeSequencePattern)-openSequencePatternTail x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.OpenSequencePattern"),- Core.projectionFieldName = (Core.Name "tail")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the head field of hydra.python.syntax.OpenSequencePattern-openSequencePatternWithHead :: Typed.TypedTerm Syntax.OpenSequencePattern -> Typed.TypedTerm Syntax.MaybeStarPattern -> Typed.TypedTerm Syntax.OpenSequencePattern-openSequencePatternWithHead original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.OpenSequencePattern"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "head"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "tail"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.OpenSequencePattern"),- Core.projectionFieldName = (Core.Name "tail")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the tail field of hydra.python.syntax.OpenSequencePattern-openSequencePatternWithTail :: Typed.TypedTerm Syntax.OpenSequencePattern -> Typed.TypedTerm (Maybe Syntax.MaybeSequencePattern) -> Typed.TypedTerm Syntax.OpenSequencePattern-openSequencePatternWithTail original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.OpenSequencePattern"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "head"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.OpenSequencePattern"),- Core.projectionFieldName = (Core.Name "head")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "tail"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for the hydra.python.syntax.OrPattern wrapper-orPattern :: Typed.TypedTerm [Syntax.ClosedPattern] -> Typed.TypedTerm Syntax.OrPattern-orPattern x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.OrPattern"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.OrPattern-orPatternOrPattern :: Typed.TypedName Syntax.OrPattern-orPatternOrPattern = Typed.TypedName (Core.Name "hydra.python.syntax.OrPattern")---- | DSL constructor for hydra.python.syntax.Param-param :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Annotation) -> Typed.TypedTerm Syntax.Param-param name annotation =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Param"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm name)},- Core.Field {- Core.fieldName = (Core.Name "annotation"),- Core.fieldTerm = (Typed.unTypedTerm annotation)}]}))---- | DSL accessor for the annotation field of hydra.python.syntax.Param-paramAnnotation :: Typed.TypedTerm Syntax.Param -> Typed.TypedTerm (Maybe Syntax.Annotation)-paramAnnotation x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Param"),- Core.projectionFieldName = (Core.Name "annotation")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL constructor for hydra.python.syntax.ParamMaybeDefault-paramMaybeDefault :: Typed.TypedTerm Syntax.Param -> Typed.TypedTerm (Maybe Syntax.Default) -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ParamMaybeDefault-paramMaybeDefault param default_ typeComment =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamMaybeDefault"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "param"),- Core.fieldTerm = (Typed.unTypedTerm param)},- Core.Field {- Core.fieldName = (Core.Name "default"),- Core.fieldTerm = (Typed.unTypedTerm default_)},- Core.Field {- Core.fieldName = (Core.Name "typeComment"),- Core.fieldTerm = (Typed.unTypedTerm typeComment)}]}))---- | DSL accessor for the default field of hydra.python.syntax.ParamMaybeDefault-paramMaybeDefaultDefault :: Typed.TypedTerm Syntax.ParamMaybeDefault -> Typed.TypedTerm (Maybe Syntax.Default)-paramMaybeDefaultDefault x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamMaybeDefault"),- Core.projectionFieldName = (Core.Name "default")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the param field of hydra.python.syntax.ParamMaybeDefault-paramMaybeDefaultParam :: Typed.TypedTerm Syntax.ParamMaybeDefault -> Typed.TypedTerm Syntax.Param-paramMaybeDefaultParam x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamMaybeDefault"),- Core.projectionFieldName = (Core.Name "param")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ParamMaybeDefault-paramMaybeDefaultParamMaybeDefault :: Typed.TypedName Syntax.ParamMaybeDefault-paramMaybeDefaultParamMaybeDefault = Typed.TypedName (Core.Name "hydra.python.syntax.ParamMaybeDefault")---- | DSL accessor for the typeComment field of hydra.python.syntax.ParamMaybeDefault-paramMaybeDefaultTypeComment :: Typed.TypedTerm Syntax.ParamMaybeDefault -> Typed.TypedTerm (Maybe Syntax.TypeComment)-paramMaybeDefaultTypeComment x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamMaybeDefault"),- Core.projectionFieldName = (Core.Name "typeComment")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the default field of hydra.python.syntax.ParamMaybeDefault-paramMaybeDefaultWithDefault :: Typed.TypedTerm Syntax.ParamMaybeDefault -> Typed.TypedTerm (Maybe Syntax.Default) -> Typed.TypedTerm Syntax.ParamMaybeDefault-paramMaybeDefaultWithDefault original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamMaybeDefault"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "param"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamMaybeDefault"),- Core.projectionFieldName = (Core.Name "param")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "default"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "typeComment"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamMaybeDefault"),- Core.projectionFieldName = (Core.Name "typeComment")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the param field of hydra.python.syntax.ParamMaybeDefault-paramMaybeDefaultWithParam :: Typed.TypedTerm Syntax.ParamMaybeDefault -> Typed.TypedTerm Syntax.Param -> Typed.TypedTerm Syntax.ParamMaybeDefault-paramMaybeDefaultWithParam original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamMaybeDefault"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "param"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "default"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamMaybeDefault"),- Core.projectionFieldName = (Core.Name "default")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeComment"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamMaybeDefault"),- Core.projectionFieldName = (Core.Name "typeComment")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the typeComment field of hydra.python.syntax.ParamMaybeDefault-paramMaybeDefaultWithTypeComment :: Typed.TypedTerm Syntax.ParamMaybeDefault -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ParamMaybeDefault-paramMaybeDefaultWithTypeComment original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamMaybeDefault"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "param"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamMaybeDefault"),- Core.projectionFieldName = (Core.Name "param")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "default"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamMaybeDefault"),- Core.projectionFieldName = (Core.Name "default")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeComment"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL accessor for the name field of hydra.python.syntax.Param-paramName :: Typed.TypedTerm Syntax.Param -> Typed.TypedTerm Syntax.Name-paramName x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Param"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL constructor for hydra.python.syntax.ParamNoDefault-paramNoDefault :: Typed.TypedTerm Syntax.Param -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ParamNoDefault-paramNoDefault param typeComment =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamNoDefault"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "param"),- Core.fieldTerm = (Typed.unTypedTerm param)},- Core.Field {- Core.fieldName = (Core.Name "typeComment"),- Core.fieldTerm = (Typed.unTypedTerm typeComment)}]}))---- | DSL accessor for the param field of hydra.python.syntax.ParamNoDefault-paramNoDefaultParam :: Typed.TypedTerm Syntax.ParamNoDefault -> Typed.TypedTerm Syntax.Param-paramNoDefaultParam x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefault"),- Core.projectionFieldName = (Core.Name "param")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ParamNoDefault-paramNoDefaultParamNoDefault :: Typed.TypedName Syntax.ParamNoDefault-paramNoDefaultParamNoDefault = Typed.TypedName (Core.Name "hydra.python.syntax.ParamNoDefault")---- | DSL constructor for hydra.python.syntax.ParamNoDefaultParameters-paramNoDefaultParameters :: Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm (Maybe Syntax.StarEtc) -> Typed.TypedTerm Syntax.ParamNoDefaultParameters-paramNoDefaultParameters paramNoDefault paramWithDefault starEtc =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultParameters"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "paramNoDefault"),- Core.fieldTerm = (Typed.unTypedTerm paramNoDefault)},- Core.Field {- Core.fieldName = (Core.Name "paramWithDefault"),- Core.fieldTerm = (Typed.unTypedTerm paramWithDefault)},- Core.Field {- Core.fieldName = (Core.Name "starEtc"),- Core.fieldTerm = (Typed.unTypedTerm starEtc)}]}))---- | DSL accessor for the paramNoDefault field of hydra.python.syntax.ParamNoDefaultParameters-paramNoDefaultParametersParamNoDefault :: Typed.TypedTerm Syntax.ParamNoDefaultParameters -> Typed.TypedTerm [Syntax.ParamNoDefault]-paramNoDefaultParametersParamNoDefault x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultParameters"),- Core.projectionFieldName = (Core.Name "paramNoDefault")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ParamNoDefaultParameters-paramNoDefaultParametersParamNoDefaultParameters :: Typed.TypedName Syntax.ParamNoDefaultParameters-paramNoDefaultParametersParamNoDefaultParameters =- Typed.TypedName (Core.Name "hydra.python.syntax.ParamNoDefaultParameters")---- | DSL accessor for the paramWithDefault field of hydra.python.syntax.ParamNoDefaultParameters-paramNoDefaultParametersParamWithDefault :: Typed.TypedTerm Syntax.ParamNoDefaultParameters -> Typed.TypedTerm [Syntax.ParamWithDefault]-paramNoDefaultParametersParamWithDefault x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultParameters"),- Core.projectionFieldName = (Core.Name "paramWithDefault")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the starEtc field of hydra.python.syntax.ParamNoDefaultParameters-paramNoDefaultParametersStarEtc :: Typed.TypedTerm Syntax.ParamNoDefaultParameters -> Typed.TypedTerm (Maybe Syntax.StarEtc)-paramNoDefaultParametersStarEtc x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultParameters"),- Core.projectionFieldName = (Core.Name "starEtc")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the paramNoDefault field of hydra.python.syntax.ParamNoDefaultParameters-paramNoDefaultParametersWithParamNoDefault :: Typed.TypedTerm Syntax.ParamNoDefaultParameters -> Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm Syntax.ParamNoDefaultParameters-paramNoDefaultParametersWithParamNoDefault original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultParameters"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "paramNoDefault"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "paramWithDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultParameters"),- Core.projectionFieldName = (Core.Name "paramWithDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "starEtc"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultParameters"),- Core.projectionFieldName = (Core.Name "starEtc")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the paramWithDefault field of hydra.python.syntax.ParamNoDefaultParameters-paramNoDefaultParametersWithParamWithDefault :: Typed.TypedTerm Syntax.ParamNoDefaultParameters -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm Syntax.ParamNoDefaultParameters-paramNoDefaultParametersWithParamWithDefault original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultParameters"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "paramNoDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultParameters"),- Core.projectionFieldName = (Core.Name "paramNoDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "paramWithDefault"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "starEtc"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultParameters"),- Core.projectionFieldName = (Core.Name "starEtc")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the starEtc field of hydra.python.syntax.ParamNoDefaultParameters-paramNoDefaultParametersWithStarEtc :: Typed.TypedTerm Syntax.ParamNoDefaultParameters -> Typed.TypedTerm (Maybe Syntax.StarEtc) -> Typed.TypedTerm Syntax.ParamNoDefaultParameters-paramNoDefaultParametersWithStarEtc original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultParameters"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "paramNoDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultParameters"),- Core.projectionFieldName = (Core.Name "paramNoDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "paramWithDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultParameters"),- Core.projectionFieldName = (Core.Name "paramWithDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "starEtc"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.ParamNoDefaultStarAnnotation-paramNoDefaultStarAnnotation :: Typed.TypedTerm Syntax.ParamStarAnnotation -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation-paramNoDefaultStarAnnotation paramStarAnnotation typeComment =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "paramStarAnnotation"),- Core.fieldTerm = (Typed.unTypedTerm paramStarAnnotation)},- Core.Field {- Core.fieldName = (Core.Name "typeComment"),- Core.fieldTerm = (Typed.unTypedTerm typeComment)}]}))---- | DSL name token for hydra.python.syntax.ParamNoDefaultStarAnnotation-paramNoDefaultStarAnnotationParamNoDefaultStarAnnotation :: Typed.TypedName Syntax.ParamNoDefaultStarAnnotation-paramNoDefaultStarAnnotationParamNoDefaultStarAnnotation =- Typed.TypedName (Core.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation")---- | DSL accessor for the paramStarAnnotation field of hydra.python.syntax.ParamNoDefaultStarAnnotation-paramNoDefaultStarAnnotationParamStarAnnotation :: Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation -> Typed.TypedTerm Syntax.ParamStarAnnotation-paramNoDefaultStarAnnotationParamStarAnnotation x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation"),- Core.projectionFieldName = (Core.Name "paramStarAnnotation")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the typeComment field of hydra.python.syntax.ParamNoDefaultStarAnnotation-paramNoDefaultStarAnnotationTypeComment :: Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation -> Typed.TypedTerm (Maybe Syntax.TypeComment)-paramNoDefaultStarAnnotationTypeComment x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation"),- Core.projectionFieldName = (Core.Name "typeComment")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the paramStarAnnotation field of hydra.python.syntax.ParamNoDefaultStarAnnotation-paramNoDefaultStarAnnotationWithParamStarAnnotation :: Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation -> Typed.TypedTerm Syntax.ParamStarAnnotation -> Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation-paramNoDefaultStarAnnotationWithParamStarAnnotation original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "paramStarAnnotation"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "typeComment"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation"),- Core.projectionFieldName = (Core.Name "typeComment")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the typeComment field of hydra.python.syntax.ParamNoDefaultStarAnnotation-paramNoDefaultStarAnnotationWithTypeComment :: Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation-paramNoDefaultStarAnnotationWithTypeComment original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "paramStarAnnotation"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation"),- Core.projectionFieldName = (Core.Name "paramStarAnnotation")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeComment"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL accessor for the typeComment field of hydra.python.syntax.ParamNoDefault-paramNoDefaultTypeComment :: Typed.TypedTerm Syntax.ParamNoDefault -> Typed.TypedTerm (Maybe Syntax.TypeComment)-paramNoDefaultTypeComment x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefault"),- Core.projectionFieldName = (Core.Name "typeComment")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the param field of hydra.python.syntax.ParamNoDefault-paramNoDefaultWithParam :: Typed.TypedTerm Syntax.ParamNoDefault -> Typed.TypedTerm Syntax.Param -> Typed.TypedTerm Syntax.ParamNoDefault-paramNoDefaultWithParam original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamNoDefault"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "param"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "typeComment"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefault"),- Core.projectionFieldName = (Core.Name "typeComment")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the typeComment field of hydra.python.syntax.ParamNoDefault-paramNoDefaultWithTypeComment :: Typed.TypedTerm Syntax.ParamNoDefault -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ParamNoDefault-paramNoDefaultWithTypeComment original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamNoDefault"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "param"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefault"),- Core.projectionFieldName = (Core.Name "param")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeComment"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL name token for hydra.python.syntax.Param-paramParam :: Typed.TypedName Syntax.Param-paramParam = Typed.TypedName (Core.Name "hydra.python.syntax.Param")---- | DSL constructor for hydra.python.syntax.ParamStarAnnotation-paramStarAnnotation :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.StarAnnotation -> Typed.TypedTerm Syntax.ParamStarAnnotation-paramStarAnnotation name annotation =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamStarAnnotation"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm name)},- Core.Field {- Core.fieldName = (Core.Name "annotation"),- Core.fieldTerm = (Typed.unTypedTerm annotation)}]}))---- | DSL accessor for the annotation field of hydra.python.syntax.ParamStarAnnotation-paramStarAnnotationAnnotation :: Typed.TypedTerm Syntax.ParamStarAnnotation -> Typed.TypedTerm Syntax.StarAnnotation-paramStarAnnotationAnnotation x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamStarAnnotation"),- Core.projectionFieldName = (Core.Name "annotation")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the name field of hydra.python.syntax.ParamStarAnnotation-paramStarAnnotationName :: Typed.TypedTerm Syntax.ParamStarAnnotation -> Typed.TypedTerm Syntax.Name-paramStarAnnotationName x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamStarAnnotation"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ParamStarAnnotation-paramStarAnnotationParamStarAnnotation :: Typed.TypedName Syntax.ParamStarAnnotation-paramStarAnnotationParamStarAnnotation = Typed.TypedName (Core.Name "hydra.python.syntax.ParamStarAnnotation")---- | DSL updater for the annotation field of hydra.python.syntax.ParamStarAnnotation-paramStarAnnotationWithAnnotation :: Typed.TypedTerm Syntax.ParamStarAnnotation -> Typed.TypedTerm Syntax.StarAnnotation -> Typed.TypedTerm Syntax.ParamStarAnnotation-paramStarAnnotationWithAnnotation original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamStarAnnotation"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamStarAnnotation"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "annotation"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the name field of hydra.python.syntax.ParamStarAnnotation-paramStarAnnotationWithName :: Typed.TypedTerm Syntax.ParamStarAnnotation -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.ParamStarAnnotation-paramStarAnnotationWithName original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamStarAnnotation"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "annotation"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamStarAnnotation"),- Core.projectionFieldName = (Core.Name "annotation")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the annotation field of hydra.python.syntax.Param-paramWithAnnotation :: Typed.TypedTerm Syntax.Param -> Typed.TypedTerm (Maybe Syntax.Annotation) -> Typed.TypedTerm Syntax.Param-paramWithAnnotation original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Param"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Param"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "annotation"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.ParamWithDefault-paramWithDefault :: Typed.TypedTerm Syntax.Param -> Typed.TypedTerm Syntax.Default -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ParamWithDefault-paramWithDefault param default_ typeComment =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamWithDefault"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "param"),- Core.fieldTerm = (Typed.unTypedTerm param)},- Core.Field {- Core.fieldName = (Core.Name "default"),- Core.fieldTerm = (Typed.unTypedTerm default_)},- Core.Field {- Core.fieldName = (Core.Name "typeComment"),- Core.fieldTerm = (Typed.unTypedTerm typeComment)}]}))---- | DSL accessor for the default field of hydra.python.syntax.ParamWithDefault-paramWithDefaultDefault :: Typed.TypedTerm Syntax.ParamWithDefault -> Typed.TypedTerm Syntax.Default-paramWithDefaultDefault x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamWithDefault"),- Core.projectionFieldName = (Core.Name "default")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the param field of hydra.python.syntax.ParamWithDefault-paramWithDefaultParam :: Typed.TypedTerm Syntax.ParamWithDefault -> Typed.TypedTerm Syntax.Param-paramWithDefaultParam x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamWithDefault"),- Core.projectionFieldName = (Core.Name "param")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ParamWithDefault-paramWithDefaultParamWithDefault :: Typed.TypedName Syntax.ParamWithDefault-paramWithDefaultParamWithDefault = Typed.TypedName (Core.Name "hydra.python.syntax.ParamWithDefault")---- | DSL constructor for hydra.python.syntax.ParamWithDefaultParameters-paramWithDefaultParameters :: Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm (Maybe Syntax.StarEtc) -> Typed.TypedTerm Syntax.ParamWithDefaultParameters-paramWithDefaultParameters paramWithDefault starEtc =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamWithDefaultParameters"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "paramWithDefault"),- Core.fieldTerm = (Typed.unTypedTerm paramWithDefault)},- Core.Field {- Core.fieldName = (Core.Name "starEtc"),- Core.fieldTerm = (Typed.unTypedTerm starEtc)}]}))---- | DSL accessor for the paramWithDefault field of hydra.python.syntax.ParamWithDefaultParameters-paramWithDefaultParametersParamWithDefault :: Typed.TypedTerm Syntax.ParamWithDefaultParameters -> Typed.TypedTerm [Syntax.ParamWithDefault]-paramWithDefaultParametersParamWithDefault x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamWithDefaultParameters"),- Core.projectionFieldName = (Core.Name "paramWithDefault")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ParamWithDefaultParameters-paramWithDefaultParametersParamWithDefaultParameters :: Typed.TypedName Syntax.ParamWithDefaultParameters-paramWithDefaultParametersParamWithDefaultParameters =- Typed.TypedName (Core.Name "hydra.python.syntax.ParamWithDefaultParameters")---- | DSL accessor for the starEtc field of hydra.python.syntax.ParamWithDefaultParameters-paramWithDefaultParametersStarEtc :: Typed.TypedTerm Syntax.ParamWithDefaultParameters -> Typed.TypedTerm (Maybe Syntax.StarEtc)-paramWithDefaultParametersStarEtc x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamWithDefaultParameters"),- Core.projectionFieldName = (Core.Name "starEtc")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the paramWithDefault field of hydra.python.syntax.ParamWithDefaultParameters-paramWithDefaultParametersWithParamWithDefault :: Typed.TypedTerm Syntax.ParamWithDefaultParameters -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm Syntax.ParamWithDefaultParameters-paramWithDefaultParametersWithParamWithDefault original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamWithDefaultParameters"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "paramWithDefault"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "starEtc"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamWithDefaultParameters"),- Core.projectionFieldName = (Core.Name "starEtc")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the starEtc field of hydra.python.syntax.ParamWithDefaultParameters-paramWithDefaultParametersWithStarEtc :: Typed.TypedTerm Syntax.ParamWithDefaultParameters -> Typed.TypedTerm (Maybe Syntax.StarEtc) -> Typed.TypedTerm Syntax.ParamWithDefaultParameters-paramWithDefaultParametersWithStarEtc original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamWithDefaultParameters"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "paramWithDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamWithDefaultParameters"),- Core.projectionFieldName = (Core.Name "paramWithDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "starEtc"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL accessor for the typeComment field of hydra.python.syntax.ParamWithDefault-paramWithDefaultTypeComment :: Typed.TypedTerm Syntax.ParamWithDefault -> Typed.TypedTerm (Maybe Syntax.TypeComment)-paramWithDefaultTypeComment x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamWithDefault"),- Core.projectionFieldName = (Core.Name "typeComment")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the default field of hydra.python.syntax.ParamWithDefault-paramWithDefaultWithDefault :: Typed.TypedTerm Syntax.ParamWithDefault -> Typed.TypedTerm Syntax.Default -> Typed.TypedTerm Syntax.ParamWithDefault-paramWithDefaultWithDefault original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamWithDefault"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "param"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamWithDefault"),- Core.projectionFieldName = (Core.Name "param")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "default"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "typeComment"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamWithDefault"),- Core.projectionFieldName = (Core.Name "typeComment")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the param field of hydra.python.syntax.ParamWithDefault-paramWithDefaultWithParam :: Typed.TypedTerm Syntax.ParamWithDefault -> Typed.TypedTerm Syntax.Param -> Typed.TypedTerm Syntax.ParamWithDefault-paramWithDefaultWithParam original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamWithDefault"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "param"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "default"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamWithDefault"),- Core.projectionFieldName = (Core.Name "default")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeComment"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamWithDefault"),- Core.projectionFieldName = (Core.Name "typeComment")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the typeComment field of hydra.python.syntax.ParamWithDefault-paramWithDefaultWithTypeComment :: Typed.TypedTerm Syntax.ParamWithDefault -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ParamWithDefault-paramWithDefaultWithTypeComment original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamWithDefault"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "param"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamWithDefault"),- Core.projectionFieldName = (Core.Name "param")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "default"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamWithDefault"),- Core.projectionFieldName = (Core.Name "default")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeComment"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the name field of hydra.python.syntax.Param-paramWithName :: Typed.TypedTerm Syntax.Param -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Param-paramWithName original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Param"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "annotation"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Param"),- Core.projectionFieldName = (Core.Name "annotation")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL injection for the paramNoDefault variant of hydra.python.syntax.Parameters-parametersParamNoDefault :: Typed.TypedTerm Syntax.ParamNoDefaultParameters -> Typed.TypedTerm Syntax.Parameters-parametersParamNoDefault x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Parameters"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "paramNoDefault"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the paramWithDefault variant of hydra.python.syntax.Parameters-parametersParamWithDefault :: Typed.TypedTerm Syntax.ParamWithDefaultParameters -> Typed.TypedTerm Syntax.Parameters-parametersParamWithDefault x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Parameters"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "paramWithDefault"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.Parameters-parametersParameters :: Typed.TypedName Syntax.Parameters-parametersParameters = Typed.TypedName (Core.Name "hydra.python.syntax.Parameters")---- | DSL injection for the slashNoDefault variant of hydra.python.syntax.Parameters-parametersSlashNoDefault :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm Syntax.Parameters-parametersSlashNoDefault x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Parameters"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "slashNoDefault"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the slashWithDefault variant of hydra.python.syntax.Parameters-parametersSlashWithDefault :: Typed.TypedTerm Syntax.SlashWithDefaultParameters -> Typed.TypedTerm Syntax.Parameters-parametersSlashWithDefault x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Parameters"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "slashWithDefault"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the starEtc variant of hydra.python.syntax.Parameters-parametersStarEtc :: Typed.TypedTerm Syntax.StarEtc -> Typed.TypedTerm Syntax.Parameters-parametersStarEtc x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Parameters"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "starEtc"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the as variant of hydra.python.syntax.Pattern-patternAs :: Typed.TypedTerm Syntax.AsPattern -> Typed.TypedTerm Syntax.Pattern-patternAs x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Pattern"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "as"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for the hydra.python.syntax.PatternCaptureTarget wrapper-patternCaptureTarget :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.PatternCaptureTarget-patternCaptureTarget x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.PatternCaptureTarget"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.PatternCaptureTarget-patternCaptureTargetPatternCaptureTarget :: Typed.TypedName Syntax.PatternCaptureTarget-patternCaptureTargetPatternCaptureTarget = Typed.TypedName (Core.Name "hydra.python.syntax.PatternCaptureTarget")---- | DSL injection for the or variant of hydra.python.syntax.Pattern-patternOr :: Typed.TypedTerm Syntax.OrPattern -> Typed.TypedTerm Syntax.Pattern-patternOr x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Pattern"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "or"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.Pattern-patternPattern :: Typed.TypedName Syntax.Pattern-patternPattern = Typed.TypedName (Core.Name "hydra.python.syntax.Pattern")---- | DSL injection for the pattern variant of hydra.python.syntax.Patterns-patternsPattern :: Typed.TypedTerm Syntax.Pattern -> Typed.TypedTerm Syntax.Patterns-patternsPattern x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Patterns"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "pattern"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.Patterns-patternsPatterns :: Typed.TypedName Syntax.Patterns-patternsPatterns = Typed.TypedName (Core.Name "hydra.python.syntax.Patterns")---- | DSL injection for the sequence variant of hydra.python.syntax.Patterns-patternsSequence :: Typed.TypedTerm Syntax.OpenSequencePattern -> Typed.TypedTerm Syntax.Patterns-patternsSequence x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Patterns"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "sequence"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the minus variant of hydra.python.syntax.PlusOrMinus-plusOrMinusMinus :: Typed.TypedTerm Syntax.PlusOrMinus-plusOrMinusMinus =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.PlusOrMinus"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "minus"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the plus variant of hydra.python.syntax.PlusOrMinus-plusOrMinusPlus :: Typed.TypedTerm Syntax.PlusOrMinus-plusOrMinusPlus =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.PlusOrMinus"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "plus"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL name token for hydra.python.syntax.PlusOrMinus-plusOrMinusPlusOrMinus :: Typed.TypedName Syntax.PlusOrMinus-plusOrMinusPlusOrMinus = Typed.TypedName (Core.Name "hydra.python.syntax.PlusOrMinus")---- | DSL injection for the assignment variant of hydra.python.syntax.PosArg-posArgAssignment :: Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.PosArg-posArgAssignment x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.PosArg"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "assignment"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the expression variant of hydra.python.syntax.PosArg-posArgExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.PosArg-posArgExpression x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.PosArg"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.PosArg-posArgPosArg :: Typed.TypedName Syntax.PosArg-posArgPosArg = Typed.TypedName (Core.Name "hydra.python.syntax.PosArg")---- | DSL injection for the starred variant of hydra.python.syntax.PosArg-posArgStarred :: Typed.TypedTerm Syntax.StarredExpression -> Typed.TypedTerm Syntax.PosArg-posArgStarred x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.PosArg"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "starred"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for the hydra.python.syntax.PositionalPatterns wrapper-positionalPatterns :: Typed.TypedTerm [Syntax.Pattern] -> Typed.TypedTerm Syntax.PositionalPatterns-positionalPatterns x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.PositionalPatterns"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.PositionalPatterns-positionalPatternsPositionalPatterns :: Typed.TypedName Syntax.PositionalPatterns-positionalPatternsPositionalPatterns = Typed.TypedName (Core.Name "hydra.python.syntax.PositionalPatterns")---- | DSL constructor for hydra.python.syntax.Power-power :: Typed.TypedTerm Syntax.AwaitPrimary -> Typed.TypedTerm (Maybe Syntax.Factor) -> Typed.TypedTerm Syntax.Power-power lhs rhs =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Power"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "lhs"),- Core.fieldTerm = (Typed.unTypedTerm lhs)},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Typed.unTypedTerm rhs)}]}))---- | DSL accessor for the lhs field of hydra.python.syntax.Power-powerLhs :: Typed.TypedTerm Syntax.Power -> Typed.TypedTerm Syntax.AwaitPrimary-powerLhs x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Power"),- Core.projectionFieldName = (Core.Name "lhs")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Power-powerPower :: Typed.TypedName Syntax.Power-powerPower = Typed.TypedName (Core.Name "hydra.python.syntax.Power")---- | DSL accessor for the rhs field of hydra.python.syntax.Power-powerRhs :: Typed.TypedTerm Syntax.Power -> Typed.TypedTerm (Maybe Syntax.Factor)-powerRhs x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Power"),- Core.projectionFieldName = (Core.Name "rhs")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the lhs field of hydra.python.syntax.Power-powerWithLhs :: Typed.TypedTerm Syntax.Power -> Typed.TypedTerm Syntax.AwaitPrimary -> Typed.TypedTerm Syntax.Power-powerWithLhs original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Power"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "lhs"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Power"),- Core.projectionFieldName = (Core.Name "rhs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the rhs field of hydra.python.syntax.Power-powerWithRhs :: Typed.TypedTerm Syntax.Power -> Typed.TypedTerm (Maybe Syntax.Factor) -> Typed.TypedTerm Syntax.Power-powerWithRhs original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Power"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "lhs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Power"),- Core.projectionFieldName = (Core.Name "lhs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL injection for the compound variant of hydra.python.syntax.Primary-primaryCompound :: Typed.TypedTerm Syntax.PrimaryWithRhs -> Typed.TypedTerm Syntax.Primary-primaryCompound x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Primary"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "compound"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.Primary-primaryPrimary :: Typed.TypedName Syntax.Primary-primaryPrimary = Typed.TypedName (Core.Name "hydra.python.syntax.Primary")---- | DSL injection for the call variant of hydra.python.syntax.PrimaryRhs-primaryRhsCall :: Typed.TypedTerm Syntax.Args -> Typed.TypedTerm Syntax.PrimaryRhs-primaryRhsCall x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.PrimaryRhs"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "call"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the genexp variant of hydra.python.syntax.PrimaryRhs-primaryRhsGenexp :: Typed.TypedTerm Syntax.Genexp -> Typed.TypedTerm Syntax.PrimaryRhs-primaryRhsGenexp x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.PrimaryRhs"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "genexp"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.PrimaryRhs-primaryRhsPrimaryRhs :: Typed.TypedName Syntax.PrimaryRhs-primaryRhsPrimaryRhs = Typed.TypedName (Core.Name "hydra.python.syntax.PrimaryRhs")---- | DSL injection for the project variant of hydra.python.syntax.PrimaryRhs-primaryRhsProject :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.PrimaryRhs-primaryRhsProject x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.PrimaryRhs"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "project"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the slices variant of hydra.python.syntax.PrimaryRhs-primaryRhsSlices :: Typed.TypedTerm Syntax.Slices -> Typed.TypedTerm Syntax.PrimaryRhs-primaryRhsSlices x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.PrimaryRhs"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "slices"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the simple variant of hydra.python.syntax.Primary-primarySimple :: Typed.TypedTerm Syntax.Atom -> Typed.TypedTerm Syntax.Primary-primarySimple x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Primary"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "simple"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for hydra.python.syntax.PrimaryWithRhs-primaryWithRhs :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.PrimaryRhs -> Typed.TypedTerm Syntax.PrimaryWithRhs-primaryWithRhs primary rhs =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.PrimaryWithRhs"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "primary"),- Core.fieldTerm = (Typed.unTypedTerm primary)},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Typed.unTypedTerm rhs)}]}))---- | DSL accessor for the primary field of hydra.python.syntax.PrimaryWithRhs-primaryWithRhsPrimary :: Typed.TypedTerm Syntax.PrimaryWithRhs -> Typed.TypedTerm Syntax.Primary-primaryWithRhsPrimary x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.PrimaryWithRhs"),- Core.projectionFieldName = (Core.Name "primary")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.PrimaryWithRhs-primaryWithRhsPrimaryWithRhs :: Typed.TypedName Syntax.PrimaryWithRhs-primaryWithRhsPrimaryWithRhs = Typed.TypedName (Core.Name "hydra.python.syntax.PrimaryWithRhs")---- | DSL accessor for the rhs field of hydra.python.syntax.PrimaryWithRhs-primaryWithRhsRhs :: Typed.TypedTerm Syntax.PrimaryWithRhs -> Typed.TypedTerm Syntax.PrimaryRhs-primaryWithRhsRhs x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.PrimaryWithRhs"),- Core.projectionFieldName = (Core.Name "rhs")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the primary field of hydra.python.syntax.PrimaryWithRhs-primaryWithRhsWithPrimary :: Typed.TypedTerm Syntax.PrimaryWithRhs -> Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.PrimaryWithRhs-primaryWithRhsWithPrimary original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.PrimaryWithRhs"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "primary"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.PrimaryWithRhs"),- Core.projectionFieldName = (Core.Name "rhs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the rhs field of hydra.python.syntax.PrimaryWithRhs-primaryWithRhsWithRhs :: Typed.TypedTerm Syntax.PrimaryWithRhs -> Typed.TypedTerm Syntax.PrimaryRhs -> Typed.TypedTerm Syntax.PrimaryWithRhs-primaryWithRhsWithRhs original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.PrimaryWithRhs"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "primary"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.PrimaryWithRhs"),- Core.projectionFieldName = (Core.Name "primary")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL injection for the double variant of hydra.python.syntax.QuoteStyle-quoteStyleDouble :: Typed.TypedTerm Syntax.QuoteStyle-quoteStyleDouble =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.QuoteStyle"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "double"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL name token for hydra.python.syntax.QuoteStyle-quoteStyleQuoteStyle :: Typed.TypedName Syntax.QuoteStyle-quoteStyleQuoteStyle = Typed.TypedName (Core.Name "hydra.python.syntax.QuoteStyle")---- | DSL injection for the single variant of hydra.python.syntax.QuoteStyle-quoteStyleSingle :: Typed.TypedTerm Syntax.QuoteStyle-quoteStyleSingle =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.QuoteStyle"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "single"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the tripleDouble variant of hydra.python.syntax.QuoteStyle-quoteStyleTripleDouble :: Typed.TypedTerm Syntax.QuoteStyle-quoteStyleTripleDouble =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.QuoteStyle"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "tripleDouble"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the tripleSingle variant of hydra.python.syntax.QuoteStyle-quoteStyleTripleSingle :: Typed.TypedTerm Syntax.QuoteStyle-quoteStyleTripleSingle =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.QuoteStyle"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "tripleSingle"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL constructor for hydra.python.syntax.RaiseExpression-raiseExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.RaiseExpression-raiseExpression expression from =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.RaiseExpression"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Typed.unTypedTerm expression)},- Core.Field {- Core.fieldName = (Core.Name "from"),- Core.fieldTerm = (Typed.unTypedTerm from)}]}))---- | DSL accessor for the expression field of hydra.python.syntax.RaiseExpression-raiseExpressionExpression :: Typed.TypedTerm Syntax.RaiseExpression -> Typed.TypedTerm Syntax.Expression-raiseExpressionExpression x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.RaiseExpression"),- Core.projectionFieldName = (Core.Name "expression")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the from field of hydra.python.syntax.RaiseExpression-raiseExpressionFrom :: Typed.TypedTerm Syntax.RaiseExpression -> Typed.TypedTerm (Maybe Syntax.Expression)-raiseExpressionFrom x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.RaiseExpression"),- Core.projectionFieldName = (Core.Name "from")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.RaiseExpression-raiseExpressionRaiseExpression :: Typed.TypedName Syntax.RaiseExpression-raiseExpressionRaiseExpression = Typed.TypedName (Core.Name "hydra.python.syntax.RaiseExpression")---- | DSL updater for the expression field of hydra.python.syntax.RaiseExpression-raiseExpressionWithExpression :: Typed.TypedTerm Syntax.RaiseExpression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.RaiseExpression-raiseExpressionWithExpression original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.RaiseExpression"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "from"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.RaiseExpression"),- Core.projectionFieldName = (Core.Name "from")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the from field of hydra.python.syntax.RaiseExpression-raiseExpressionWithFrom :: Typed.TypedTerm Syntax.RaiseExpression -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.RaiseExpression-raiseExpressionWithFrom original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.RaiseExpression"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.RaiseExpression"),- Core.projectionFieldName = (Core.Name "expression")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "from"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for the hydra.python.syntax.RaiseStatement wrapper-raiseStatement :: Typed.TypedTerm (Maybe Syntax.RaiseExpression) -> Typed.TypedTerm Syntax.RaiseStatement-raiseStatement x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.RaiseStatement"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.RaiseStatement-raiseStatementRaiseStatement :: Typed.TypedName Syntax.RaiseStatement-raiseStatementRaiseStatement = Typed.TypedName (Core.Name "hydra.python.syntax.RaiseStatement")---- | DSL injection for the float variant of hydra.python.syntax.RealNumber-realNumberFloat :: Typed.TypedTerm Double -> Typed.TypedTerm Syntax.RealNumber-realNumberFloat x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.RealNumber"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "float"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the integer variant of hydra.python.syntax.RealNumber-realNumberInteger :: Typed.TypedTerm Integer -> Typed.TypedTerm Syntax.RealNumber-realNumberInteger x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.RealNumber"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "integer"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.RealNumber-realNumberRealNumber :: Typed.TypedName Syntax.RealNumber-realNumberRealNumber = Typed.TypedName (Core.Name "hydra.python.syntax.RealNumber")---- | DSL injection for the dot variant of hydra.python.syntax.RelativeImportPrefix-relativeImportPrefixDot :: Typed.TypedTerm Syntax.RelativeImportPrefix-relativeImportPrefixDot =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.RelativeImportPrefix"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "dot"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the ellipsis variant of hydra.python.syntax.RelativeImportPrefix-relativeImportPrefixEllipsis :: Typed.TypedTerm Syntax.RelativeImportPrefix-relativeImportPrefixEllipsis =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.RelativeImportPrefix"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "ellipsis"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL name token for hydra.python.syntax.RelativeImportPrefix-relativeImportPrefixRelativeImportPrefix :: Typed.TypedName Syntax.RelativeImportPrefix-relativeImportPrefixRelativeImportPrefix = Typed.TypedName (Core.Name "hydra.python.syntax.RelativeImportPrefix")---- | DSL constructor for the hydra.python.syntax.ReturnStatement wrapper-returnStatement :: Typed.TypedTerm [Syntax.StarExpression] -> Typed.TypedTerm Syntax.ReturnStatement-returnStatement x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.ReturnStatement"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ReturnStatement-returnStatementReturnStatement :: Typed.TypedName Syntax.ReturnStatement-returnStatementReturnStatement = Typed.TypedName (Core.Name "hydra.python.syntax.ReturnStatement")---- | DSL injection for the list variant of hydra.python.syntax.SequencePattern-sequencePatternList :: Typed.TypedTerm (Maybe Syntax.MaybeSequencePattern) -> Typed.TypedTerm Syntax.SequencePattern-sequencePatternList x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.SequencePattern"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "list"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.SequencePattern-sequencePatternSequencePattern :: Typed.TypedName Syntax.SequencePattern-sequencePatternSequencePattern = Typed.TypedName (Core.Name "hydra.python.syntax.SequencePattern")---- | DSL injection for the tuple variant of hydra.python.syntax.SequencePattern-sequencePatternTuple :: Typed.TypedTerm (Maybe Syntax.OpenSequencePattern) -> Typed.TypedTerm Syntax.SequencePattern-sequencePatternTuple x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.SequencePattern"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "tuple"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for the hydra.python.syntax.Set wrapper-set :: Typed.TypedTerm [Syntax.StarNamedExpression] -> Typed.TypedTerm Syntax.Set-set x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.Set"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Set-setSet :: Typed.TypedName Syntax.Set-setSet = Typed.TypedName (Core.Name "hydra.python.syntax.Set")---- | DSL constructor for hydra.python.syntax.Setcomp-setcomp :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm Syntax.Setcomp-setcomp expression forIfClauses =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Setcomp"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Typed.unTypedTerm expression)},- Core.Field {- Core.fieldName = (Core.Name "forIfClauses"),- Core.fieldTerm = (Typed.unTypedTerm forIfClauses)}]}))---- | DSL accessor for the expression field of hydra.python.syntax.Setcomp-setcompExpression :: Typed.TypedTerm Syntax.Setcomp -> Typed.TypedTerm Syntax.NamedExpression-setcompExpression x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Setcomp"),- Core.projectionFieldName = (Core.Name "expression")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the forIfClauses field of hydra.python.syntax.Setcomp-setcompForIfClauses :: Typed.TypedTerm Syntax.Setcomp -> Typed.TypedTerm Syntax.ForIfClauses-setcompForIfClauses x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Setcomp"),- Core.projectionFieldName = (Core.Name "forIfClauses")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Setcomp-setcompSetcomp :: Typed.TypedName Syntax.Setcomp-setcompSetcomp = Typed.TypedName (Core.Name "hydra.python.syntax.Setcomp")---- | DSL updater for the expression field of hydra.python.syntax.Setcomp-setcompWithExpression :: Typed.TypedTerm Syntax.Setcomp -> Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.Setcomp-setcompWithExpression original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Setcomp"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "forIfClauses"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Setcomp"),- Core.projectionFieldName = (Core.Name "forIfClauses")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the forIfClauses field of hydra.python.syntax.Setcomp-setcompWithForIfClauses :: Typed.TypedTerm Syntax.Setcomp -> Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm Syntax.Setcomp-setcompWithForIfClauses original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Setcomp"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Setcomp"),- Core.projectionFieldName = (Core.Name "expression")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "forIfClauses"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.ShiftExpression-shiftExpression :: Typed.TypedTerm (Maybe Syntax.ShiftLhs) -> Typed.TypedTerm Syntax.Sum -> Typed.TypedTerm Syntax.ShiftExpression-shiftExpression lhs rhs =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ShiftExpression"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "lhs"),- Core.fieldTerm = (Typed.unTypedTerm lhs)},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Typed.unTypedTerm rhs)}]}))---- | DSL accessor for the lhs field of hydra.python.syntax.ShiftExpression-shiftExpressionLhs :: Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm (Maybe Syntax.ShiftLhs)-shiftExpressionLhs x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ShiftExpression"),- Core.projectionFieldName = (Core.Name "lhs")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the rhs field of hydra.python.syntax.ShiftExpression-shiftExpressionRhs :: Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.Sum-shiftExpressionRhs x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ShiftExpression"),- Core.projectionFieldName = (Core.Name "rhs")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ShiftExpression-shiftExpressionShiftExpression :: Typed.TypedName Syntax.ShiftExpression-shiftExpressionShiftExpression = Typed.TypedName (Core.Name "hydra.python.syntax.ShiftExpression")---- | DSL updater for the lhs field of hydra.python.syntax.ShiftExpression-shiftExpressionWithLhs :: Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm (Maybe Syntax.ShiftLhs) -> Typed.TypedTerm Syntax.ShiftExpression-shiftExpressionWithLhs original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ShiftExpression"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "lhs"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ShiftExpression"),- Core.projectionFieldName = (Core.Name "rhs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the rhs field of hydra.python.syntax.ShiftExpression-shiftExpressionWithRhs :: Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.Sum -> Typed.TypedTerm Syntax.ShiftExpression-shiftExpressionWithRhs original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ShiftExpression"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "lhs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ShiftExpression"),- Core.projectionFieldName = (Core.Name "lhs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.ShiftLhs-shiftLhs :: Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.ShiftOp -> Typed.TypedTerm Syntax.ShiftLhs-shiftLhs operand operator =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ShiftLhs"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "operand"),- Core.fieldTerm = (Typed.unTypedTerm operand)},- Core.Field {- Core.fieldName = (Core.Name "operator"),- Core.fieldTerm = (Typed.unTypedTerm operator)}]}))---- | DSL accessor for the operand field of hydra.python.syntax.ShiftLhs-shiftLhsOperand :: Typed.TypedTerm Syntax.ShiftLhs -> Typed.TypedTerm Syntax.ShiftExpression-shiftLhsOperand x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ShiftLhs"),- Core.projectionFieldName = (Core.Name "operand")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the operator field of hydra.python.syntax.ShiftLhs-shiftLhsOperator :: Typed.TypedTerm Syntax.ShiftLhs -> Typed.TypedTerm Syntax.ShiftOp-shiftLhsOperator x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ShiftLhs"),- Core.projectionFieldName = (Core.Name "operator")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ShiftLhs-shiftLhsShiftLhs :: Typed.TypedName Syntax.ShiftLhs-shiftLhsShiftLhs = Typed.TypedName (Core.Name "hydra.python.syntax.ShiftLhs")---- | DSL updater for the operand field of hydra.python.syntax.ShiftLhs-shiftLhsWithOperand :: Typed.TypedTerm Syntax.ShiftLhs -> Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.ShiftLhs-shiftLhsWithOperand original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ShiftLhs"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "operand"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "operator"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ShiftLhs"),- Core.projectionFieldName = (Core.Name "operator")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the operator field of hydra.python.syntax.ShiftLhs-shiftLhsWithOperator :: Typed.TypedTerm Syntax.ShiftLhs -> Typed.TypedTerm Syntax.ShiftOp -> Typed.TypedTerm Syntax.ShiftLhs-shiftLhsWithOperator original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.ShiftLhs"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "operand"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.ShiftLhs"),- Core.projectionFieldName = (Core.Name "operand")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "operator"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL injection for the left variant of hydra.python.syntax.ShiftOp-shiftOpLeft :: Typed.TypedTerm Syntax.ShiftOp-shiftOpLeft =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.ShiftOp"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "left"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the right variant of hydra.python.syntax.ShiftOp-shiftOpRight :: Typed.TypedTerm Syntax.ShiftOp-shiftOpRight =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.ShiftOp"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "right"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL name token for hydra.python.syntax.ShiftOp-shiftOpShiftOp :: Typed.TypedName Syntax.ShiftOp-shiftOpShiftOp = Typed.TypedName (Core.Name "hydra.python.syntax.ShiftOp")---- | DSL injection for the number variant of hydra.python.syntax.SignedNumber-signedNumberNumber :: Typed.TypedTerm Syntax.Number -> Typed.TypedTerm Syntax.SignedNumber-signedNumberNumber x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.SignedNumber"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "number"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the sign variant of hydra.python.syntax.SignedNumber-signedNumberSign :: Typed.TypedTerm Syntax.PlusOrMinus -> Typed.TypedTerm Syntax.SignedNumber-signedNumberSign x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.SignedNumber"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "sign"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.SignedNumber-signedNumberSignedNumber :: Typed.TypedName Syntax.SignedNumber-signedNumberSignedNumber = Typed.TypedName (Core.Name "hydra.python.syntax.SignedNumber")---- | DSL injection for the number variant of hydra.python.syntax.SignedRealNumber-signedRealNumberNumber :: Typed.TypedTerm Syntax.RealNumber -> Typed.TypedTerm Syntax.SignedRealNumber-signedRealNumberNumber x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.SignedRealNumber"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "number"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the sign variant of hydra.python.syntax.SignedRealNumber-signedRealNumberSign :: Typed.TypedTerm Syntax.PlusOrMinus -> Typed.TypedTerm Syntax.SignedRealNumber-signedRealNumberSign x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.SignedRealNumber"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "sign"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.SignedRealNumber-signedRealNumberSignedRealNumber :: Typed.TypedName Syntax.SignedRealNumber-signedRealNumberSignedRealNumber = Typed.TypedName (Core.Name "hydra.python.syntax.SignedRealNumber")---- | DSL injection for the assert variant of hydra.python.syntax.SimpleStatement-simpleStatementAssert :: Typed.TypedTerm Syntax.AssertStatement -> Typed.TypedTerm Syntax.SimpleStatement-simpleStatementAssert x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.SimpleStatement"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "assert"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the assignment variant of hydra.python.syntax.SimpleStatement-simpleStatementAssignment :: Typed.TypedTerm Syntax.Assignment -> Typed.TypedTerm Syntax.SimpleStatement-simpleStatementAssignment x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.SimpleStatement"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "assignment"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the break variant of hydra.python.syntax.SimpleStatement-simpleStatementBreak :: Typed.TypedTerm Syntax.SimpleStatement-simpleStatementBreak =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.SimpleStatement"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "break"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the continue variant of hydra.python.syntax.SimpleStatement-simpleStatementContinue :: Typed.TypedTerm Syntax.SimpleStatement-simpleStatementContinue =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.SimpleStatement"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "continue"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the del variant of hydra.python.syntax.SimpleStatement-simpleStatementDel :: Typed.TypedTerm Syntax.DelStatement -> Typed.TypedTerm Syntax.SimpleStatement-simpleStatementDel x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.SimpleStatement"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "del"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the global variant of hydra.python.syntax.SimpleStatement-simpleStatementGlobal :: Typed.TypedTerm [Syntax.Name] -> Typed.TypedTerm Syntax.SimpleStatement-simpleStatementGlobal x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.SimpleStatement"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "global"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the import variant of hydra.python.syntax.SimpleStatement-simpleStatementImport :: Typed.TypedTerm Syntax.ImportStatement -> Typed.TypedTerm Syntax.SimpleStatement-simpleStatementImport x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.SimpleStatement"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "import"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the nonlocal variant of hydra.python.syntax.SimpleStatement-simpleStatementNonlocal :: Typed.TypedTerm [Syntax.Name] -> Typed.TypedTerm Syntax.SimpleStatement-simpleStatementNonlocal x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.SimpleStatement"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "nonlocal"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the pass variant of hydra.python.syntax.SimpleStatement-simpleStatementPass :: Typed.TypedTerm Syntax.SimpleStatement-simpleStatementPass =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.SimpleStatement"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "pass"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the raise variant of hydra.python.syntax.SimpleStatement-simpleStatementRaise :: Typed.TypedTerm Syntax.RaiseStatement -> Typed.TypedTerm Syntax.SimpleStatement-simpleStatementRaise x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.SimpleStatement"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "raise"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the return variant of hydra.python.syntax.SimpleStatement-simpleStatementReturn :: Typed.TypedTerm Syntax.ReturnStatement -> Typed.TypedTerm Syntax.SimpleStatement-simpleStatementReturn x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.SimpleStatement"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "return"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.SimpleStatement-simpleStatementSimpleStatement :: Typed.TypedName Syntax.SimpleStatement-simpleStatementSimpleStatement = Typed.TypedName (Core.Name "hydra.python.syntax.SimpleStatement")---- | DSL injection for the starExpressions variant of hydra.python.syntax.SimpleStatement-simpleStatementStarExpressions :: Typed.TypedTerm [Syntax.StarExpression] -> Typed.TypedTerm Syntax.SimpleStatement-simpleStatementStarExpressions x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.SimpleStatement"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "starExpressions"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the typeAlias variant of hydra.python.syntax.SimpleStatement-simpleStatementTypeAlias :: Typed.TypedTerm Syntax.TypeAlias -> Typed.TypedTerm Syntax.SimpleStatement-simpleStatementTypeAlias x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.SimpleStatement"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "typeAlias"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the yield variant of hydra.python.syntax.SimpleStatement-simpleStatementYield :: Typed.TypedTerm Syntax.YieldStatement -> Typed.TypedTerm Syntax.SimpleStatement-simpleStatementYield x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.SimpleStatement"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "yield"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for hydra.python.syntax.SimpleTypeParameter-simpleTypeParameter :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.SimpleTypeParameter-simpleTypeParameter name bound default_ =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.SimpleTypeParameter"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm name)},- Core.Field {- Core.fieldName = (Core.Name "bound"),- Core.fieldTerm = (Typed.unTypedTerm bound)},- Core.Field {- Core.fieldName = (Core.Name "default"),- Core.fieldTerm = (Typed.unTypedTerm default_)}]}))---- | DSL accessor for the bound field of hydra.python.syntax.SimpleTypeParameter-simpleTypeParameterBound :: Typed.TypedTerm Syntax.SimpleTypeParameter -> Typed.TypedTerm (Maybe Syntax.Expression)-simpleTypeParameterBound x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SimpleTypeParameter"),- Core.projectionFieldName = (Core.Name "bound")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the default field of hydra.python.syntax.SimpleTypeParameter-simpleTypeParameterDefault :: Typed.TypedTerm Syntax.SimpleTypeParameter -> Typed.TypedTerm (Maybe Syntax.Expression)-simpleTypeParameterDefault x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SimpleTypeParameter"),- Core.projectionFieldName = (Core.Name "default")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the name field of hydra.python.syntax.SimpleTypeParameter-simpleTypeParameterName :: Typed.TypedTerm Syntax.SimpleTypeParameter -> Typed.TypedTerm Syntax.Name-simpleTypeParameterName x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SimpleTypeParameter"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.SimpleTypeParameter-simpleTypeParameterSimpleTypeParameter :: Typed.TypedName Syntax.SimpleTypeParameter-simpleTypeParameterSimpleTypeParameter = Typed.TypedName (Core.Name "hydra.python.syntax.SimpleTypeParameter")---- | DSL updater for the bound field of hydra.python.syntax.SimpleTypeParameter-simpleTypeParameterWithBound :: Typed.TypedTerm Syntax.SimpleTypeParameter -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.SimpleTypeParameter-simpleTypeParameterWithBound original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.SimpleTypeParameter"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SimpleTypeParameter"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "bound"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "default"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SimpleTypeParameter"),- Core.projectionFieldName = (Core.Name "default")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the default field of hydra.python.syntax.SimpleTypeParameter-simpleTypeParameterWithDefault :: Typed.TypedTerm Syntax.SimpleTypeParameter -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.SimpleTypeParameter-simpleTypeParameterWithDefault original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.SimpleTypeParameter"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SimpleTypeParameter"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "bound"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SimpleTypeParameter"),- Core.projectionFieldName = (Core.Name "bound")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "default"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the name field of hydra.python.syntax.SimpleTypeParameter-simpleTypeParameterWithName :: Typed.TypedTerm Syntax.SimpleTypeParameter -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.SimpleTypeParameter-simpleTypeParameterWithName original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.SimpleTypeParameter"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "bound"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SimpleTypeParameter"),- Core.projectionFieldName = (Core.Name "bound")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "default"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SimpleTypeParameter"),- Core.projectionFieldName = (Core.Name "default")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL injection for the primaryAndName variant of hydra.python.syntax.SingleSubscriptAttributeTarget-singleSubscriptAttributeTargetPrimaryAndName :: Typed.TypedTerm Syntax.TPrimaryAndName -> Typed.TypedTerm Syntax.SingleSubscriptAttributeTarget-singleSubscriptAttributeTargetPrimaryAndName x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.SingleSubscriptAttributeTarget"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "primaryAndName"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the primaryAndSlices variant of hydra.python.syntax.SingleSubscriptAttributeTarget-singleSubscriptAttributeTargetPrimaryAndSlices :: Typed.TypedTerm Syntax.TPrimaryAndSlices -> Typed.TypedTerm Syntax.SingleSubscriptAttributeTarget-singleSubscriptAttributeTargetPrimaryAndSlices x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.SingleSubscriptAttributeTarget"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "primaryAndSlices"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.SingleSubscriptAttributeTarget-singleSubscriptAttributeTargetSingleSubscriptAttributeTarget :: Typed.TypedName Syntax.SingleSubscriptAttributeTarget-singleSubscriptAttributeTargetSingleSubscriptAttributeTarget =- Typed.TypedName (Core.Name "hydra.python.syntax.SingleSubscriptAttributeTarget")---- | DSL injection for the name variant of hydra.python.syntax.SingleTarget-singleTargetName :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.SingleTarget-singleTargetName x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.SingleTarget"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the parens variant of hydra.python.syntax.SingleTarget-singleTargetParens :: Typed.TypedTerm Syntax.SingleTarget -> Typed.TypedTerm Syntax.SingleTarget-singleTargetParens x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.SingleTarget"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "parens"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.SingleTarget-singleTargetSingleTarget :: Typed.TypedName Syntax.SingleTarget-singleTargetSingleTarget = Typed.TypedName (Core.Name "hydra.python.syntax.SingleTarget")---- | DSL injection for the subscriptAttributeTarget variant of hydra.python.syntax.SingleTarget-singleTargetSubscriptAttributeTarget :: Typed.TypedTerm Syntax.SingleSubscriptAttributeTarget -> Typed.TypedTerm Syntax.SingleTarget-singleTargetSubscriptAttributeTarget x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.SingleTarget"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "subscriptAttributeTarget"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for the hydra.python.syntax.SlashNoDefault wrapper-slashNoDefault :: Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm Syntax.SlashNoDefault-slashNoDefault x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.SlashNoDefault"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL constructor for hydra.python.syntax.SlashNoDefaultParameters-slashNoDefaultParameters :: Typed.TypedTerm Syntax.SlashNoDefault -> Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm (Maybe Syntax.StarEtc) -> Typed.TypedTerm Syntax.SlashNoDefaultParameters-slashNoDefaultParameters slash paramNoDefault paramWithDefault starEtc =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "slash"),- Core.fieldTerm = (Typed.unTypedTerm slash)},- Core.Field {- Core.fieldName = (Core.Name "paramNoDefault"),- Core.fieldTerm = (Typed.unTypedTerm paramNoDefault)},- Core.Field {- Core.fieldName = (Core.Name "paramWithDefault"),- Core.fieldTerm = (Typed.unTypedTerm paramWithDefault)},- Core.Field {- Core.fieldName = (Core.Name "starEtc"),- Core.fieldTerm = (Typed.unTypedTerm starEtc)}]}))---- | DSL accessor for the paramNoDefault field of hydra.python.syntax.SlashNoDefaultParameters-slashNoDefaultParametersParamNoDefault :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm [Syntax.ParamNoDefault]-slashNoDefaultParametersParamNoDefault x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),- Core.projectionFieldName = (Core.Name "paramNoDefault")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the paramWithDefault field of hydra.python.syntax.SlashNoDefaultParameters-slashNoDefaultParametersParamWithDefault :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm [Syntax.ParamWithDefault]-slashNoDefaultParametersParamWithDefault x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),- Core.projectionFieldName = (Core.Name "paramWithDefault")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the slash field of hydra.python.syntax.SlashNoDefaultParameters-slashNoDefaultParametersSlash :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm Syntax.SlashNoDefault-slashNoDefaultParametersSlash x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),- Core.projectionFieldName = (Core.Name "slash")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.SlashNoDefaultParameters-slashNoDefaultParametersSlashNoDefaultParameters :: Typed.TypedName Syntax.SlashNoDefaultParameters-slashNoDefaultParametersSlashNoDefaultParameters =- Typed.TypedName (Core.Name "hydra.python.syntax.SlashNoDefaultParameters")---- | DSL accessor for the starEtc field of hydra.python.syntax.SlashNoDefaultParameters-slashNoDefaultParametersStarEtc :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm (Maybe Syntax.StarEtc)-slashNoDefaultParametersStarEtc x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),- Core.projectionFieldName = (Core.Name "starEtc")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the paramNoDefault field of hydra.python.syntax.SlashNoDefaultParameters-slashNoDefaultParametersWithParamNoDefault :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm Syntax.SlashNoDefaultParameters-slashNoDefaultParametersWithParamNoDefault original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "slash"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),- Core.projectionFieldName = (Core.Name "slash")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "paramNoDefault"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "paramWithDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),- Core.projectionFieldName = (Core.Name "paramWithDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "starEtc"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),- Core.projectionFieldName = (Core.Name "starEtc")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the paramWithDefault field of hydra.python.syntax.SlashNoDefaultParameters-slashNoDefaultParametersWithParamWithDefault :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm Syntax.SlashNoDefaultParameters-slashNoDefaultParametersWithParamWithDefault original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "slash"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),- Core.projectionFieldName = (Core.Name "slash")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "paramNoDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),- Core.projectionFieldName = (Core.Name "paramNoDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "paramWithDefault"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "starEtc"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),- Core.projectionFieldName = (Core.Name "starEtc")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the slash field of hydra.python.syntax.SlashNoDefaultParameters-slashNoDefaultParametersWithSlash :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm Syntax.SlashNoDefault -> Typed.TypedTerm Syntax.SlashNoDefaultParameters-slashNoDefaultParametersWithSlash original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "slash"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "paramNoDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),- Core.projectionFieldName = (Core.Name "paramNoDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "paramWithDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),- Core.projectionFieldName = (Core.Name "paramWithDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "starEtc"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),- Core.projectionFieldName = (Core.Name "starEtc")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the starEtc field of hydra.python.syntax.SlashNoDefaultParameters-slashNoDefaultParametersWithStarEtc :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm (Maybe Syntax.StarEtc) -> Typed.TypedTerm Syntax.SlashNoDefaultParameters-slashNoDefaultParametersWithStarEtc original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "slash"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),- Core.projectionFieldName = (Core.Name "slash")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "paramNoDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),- Core.projectionFieldName = (Core.Name "paramNoDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "paramWithDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),- Core.projectionFieldName = (Core.Name "paramWithDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "starEtc"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL name token for hydra.python.syntax.SlashNoDefault-slashNoDefaultSlashNoDefault :: Typed.TypedName Syntax.SlashNoDefault-slashNoDefaultSlashNoDefault = Typed.TypedName (Core.Name "hydra.python.syntax.SlashNoDefault")---- | DSL constructor for hydra.python.syntax.SlashWithDefault-slashWithDefault :: Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm Syntax.SlashWithDefault-slashWithDefault paramNoDefault paramWithDefault =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.SlashWithDefault"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "paramNoDefault"),- Core.fieldTerm = (Typed.unTypedTerm paramNoDefault)},- Core.Field {- Core.fieldName = (Core.Name "paramWithDefault"),- Core.fieldTerm = (Typed.unTypedTerm paramWithDefault)}]}))---- | DSL accessor for the paramNoDefault field of hydra.python.syntax.SlashWithDefault-slashWithDefaultParamNoDefault :: Typed.TypedTerm Syntax.SlashWithDefault -> Typed.TypedTerm [Syntax.ParamNoDefault]-slashWithDefaultParamNoDefault x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashWithDefault"),- Core.projectionFieldName = (Core.Name "paramNoDefault")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the paramWithDefault field of hydra.python.syntax.SlashWithDefault-slashWithDefaultParamWithDefault :: Typed.TypedTerm Syntax.SlashWithDefault -> Typed.TypedTerm [Syntax.ParamWithDefault]-slashWithDefaultParamWithDefault x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashWithDefault"),- Core.projectionFieldName = (Core.Name "paramWithDefault")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL constructor for hydra.python.syntax.SlashWithDefaultParameters-slashWithDefaultParameters :: Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm (Maybe Syntax.StarEtc) -> Typed.TypedTerm Syntax.SlashWithDefaultParameters-slashWithDefaultParameters paramNoDefault paramWithDefault starEtc =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.SlashWithDefaultParameters"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "paramNoDefault"),- Core.fieldTerm = (Typed.unTypedTerm paramNoDefault)},- Core.Field {- Core.fieldName = (Core.Name "paramWithDefault"),- Core.fieldTerm = (Typed.unTypedTerm paramWithDefault)},- Core.Field {- Core.fieldName = (Core.Name "starEtc"),- Core.fieldTerm = (Typed.unTypedTerm starEtc)}]}))---- | DSL accessor for the paramNoDefault field of hydra.python.syntax.SlashWithDefaultParameters-slashWithDefaultParametersParamNoDefault :: Typed.TypedTerm Syntax.SlashWithDefaultParameters -> Typed.TypedTerm [Syntax.ParamNoDefault]-slashWithDefaultParametersParamNoDefault x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashWithDefaultParameters"),- Core.projectionFieldName = (Core.Name "paramNoDefault")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the paramWithDefault field of hydra.python.syntax.SlashWithDefaultParameters-slashWithDefaultParametersParamWithDefault :: Typed.TypedTerm Syntax.SlashWithDefaultParameters -> Typed.TypedTerm [Syntax.ParamWithDefault]-slashWithDefaultParametersParamWithDefault x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashWithDefaultParameters"),- Core.projectionFieldName = (Core.Name "paramWithDefault")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.SlashWithDefaultParameters-slashWithDefaultParametersSlashWithDefaultParameters :: Typed.TypedName Syntax.SlashWithDefaultParameters-slashWithDefaultParametersSlashWithDefaultParameters =- Typed.TypedName (Core.Name "hydra.python.syntax.SlashWithDefaultParameters")---- | DSL accessor for the starEtc field of hydra.python.syntax.SlashWithDefaultParameters-slashWithDefaultParametersStarEtc :: Typed.TypedTerm Syntax.SlashWithDefaultParameters -> Typed.TypedTerm (Maybe Syntax.StarEtc)-slashWithDefaultParametersStarEtc x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashWithDefaultParameters"),- Core.projectionFieldName = (Core.Name "starEtc")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the paramNoDefault field of hydra.python.syntax.SlashWithDefaultParameters-slashWithDefaultParametersWithParamNoDefault :: Typed.TypedTerm Syntax.SlashWithDefaultParameters -> Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm Syntax.SlashWithDefaultParameters-slashWithDefaultParametersWithParamNoDefault original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.SlashWithDefaultParameters"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "paramNoDefault"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "paramWithDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashWithDefaultParameters"),- Core.projectionFieldName = (Core.Name "paramWithDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "starEtc"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashWithDefaultParameters"),- Core.projectionFieldName = (Core.Name "starEtc")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the paramWithDefault field of hydra.python.syntax.SlashWithDefaultParameters-slashWithDefaultParametersWithParamWithDefault :: Typed.TypedTerm Syntax.SlashWithDefaultParameters -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm Syntax.SlashWithDefaultParameters-slashWithDefaultParametersWithParamWithDefault original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.SlashWithDefaultParameters"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "paramNoDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashWithDefaultParameters"),- Core.projectionFieldName = (Core.Name "paramNoDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "paramWithDefault"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "starEtc"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashWithDefaultParameters"),- Core.projectionFieldName = (Core.Name "starEtc")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the starEtc field of hydra.python.syntax.SlashWithDefaultParameters-slashWithDefaultParametersWithStarEtc :: Typed.TypedTerm Syntax.SlashWithDefaultParameters -> Typed.TypedTerm (Maybe Syntax.StarEtc) -> Typed.TypedTerm Syntax.SlashWithDefaultParameters-slashWithDefaultParametersWithStarEtc original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.SlashWithDefaultParameters"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "paramNoDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashWithDefaultParameters"),- Core.projectionFieldName = (Core.Name "paramNoDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "paramWithDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashWithDefaultParameters"),- Core.projectionFieldName = (Core.Name "paramWithDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "starEtc"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL name token for hydra.python.syntax.SlashWithDefault-slashWithDefaultSlashWithDefault :: Typed.TypedName Syntax.SlashWithDefault-slashWithDefaultSlashWithDefault = Typed.TypedName (Core.Name "hydra.python.syntax.SlashWithDefault")---- | DSL updater for the paramNoDefault field of hydra.python.syntax.SlashWithDefault-slashWithDefaultWithParamNoDefault :: Typed.TypedTerm Syntax.SlashWithDefault -> Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm Syntax.SlashWithDefault-slashWithDefaultWithParamNoDefault original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.SlashWithDefault"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "paramNoDefault"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "paramWithDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashWithDefault"),- Core.projectionFieldName = (Core.Name "paramWithDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the paramWithDefault field of hydra.python.syntax.SlashWithDefault-slashWithDefaultWithParamWithDefault :: Typed.TypedTerm Syntax.SlashWithDefault -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm Syntax.SlashWithDefault-slashWithDefaultWithParamWithDefault original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.SlashWithDefault"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "paramNoDefault"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashWithDefault"),- Core.projectionFieldName = (Core.Name "paramNoDefault")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "paramWithDefault"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.SliceExpression-sliceExpression :: Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.SliceExpression-sliceExpression start stop step =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.SliceExpression"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "start"),- Core.fieldTerm = (Typed.unTypedTerm start)},- Core.Field {- Core.fieldName = (Core.Name "stop"),- Core.fieldTerm = (Typed.unTypedTerm stop)},- Core.Field {- Core.fieldName = (Core.Name "step"),- Core.fieldTerm = (Typed.unTypedTerm step)}]}))---- | DSL name token for hydra.python.syntax.SliceExpression-sliceExpressionSliceExpression :: Typed.TypedName Syntax.SliceExpression-sliceExpressionSliceExpression = Typed.TypedName (Core.Name "hydra.python.syntax.SliceExpression")---- | DSL accessor for the start field of hydra.python.syntax.SliceExpression-sliceExpressionStart :: Typed.TypedTerm Syntax.SliceExpression -> Typed.TypedTerm (Maybe Syntax.Expression)-sliceExpressionStart x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SliceExpression"),- Core.projectionFieldName = (Core.Name "start")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the step field of hydra.python.syntax.SliceExpression-sliceExpressionStep :: Typed.TypedTerm Syntax.SliceExpression -> Typed.TypedTerm (Maybe Syntax.Expression)-sliceExpressionStep x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SliceExpression"),- Core.projectionFieldName = (Core.Name "step")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the stop field of hydra.python.syntax.SliceExpression-sliceExpressionStop :: Typed.TypedTerm Syntax.SliceExpression -> Typed.TypedTerm (Maybe Syntax.Expression)-sliceExpressionStop x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SliceExpression"),- Core.projectionFieldName = (Core.Name "stop")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the start field of hydra.python.syntax.SliceExpression-sliceExpressionWithStart :: Typed.TypedTerm Syntax.SliceExpression -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.SliceExpression-sliceExpressionWithStart original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.SliceExpression"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "start"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "stop"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SliceExpression"),- Core.projectionFieldName = (Core.Name "stop")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "step"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SliceExpression"),- Core.projectionFieldName = (Core.Name "step")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the step field of hydra.python.syntax.SliceExpression-sliceExpressionWithStep :: Typed.TypedTerm Syntax.SliceExpression -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.SliceExpression-sliceExpressionWithStep original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.SliceExpression"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "start"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SliceExpression"),- Core.projectionFieldName = (Core.Name "start")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "stop"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SliceExpression"),- Core.projectionFieldName = (Core.Name "stop")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "step"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the stop field of hydra.python.syntax.SliceExpression-sliceExpressionWithStop :: Typed.TypedTerm Syntax.SliceExpression -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.SliceExpression-sliceExpressionWithStop original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.SliceExpression"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "start"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SliceExpression"),- Core.projectionFieldName = (Core.Name "start")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "stop"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "step"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SliceExpression"),- Core.projectionFieldName = (Core.Name "step")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL injection for the named variant of hydra.python.syntax.Slice-sliceNamed :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.Slice-sliceNamed x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Slice"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "named"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the slice variant of hydra.python.syntax.SliceOrStarredExpression-sliceOrStarredExpressionSlice :: Typed.TypedTerm Syntax.Slice -> Typed.TypedTerm Syntax.SliceOrStarredExpression-sliceOrStarredExpressionSlice x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.SliceOrStarredExpression"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "slice"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.SliceOrStarredExpression-sliceOrStarredExpressionSliceOrStarredExpression :: Typed.TypedName Syntax.SliceOrStarredExpression-sliceOrStarredExpressionSliceOrStarredExpression =- Typed.TypedName (Core.Name "hydra.python.syntax.SliceOrStarredExpression")---- | DSL injection for the starred variant of hydra.python.syntax.SliceOrStarredExpression-sliceOrStarredExpressionStarred :: Typed.TypedTerm Syntax.StarredExpression -> Typed.TypedTerm Syntax.SliceOrStarredExpression-sliceOrStarredExpressionStarred x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.SliceOrStarredExpression"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "starred"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.Slice-sliceSlice :: Typed.TypedName Syntax.Slice-sliceSlice = Typed.TypedName (Core.Name "hydra.python.syntax.Slice")---- | DSL injection for the slice_ variant of hydra.python.syntax.Slice-sliceSlice_ :: Typed.TypedTerm Syntax.SliceExpression -> Typed.TypedTerm Syntax.Slice-sliceSlice_ x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Slice"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "slice_"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for hydra.python.syntax.Slices-slices :: Typed.TypedTerm Syntax.Slice -> Typed.TypedTerm [Syntax.SliceOrStarredExpression] -> Typed.TypedTerm Syntax.Slices-slices head tail =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Slices"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "head"),- Core.fieldTerm = (Typed.unTypedTerm head)},- Core.Field {- Core.fieldName = (Core.Name "tail"),- Core.fieldTerm = (Typed.unTypedTerm tail)}]}))---- | DSL accessor for the head field of hydra.python.syntax.Slices-slicesHead :: Typed.TypedTerm Syntax.Slices -> Typed.TypedTerm Syntax.Slice-slicesHead x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Slices"),- Core.projectionFieldName = (Core.Name "head")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Slices-slicesSlices :: Typed.TypedName Syntax.Slices-slicesSlices = Typed.TypedName (Core.Name "hydra.python.syntax.Slices")---- | DSL accessor for the tail field of hydra.python.syntax.Slices-slicesTail :: Typed.TypedTerm Syntax.Slices -> Typed.TypedTerm [Syntax.SliceOrStarredExpression]-slicesTail x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Slices"),- Core.projectionFieldName = (Core.Name "tail")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the head field of hydra.python.syntax.Slices-slicesWithHead :: Typed.TypedTerm Syntax.Slices -> Typed.TypedTerm Syntax.Slice -> Typed.TypedTerm Syntax.Slices-slicesWithHead original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Slices"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "head"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "tail"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Slices"),- Core.projectionFieldName = (Core.Name "tail")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the tail field of hydra.python.syntax.Slices-slicesWithTail :: Typed.TypedTerm Syntax.Slices -> Typed.TypedTerm [Syntax.SliceOrStarredExpression] -> Typed.TypedTerm Syntax.Slices-slicesWithTail original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Slices"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "head"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Slices"),- Core.projectionFieldName = (Core.Name "head")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "tail"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for the hydra.python.syntax.StarAnnotation wrapper-starAnnotation :: Typed.TypedTerm Syntax.StarExpression -> Typed.TypedTerm Syntax.StarAnnotation-starAnnotation x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.StarAnnotation"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.StarAnnotation-starAnnotationStarAnnotation :: Typed.TypedName Syntax.StarAnnotation-starAnnotationStarAnnotation = Typed.TypedName (Core.Name "hydra.python.syntax.StarAnnotation")---- | DSL injection for the name variant of hydra.python.syntax.StarAtom-starAtomName :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.StarAtom-starAtomName x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.StarAtom"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.StarAtom-starAtomStarAtom :: Typed.TypedName Syntax.StarAtom-starAtomStarAtom = Typed.TypedName (Core.Name "hydra.python.syntax.StarAtom")---- | DSL injection for the starTargetsListSeq variant of hydra.python.syntax.StarAtom-starAtomStarTargetsListSeq :: Typed.TypedTerm (Maybe Syntax.StarTargetsListSeq) -> Typed.TypedTerm Syntax.StarAtom-starAtomStarTargetsListSeq x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.StarAtom"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "starTargetsListSeq"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the starTargetsTupleSeq variant of hydra.python.syntax.StarAtom-starAtomStarTargetsTupleSeq :: Typed.TypedTerm (Maybe Syntax.StarTargetsTupleSeq) -> Typed.TypedTerm Syntax.StarAtom-starAtomStarTargetsTupleSeq x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.StarAtom"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "starTargetsTupleSeq"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the targetWithStarAtom variant of hydra.python.syntax.StarAtom-starAtomTargetWithStarAtom :: Typed.TypedTerm Syntax.TargetWithStarAtom -> Typed.TypedTerm Syntax.StarAtom-starAtomTargetWithStarAtom x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.StarAtom"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "targetWithStarAtom"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the keywords variant of hydra.python.syntax.StarEtc-starEtcKeywords :: Typed.TypedTerm Syntax.Keywords -> Typed.TypedTerm Syntax.StarEtc-starEtcKeywords x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.StarEtc"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "keywords"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the starComma variant of hydra.python.syntax.StarEtc-starEtcStarComma :: Typed.TypedTerm Syntax.CommaStarEtc -> Typed.TypedTerm Syntax.StarEtc-starEtcStarComma x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.StarEtc"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "starComma"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.StarEtc-starEtcStarEtc :: Typed.TypedName Syntax.StarEtc-starEtcStarEtc = Typed.TypedName (Core.Name "hydra.python.syntax.StarEtc")---- | DSL injection for the starNoDefault variant of hydra.python.syntax.StarEtc-starEtcStarNoDefault :: Typed.TypedTerm Syntax.NoDefaultStarEtc -> Typed.TypedTerm Syntax.StarEtc-starEtcStarNoDefault x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.StarEtc"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "starNoDefault"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the starNoDefaultStarAnnotation variant of hydra.python.syntax.StarEtc-starEtcStarNoDefaultStarAnnotation :: Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc -> Typed.TypedTerm Syntax.StarEtc-starEtcStarNoDefaultStarAnnotation x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.StarEtc"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "starNoDefaultStarAnnotation"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the simple variant of hydra.python.syntax.StarExpression-starExpressionSimple :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.StarExpression-starExpressionSimple x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.StarExpression"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "simple"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the star variant of hydra.python.syntax.StarExpression-starExpressionStar :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.StarExpression-starExpressionStar x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.StarExpression"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "star"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.StarExpression-starExpressionStarExpression :: Typed.TypedName Syntax.StarExpression-starExpressionStarExpression = Typed.TypedName (Core.Name "hydra.python.syntax.StarExpression")---- | DSL injection for the simple variant of hydra.python.syntax.StarNamedExpression-starNamedExpressionSimple :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.StarNamedExpression-starNamedExpressionSimple x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.StarNamedExpression"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "simple"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the star variant of hydra.python.syntax.StarNamedExpression-starNamedExpressionStar :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.StarNamedExpression-starNamedExpressionStar x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.StarNamedExpression"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "star"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.StarNamedExpression-starNamedExpressionStarNamedExpression :: Typed.TypedName Syntax.StarNamedExpression-starNamedExpressionStarNamedExpression = Typed.TypedName (Core.Name "hydra.python.syntax.StarNamedExpression")---- | DSL constructor for the hydra.python.syntax.StarNamedExpressions wrapper-starNamedExpressions :: Typed.TypedTerm [Syntax.StarNamedExpression] -> Typed.TypedTerm Syntax.StarNamedExpressions-starNamedExpressions x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.StarNamedExpressions"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.StarNamedExpressions-starNamedExpressionsStarNamedExpressions :: Typed.TypedName Syntax.StarNamedExpressions-starNamedExpressionsStarNamedExpressions = Typed.TypedName (Core.Name "hydra.python.syntax.StarNamedExpressions")---- | DSL injection for the capture variant of hydra.python.syntax.StarPattern-starPatternCapture :: Typed.TypedTerm Syntax.PatternCaptureTarget -> Typed.TypedTerm Syntax.StarPattern-starPatternCapture x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.StarPattern"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "capture"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.StarPattern-starPatternStarPattern :: Typed.TypedName Syntax.StarPattern-starPatternStarPattern = Typed.TypedName (Core.Name "hydra.python.syntax.StarPattern")---- | DSL injection for the wildcard variant of hydra.python.syntax.StarPattern-starPatternWildcard :: Typed.TypedTerm Syntax.StarPattern-starPatternWildcard =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.StarPattern"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "wildcard"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL name token for hydra.python.syntax.StarTarget-starTargetStarTarget :: Typed.TypedName Syntax.StarTarget-starTargetStarTarget = Typed.TypedName (Core.Name "hydra.python.syntax.StarTarget")---- | DSL injection for the starred variant of hydra.python.syntax.StarTarget-starTargetStarred :: Typed.TypedTerm Syntax.StarTarget -> Typed.TypedTerm Syntax.StarTarget-starTargetStarred x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.StarTarget"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "starred"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the unstarred variant of hydra.python.syntax.StarTarget-starTargetUnstarred :: Typed.TypedTerm Syntax.TargetWithStarAtom -> Typed.TypedTerm Syntax.StarTarget-starTargetUnstarred x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.StarTarget"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "unstarred"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for the hydra.python.syntax.StarTargetsListSeq wrapper-starTargetsListSeq :: Typed.TypedTerm [Syntax.StarTarget] -> Typed.TypedTerm Syntax.StarTargetsListSeq-starTargetsListSeq x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.StarTargetsListSeq"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.StarTargetsListSeq-starTargetsListSeqStarTargetsListSeq :: Typed.TypedName Syntax.StarTargetsListSeq-starTargetsListSeqStarTargetsListSeq = Typed.TypedName (Core.Name "hydra.python.syntax.StarTargetsListSeq")---- | DSL constructor for the hydra.python.syntax.StarTargetsTupleSeq wrapper-starTargetsTupleSeq :: Typed.TypedTerm [Syntax.StarTarget] -> Typed.TypedTerm Syntax.StarTargetsTupleSeq-starTargetsTupleSeq x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.StarTargetsTupleSeq"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.StarTargetsTupleSeq-starTargetsTupleSeqStarTargetsTupleSeq :: Typed.TypedName Syntax.StarTargetsTupleSeq-starTargetsTupleSeqStarTargetsTupleSeq = Typed.TypedName (Core.Name "hydra.python.syntax.StarTargetsTupleSeq")---- | DSL constructor for hydra.python.syntax.StarTypeParameter-starTypeParameter :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.StarExpression) -> Typed.TypedTerm Syntax.StarTypeParameter-starTypeParameter name default_ =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.StarTypeParameter"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm name)},- Core.Field {- Core.fieldName = (Core.Name "default"),- Core.fieldTerm = (Typed.unTypedTerm default_)}]}))---- | DSL accessor for the default field of hydra.python.syntax.StarTypeParameter-starTypeParameterDefault :: Typed.TypedTerm Syntax.StarTypeParameter -> Typed.TypedTerm (Maybe Syntax.StarExpression)-starTypeParameterDefault x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.StarTypeParameter"),- Core.projectionFieldName = (Core.Name "default")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the name field of hydra.python.syntax.StarTypeParameter-starTypeParameterName :: Typed.TypedTerm Syntax.StarTypeParameter -> Typed.TypedTerm Syntax.Name-starTypeParameterName x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.StarTypeParameter"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.StarTypeParameter-starTypeParameterStarTypeParameter :: Typed.TypedName Syntax.StarTypeParameter-starTypeParameterStarTypeParameter = Typed.TypedName (Core.Name "hydra.python.syntax.StarTypeParameter")---- | DSL updater for the default field of hydra.python.syntax.StarTypeParameter-starTypeParameterWithDefault :: Typed.TypedTerm Syntax.StarTypeParameter -> Typed.TypedTerm (Maybe Syntax.StarExpression) -> Typed.TypedTerm Syntax.StarTypeParameter-starTypeParameterWithDefault original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.StarTypeParameter"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.StarTypeParameter"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "default"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the name field of hydra.python.syntax.StarTypeParameter-starTypeParameterWithName :: Typed.TypedTerm Syntax.StarTypeParameter -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.StarTypeParameter-starTypeParameterWithName original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.StarTypeParameter"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "default"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.StarTypeParameter"),- Core.projectionFieldName = (Core.Name "default")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for the hydra.python.syntax.StarredExpression wrapper-starredExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.StarredExpression-starredExpression x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.StarredExpression"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.StarredExpression-starredExpressionStarredExpression :: Typed.TypedName Syntax.StarredExpression-starredExpressionStarredExpression = Typed.TypedName (Core.Name "hydra.python.syntax.StarredExpression")---- | DSL injection for the annotated variant of hydra.python.syntax.Statement-statementAnnotated :: Typed.TypedTerm Syntax.AnnotatedStatement -> Typed.TypedTerm Syntax.Statement-statementAnnotated x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Statement"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "annotated"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the compound variant of hydra.python.syntax.Statement-statementCompound :: Typed.TypedTerm Syntax.CompoundStatement -> Typed.TypedTerm Syntax.Statement-statementCompound x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Statement"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "compound"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the simple variant of hydra.python.syntax.Statement-statementSimple :: Typed.TypedTerm [Syntax.SimpleStatement] -> Typed.TypedTerm Syntax.Statement-statementSimple x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.Statement"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "simple"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.Statement-statementStatement :: Typed.TypedName Syntax.Statement-statementStatement = Typed.TypedName (Core.Name "hydra.python.syntax.Statement")---- | DSL constructor for hydra.python.syntax.String-string :: Typed.TypedTerm String -> Typed.TypedTerm (Maybe Syntax.StringPrefix) -> Typed.TypedTerm Syntax.QuoteStyle -> Typed.TypedTerm Syntax.String_-string value prefix quoteStyle =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.String"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "value"),- Core.fieldTerm = (Typed.unTypedTerm value)},- Core.Field {- Core.fieldName = (Core.Name "prefix"),- Core.fieldTerm = (Typed.unTypedTerm prefix)},- Core.Field {- Core.fieldName = (Core.Name "quoteStyle"),- Core.fieldTerm = (Typed.unTypedTerm quoteStyle)}]}))---- | DSL accessor for the prefix field of hydra.python.syntax.String-stringPrefix :: Typed.TypedTerm Syntax.String_ -> Typed.TypedTerm (Maybe Syntax.StringPrefix)-stringPrefix x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.String"),- Core.projectionFieldName = (Core.Name "prefix")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL injection for the bytes variant of hydra.python.syntax.StringPrefix-stringPrefixBytes :: Typed.TypedTerm Syntax.StringPrefix-stringPrefixBytes =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.StringPrefix"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "bytes"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the raw variant of hydra.python.syntax.StringPrefix-stringPrefixRaw :: Typed.TypedTerm Syntax.StringPrefix-stringPrefixRaw =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.StringPrefix"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "raw"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the rawBytes variant of hydra.python.syntax.StringPrefix-stringPrefixRawBytes :: Typed.TypedTerm Syntax.StringPrefix-stringPrefixRawBytes =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.StringPrefix"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "rawBytes"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL name token for hydra.python.syntax.StringPrefix-stringPrefixStringPrefix :: Typed.TypedName Syntax.StringPrefix-stringPrefixStringPrefix = Typed.TypedName (Core.Name "hydra.python.syntax.StringPrefix")---- | DSL injection for the unicode variant of hydra.python.syntax.StringPrefix-stringPrefixUnicode :: Typed.TypedTerm Syntax.StringPrefix-stringPrefixUnicode =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.StringPrefix"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "unicode"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL accessor for the quoteStyle field of hydra.python.syntax.String-stringQuoteStyle :: Typed.TypedTerm Syntax.String_ -> Typed.TypedTerm Syntax.QuoteStyle-stringQuoteStyle x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.String"),- Core.projectionFieldName = (Core.Name "quoteStyle")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.String-stringString :: Typed.TypedName Syntax.String_-stringString = Typed.TypedName (Core.Name "hydra.python.syntax.String")---- | DSL accessor for the value field of hydra.python.syntax.String-stringValue :: Typed.TypedTerm Syntax.String_ -> Typed.TypedTerm String-stringValue x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.String"),- Core.projectionFieldName = (Core.Name "value")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the prefix field of hydra.python.syntax.String-stringWithPrefix :: Typed.TypedTerm Syntax.String_ -> Typed.TypedTerm (Maybe Syntax.StringPrefix) -> Typed.TypedTerm Syntax.String_-stringWithPrefix original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.String"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "value"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.String"),- Core.projectionFieldName = (Core.Name "value")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "prefix"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "quoteStyle"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.String"),- Core.projectionFieldName = (Core.Name "quoteStyle")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the quoteStyle field of hydra.python.syntax.String-stringWithQuoteStyle :: Typed.TypedTerm Syntax.String_ -> Typed.TypedTerm Syntax.QuoteStyle -> Typed.TypedTerm Syntax.String_-stringWithQuoteStyle original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.String"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "value"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.String"),- Core.projectionFieldName = (Core.Name "value")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "prefix"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.String"),- Core.projectionFieldName = (Core.Name "prefix")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "quoteStyle"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the value field of hydra.python.syntax.String-stringWithValue :: Typed.TypedTerm Syntax.String_ -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.String_-stringWithValue original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.String"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "value"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "prefix"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.String"),- Core.projectionFieldName = (Core.Name "prefix")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "quoteStyle"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.String"),- Core.projectionFieldName = (Core.Name "quoteStyle")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL injection for the simple variant of hydra.python.syntax.SubjectExpression-subjectExpressionSimple :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.SubjectExpression-subjectExpressionSimple x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.SubjectExpression"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "simple"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.SubjectExpression-subjectExpressionSubjectExpression :: Typed.TypedName Syntax.SubjectExpression-subjectExpressionSubjectExpression = Typed.TypedName (Core.Name "hydra.python.syntax.SubjectExpression")---- | DSL injection for the tuple variant of hydra.python.syntax.SubjectExpression-subjectExpressionTuple :: Typed.TypedTerm [Syntax.StarNamedExpression] -> Typed.TypedTerm Syntax.SubjectExpression-subjectExpressionTuple x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.SubjectExpression"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "tuple"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for hydra.python.syntax.Sum-sum :: Typed.TypedTerm (Maybe Syntax.SumLhs) -> Typed.TypedTerm Syntax.Term -> Typed.TypedTerm Syntax.Sum-sum lhs rhs =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Sum"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "lhs"),- Core.fieldTerm = (Typed.unTypedTerm lhs)},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Typed.unTypedTerm rhs)}]}))---- | DSL accessor for the lhs field of hydra.python.syntax.Sum-sumLhs :: Typed.TypedTerm Syntax.Sum -> Typed.TypedTerm (Maybe Syntax.SumLhs)-sumLhs x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Sum"),- Core.projectionFieldName = (Core.Name "lhs")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL constructor for hydra.python.syntax.SumLhs-sumLhs2 :: Typed.TypedTerm Syntax.Sum -> Typed.TypedTerm Syntax.SumOp -> Typed.TypedTerm Syntax.SumLhs-sumLhs2 operand operator =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.SumLhs"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "operand"),- Core.fieldTerm = (Typed.unTypedTerm operand)},- Core.Field {- Core.fieldName = (Core.Name "operator"),- Core.fieldTerm = (Typed.unTypedTerm operator)}]}))---- | DSL accessor for the operand field of hydra.python.syntax.SumLhs-sumLhsOperand :: Typed.TypedTerm Syntax.SumLhs -> Typed.TypedTerm Syntax.Sum-sumLhsOperand x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SumLhs"),- Core.projectionFieldName = (Core.Name "operand")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the operator field of hydra.python.syntax.SumLhs-sumLhsOperator :: Typed.TypedTerm Syntax.SumLhs -> Typed.TypedTerm Syntax.SumOp-sumLhsOperator x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SumLhs"),- Core.projectionFieldName = (Core.Name "operator")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.SumLhs-sumLhsSumLhs :: Typed.TypedName Syntax.SumLhs-sumLhsSumLhs = Typed.TypedName (Core.Name "hydra.python.syntax.SumLhs")---- | DSL updater for the operand field of hydra.python.syntax.SumLhs-sumLhsWithOperand :: Typed.TypedTerm Syntax.SumLhs -> Typed.TypedTerm Syntax.Sum -> Typed.TypedTerm Syntax.SumLhs-sumLhsWithOperand original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.SumLhs"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "operand"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "operator"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SumLhs"),- Core.projectionFieldName = (Core.Name "operator")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the operator field of hydra.python.syntax.SumLhs-sumLhsWithOperator :: Typed.TypedTerm Syntax.SumLhs -> Typed.TypedTerm Syntax.SumOp -> Typed.TypedTerm Syntax.SumLhs-sumLhsWithOperator original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.SumLhs"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "operand"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.SumLhs"),- Core.projectionFieldName = (Core.Name "operand")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "operator"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL injection for the add variant of hydra.python.syntax.SumOp-sumOpAdd :: Typed.TypedTerm Syntax.SumOp-sumOpAdd =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.SumOp"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "add"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the sub variant of hydra.python.syntax.SumOp-sumOpSub :: Typed.TypedTerm Syntax.SumOp-sumOpSub =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.SumOp"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "sub"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL name token for hydra.python.syntax.SumOp-sumOpSumOp :: Typed.TypedName Syntax.SumOp-sumOpSumOp = Typed.TypedName (Core.Name "hydra.python.syntax.SumOp")---- | DSL accessor for the rhs field of hydra.python.syntax.Sum-sumRhs :: Typed.TypedTerm Syntax.Sum -> Typed.TypedTerm Syntax.Term-sumRhs x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Sum"),- Core.projectionFieldName = (Core.Name "rhs")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Sum-sumSum :: Typed.TypedName Syntax.Sum-sumSum = Typed.TypedName (Core.Name "hydra.python.syntax.Sum")---- | DSL updater for the lhs field of hydra.python.syntax.Sum-sumWithLhs :: Typed.TypedTerm Syntax.Sum -> Typed.TypedTerm (Maybe Syntax.SumLhs) -> Typed.TypedTerm Syntax.Sum-sumWithLhs original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Sum"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "lhs"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Sum"),- Core.projectionFieldName = (Core.Name "rhs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the rhs field of hydra.python.syntax.Sum-sumWithRhs :: Typed.TypedTerm Syntax.Sum -> Typed.TypedTerm Syntax.Term -> Typed.TypedTerm Syntax.Sum-sumWithRhs original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Sum"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "lhs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Sum"),- Core.projectionFieldName = (Core.Name "lhs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.TPrimaryAndArguments-tPrimaryAndArguments :: Typed.TypedTerm Syntax.TPrimary -> Typed.TypedTerm (Maybe Syntax.Args) -> Typed.TypedTerm Syntax.TPrimaryAndArguments-tPrimaryAndArguments primary arguments =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndArguments"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "primary"),- Core.fieldTerm = (Typed.unTypedTerm primary)},- Core.Field {- Core.fieldName = (Core.Name "arguments"),- Core.fieldTerm = (Typed.unTypedTerm arguments)}]}))---- | DSL accessor for the arguments field of hydra.python.syntax.TPrimaryAndArguments-tPrimaryAndArgumentsArguments :: Typed.TypedTerm Syntax.TPrimaryAndArguments -> Typed.TypedTerm (Maybe Syntax.Args)-tPrimaryAndArgumentsArguments x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndArguments"),- Core.projectionFieldName = (Core.Name "arguments")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the primary field of hydra.python.syntax.TPrimaryAndArguments-tPrimaryAndArgumentsPrimary :: Typed.TypedTerm Syntax.TPrimaryAndArguments -> Typed.TypedTerm Syntax.TPrimary-tPrimaryAndArgumentsPrimary x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndArguments"),- Core.projectionFieldName = (Core.Name "primary")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.TPrimaryAndArguments-tPrimaryAndArgumentsTPrimaryAndArguments :: Typed.TypedName Syntax.TPrimaryAndArguments-tPrimaryAndArgumentsTPrimaryAndArguments = Typed.TypedName (Core.Name "hydra.python.syntax.TPrimaryAndArguments")---- | DSL updater for the arguments field of hydra.python.syntax.TPrimaryAndArguments-tPrimaryAndArgumentsWithArguments :: Typed.TypedTerm Syntax.TPrimaryAndArguments -> Typed.TypedTerm (Maybe Syntax.Args) -> Typed.TypedTerm Syntax.TPrimaryAndArguments-tPrimaryAndArgumentsWithArguments original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndArguments"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "primary"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndArguments"),- Core.projectionFieldName = (Core.Name "primary")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "arguments"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the primary field of hydra.python.syntax.TPrimaryAndArguments-tPrimaryAndArgumentsWithPrimary :: Typed.TypedTerm Syntax.TPrimaryAndArguments -> Typed.TypedTerm Syntax.TPrimary -> Typed.TypedTerm Syntax.TPrimaryAndArguments-tPrimaryAndArgumentsWithPrimary original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndArguments"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "primary"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "arguments"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndArguments"),- Core.projectionFieldName = (Core.Name "arguments")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for hydra.python.syntax.TPrimaryAndGenexp-tPrimaryAndGenexp :: Typed.TypedTerm Syntax.TPrimary -> Typed.TypedTerm Syntax.Genexp -> Typed.TypedTerm Syntax.TPrimaryAndGenexp-tPrimaryAndGenexp primary genexp =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndGenexp"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "primary"),- Core.fieldTerm = (Typed.unTypedTerm primary)},- Core.Field {- Core.fieldName = (Core.Name "genexp"),- Core.fieldTerm = (Typed.unTypedTerm genexp)}]}))---- | DSL accessor for the genexp field of hydra.python.syntax.TPrimaryAndGenexp-tPrimaryAndGenexpGenexp :: Typed.TypedTerm Syntax.TPrimaryAndGenexp -> Typed.TypedTerm Syntax.Genexp-tPrimaryAndGenexpGenexp x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndGenexp"),- Core.projectionFieldName = (Core.Name "genexp")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the primary field of hydra.python.syntax.TPrimaryAndGenexp-tPrimaryAndGenexpPrimary :: Typed.TypedTerm Syntax.TPrimaryAndGenexp -> Typed.TypedTerm Syntax.TPrimary-tPrimaryAndGenexpPrimary x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndGenexp"),- Core.projectionFieldName = (Core.Name "primary")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.TPrimaryAndGenexp-tPrimaryAndGenexpTPrimaryAndGenexp :: Typed.TypedName Syntax.TPrimaryAndGenexp-tPrimaryAndGenexpTPrimaryAndGenexp = Typed.TypedName (Core.Name "hydra.python.syntax.TPrimaryAndGenexp")---- | DSL updater for the genexp field of hydra.python.syntax.TPrimaryAndGenexp-tPrimaryAndGenexpWithGenexp :: Typed.TypedTerm Syntax.TPrimaryAndGenexp -> Typed.TypedTerm Syntax.Genexp -> Typed.TypedTerm Syntax.TPrimaryAndGenexp-tPrimaryAndGenexpWithGenexp original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndGenexp"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "primary"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndGenexp"),- Core.projectionFieldName = (Core.Name "primary")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "genexp"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the primary field of hydra.python.syntax.TPrimaryAndGenexp-tPrimaryAndGenexpWithPrimary :: Typed.TypedTerm Syntax.TPrimaryAndGenexp -> Typed.TypedTerm Syntax.TPrimary -> Typed.TypedTerm Syntax.TPrimaryAndGenexp-tPrimaryAndGenexpWithPrimary original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndGenexp"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "primary"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "genexp"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndGenexp"),- Core.projectionFieldName = (Core.Name "genexp")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for hydra.python.syntax.TPrimaryAndName-tPrimaryAndName :: Typed.TypedTerm Syntax.TPrimary -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.TPrimaryAndName-tPrimaryAndName primary name =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndName"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "primary"),- Core.fieldTerm = (Typed.unTypedTerm primary)},- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm name)}]}))---- | DSL accessor for the name field of hydra.python.syntax.TPrimaryAndName-tPrimaryAndNameName :: Typed.TypedTerm Syntax.TPrimaryAndName -> Typed.TypedTerm Syntax.Name-tPrimaryAndNameName x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndName"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the primary field of hydra.python.syntax.TPrimaryAndName-tPrimaryAndNamePrimary :: Typed.TypedTerm Syntax.TPrimaryAndName -> Typed.TypedTerm Syntax.TPrimary-tPrimaryAndNamePrimary x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndName"),- Core.projectionFieldName = (Core.Name "primary")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.TPrimaryAndName-tPrimaryAndNameTPrimaryAndName :: Typed.TypedName Syntax.TPrimaryAndName-tPrimaryAndNameTPrimaryAndName = Typed.TypedName (Core.Name "hydra.python.syntax.TPrimaryAndName")---- | DSL updater for the name field of hydra.python.syntax.TPrimaryAndName-tPrimaryAndNameWithName :: Typed.TypedTerm Syntax.TPrimaryAndName -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.TPrimaryAndName-tPrimaryAndNameWithName original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndName"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "primary"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndName"),- Core.projectionFieldName = (Core.Name "primary")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the primary field of hydra.python.syntax.TPrimaryAndName-tPrimaryAndNameWithPrimary :: Typed.TypedTerm Syntax.TPrimaryAndName -> Typed.TypedTerm Syntax.TPrimary -> Typed.TypedTerm Syntax.TPrimaryAndName-tPrimaryAndNameWithPrimary original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndName"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "primary"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndName"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for hydra.python.syntax.TPrimaryAndSlices-tPrimaryAndSlices :: Typed.TypedTerm Syntax.TPrimary -> Typed.TypedTerm Syntax.Slices -> Typed.TypedTerm Syntax.TPrimaryAndSlices-tPrimaryAndSlices primary slices =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndSlices"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "primary"),- Core.fieldTerm = (Typed.unTypedTerm primary)},- Core.Field {- Core.fieldName = (Core.Name "slices"),- Core.fieldTerm = (Typed.unTypedTerm slices)}]}))---- | DSL accessor for the primary field of hydra.python.syntax.TPrimaryAndSlices-tPrimaryAndSlicesPrimary :: Typed.TypedTerm Syntax.TPrimaryAndSlices -> Typed.TypedTerm Syntax.TPrimary-tPrimaryAndSlicesPrimary x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndSlices"),- Core.projectionFieldName = (Core.Name "primary")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the slices field of hydra.python.syntax.TPrimaryAndSlices-tPrimaryAndSlicesSlices :: Typed.TypedTerm Syntax.TPrimaryAndSlices -> Typed.TypedTerm Syntax.Slices-tPrimaryAndSlicesSlices x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndSlices"),- Core.projectionFieldName = (Core.Name "slices")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.TPrimaryAndSlices-tPrimaryAndSlicesTPrimaryAndSlices :: Typed.TypedName Syntax.TPrimaryAndSlices-tPrimaryAndSlicesTPrimaryAndSlices = Typed.TypedName (Core.Name "hydra.python.syntax.TPrimaryAndSlices")---- | DSL updater for the primary field of hydra.python.syntax.TPrimaryAndSlices-tPrimaryAndSlicesWithPrimary :: Typed.TypedTerm Syntax.TPrimaryAndSlices -> Typed.TypedTerm Syntax.TPrimary -> Typed.TypedTerm Syntax.TPrimaryAndSlices-tPrimaryAndSlicesWithPrimary original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndSlices"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "primary"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "slices"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndSlices"),- Core.projectionFieldName = (Core.Name "slices")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the slices field of hydra.python.syntax.TPrimaryAndSlices-tPrimaryAndSlicesWithSlices :: Typed.TypedTerm Syntax.TPrimaryAndSlices -> Typed.TypedTerm Syntax.Slices -> Typed.TypedTerm Syntax.TPrimaryAndSlices-tPrimaryAndSlicesWithSlices original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndSlices"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "primary"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndSlices"),- Core.projectionFieldName = (Core.Name "primary")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "slices"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL injection for the atom variant of hydra.python.syntax.TPrimary-tPrimaryAtom :: Typed.TypedTerm Syntax.Atom -> Typed.TypedTerm Syntax.TPrimary-tPrimaryAtom x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.TPrimary"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "atom"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the primaryAndArguments variant of hydra.python.syntax.TPrimary-tPrimaryPrimaryAndArguments :: Typed.TypedTerm Syntax.TPrimaryAndArguments -> Typed.TypedTerm Syntax.TPrimary-tPrimaryPrimaryAndArguments x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.TPrimary"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "primaryAndArguments"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the primaryAndGenexp variant of hydra.python.syntax.TPrimary-tPrimaryPrimaryAndGenexp :: Typed.TypedTerm Syntax.TPrimaryAndGenexp -> Typed.TypedTerm Syntax.TPrimary-tPrimaryPrimaryAndGenexp x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.TPrimary"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "primaryAndGenexp"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the primaryAndName variant of hydra.python.syntax.TPrimary-tPrimaryPrimaryAndName :: Typed.TypedTerm Syntax.TPrimaryAndName -> Typed.TypedTerm Syntax.TPrimary-tPrimaryPrimaryAndName x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.TPrimary"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "primaryAndName"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the primaryAndSlices variant of hydra.python.syntax.TPrimary-tPrimaryPrimaryAndSlices :: Typed.TypedTerm Syntax.TPrimaryAndSlices -> Typed.TypedTerm Syntax.TPrimary-tPrimaryPrimaryAndSlices x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.TPrimary"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "primaryAndSlices"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.TPrimary-tPrimaryTPrimary :: Typed.TypedName Syntax.TPrimary-tPrimaryTPrimary = Typed.TypedName (Core.Name "hydra.python.syntax.TPrimary")---- | DSL injection for the atom variant of hydra.python.syntax.TargetWithStarAtom-targetWithStarAtomAtom :: Typed.TypedTerm Syntax.StarAtom -> Typed.TypedTerm Syntax.TargetWithStarAtom-targetWithStarAtomAtom x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.TargetWithStarAtom"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "atom"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the project variant of hydra.python.syntax.TargetWithStarAtom-targetWithStarAtomProject :: Typed.TypedTerm Syntax.TPrimaryAndName -> Typed.TypedTerm Syntax.TargetWithStarAtom-targetWithStarAtomProject x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.TargetWithStarAtom"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "project"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the slices variant of hydra.python.syntax.TargetWithStarAtom-targetWithStarAtomSlices :: Typed.TypedTerm Syntax.TPrimaryAndSlices -> Typed.TypedTerm Syntax.TargetWithStarAtom-targetWithStarAtomSlices x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.TargetWithStarAtom"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "slices"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.TargetWithStarAtom-targetWithStarAtomTargetWithStarAtom :: Typed.TypedName Syntax.TargetWithStarAtom-targetWithStarAtomTargetWithStarAtom = Typed.TypedName (Core.Name "hydra.python.syntax.TargetWithStarAtom")---- | DSL constructor for hydra.python.syntax.Term-term :: Typed.TypedTerm (Maybe Syntax.TermLhs) -> Typed.TypedTerm Syntax.Factor -> Typed.TypedTerm Syntax.Term-term lhs rhs =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Term"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "lhs"),- Core.fieldTerm = (Typed.unTypedTerm lhs)},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Typed.unTypedTerm rhs)}]}))---- | DSL accessor for the lhs field of hydra.python.syntax.Term-termLhs :: Typed.TypedTerm Syntax.Term -> Typed.TypedTerm (Maybe Syntax.TermLhs)-termLhs x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Term"),- Core.projectionFieldName = (Core.Name "lhs")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL constructor for hydra.python.syntax.TermLhs-termLhs2 :: Typed.TypedTerm Syntax.Term -> Typed.TypedTerm Syntax.TermOp -> Typed.TypedTerm Syntax.TermLhs-termLhs2 operand operator =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TermLhs"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "operand"),- Core.fieldTerm = (Typed.unTypedTerm operand)},- Core.Field {- Core.fieldName = (Core.Name "operator"),- Core.fieldTerm = (Typed.unTypedTerm operator)}]}))---- | DSL accessor for the operand field of hydra.python.syntax.TermLhs-termLhsOperand :: Typed.TypedTerm Syntax.TermLhs -> Typed.TypedTerm Syntax.Term-termLhsOperand x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TermLhs"),- Core.projectionFieldName = (Core.Name "operand")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the operator field of hydra.python.syntax.TermLhs-termLhsOperator :: Typed.TypedTerm Syntax.TermLhs -> Typed.TypedTerm Syntax.TermOp-termLhsOperator x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TermLhs"),- Core.projectionFieldName = (Core.Name "operator")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.TermLhs-termLhsTermLhs :: Typed.TypedName Syntax.TermLhs-termLhsTermLhs = Typed.TypedName (Core.Name "hydra.python.syntax.TermLhs")---- | DSL updater for the operand field of hydra.python.syntax.TermLhs-termLhsWithOperand :: Typed.TypedTerm Syntax.TermLhs -> Typed.TypedTerm Syntax.Term -> Typed.TypedTerm Syntax.TermLhs-termLhsWithOperand original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TermLhs"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "operand"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "operator"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TermLhs"),- Core.projectionFieldName = (Core.Name "operator")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the operator field of hydra.python.syntax.TermLhs-termLhsWithOperator :: Typed.TypedTerm Syntax.TermLhs -> Typed.TypedTerm Syntax.TermOp -> Typed.TypedTerm Syntax.TermLhs-termLhsWithOperator original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TermLhs"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "operand"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TermLhs"),- Core.projectionFieldName = (Core.Name "operand")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "operator"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL injection for the div variant of hydra.python.syntax.TermOp-termOpDiv :: Typed.TypedTerm Syntax.TermOp-termOpDiv =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.TermOp"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "div"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the floordiv variant of hydra.python.syntax.TermOp-termOpFloordiv :: Typed.TypedTerm Syntax.TermOp-termOpFloordiv =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.TermOp"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "floordiv"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the matmul variant of hydra.python.syntax.TermOp-termOpMatmul :: Typed.TypedTerm Syntax.TermOp-termOpMatmul =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.TermOp"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "matmul"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the mod variant of hydra.python.syntax.TermOp-termOpMod :: Typed.TypedTerm Syntax.TermOp-termOpMod =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.TermOp"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "mod"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the mul variant of hydra.python.syntax.TermOp-termOpMul :: Typed.TypedTerm Syntax.TermOp-termOpMul =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.TermOp"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "mul"),- Core.fieldTerm = Core.TermUnit}}))---- | DSL name token for hydra.python.syntax.TermOp-termOpTermOp :: Typed.TypedName Syntax.TermOp-termOpTermOp = Typed.TypedName (Core.Name "hydra.python.syntax.TermOp")---- | DSL accessor for the rhs field of hydra.python.syntax.Term-termRhs :: Typed.TypedTerm Syntax.Term -> Typed.TypedTerm Syntax.Factor-termRhs x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Term"),- Core.projectionFieldName = (Core.Name "rhs")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Term-termTerm :: Typed.TypedName Syntax.Term-termTerm = Typed.TypedName (Core.Name "hydra.python.syntax.Term")---- | DSL updater for the lhs field of hydra.python.syntax.Term-termWithLhs :: Typed.TypedTerm Syntax.Term -> Typed.TypedTerm (Maybe Syntax.TermLhs) -> Typed.TypedTerm Syntax.Term-termWithLhs original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Term"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "lhs"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Term"),- Core.projectionFieldName = (Core.Name "rhs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the rhs field of hydra.python.syntax.Term-termWithRhs :: Typed.TypedTerm Syntax.Term -> Typed.TypedTerm Syntax.Factor -> Typed.TypedTerm Syntax.Term-termWithRhs original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.Term"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "lhs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.Term"),- Core.projectionFieldName = (Core.Name "lhs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.TryExceptStarStatement-tryExceptStarStatement :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm [Syntax.ExceptStarBlock] -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.TryExceptStarStatement-tryExceptStarStatement body excepts else_ finally =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Typed.unTypedTerm body)},- Core.Field {- Core.fieldName = (Core.Name "excepts"),- Core.fieldTerm = (Typed.unTypedTerm excepts)},- Core.Field {- Core.fieldName = (Core.Name "else"),- Core.fieldTerm = (Typed.unTypedTerm else_)},- Core.Field {- Core.fieldName = (Core.Name "finally"),- Core.fieldTerm = (Typed.unTypedTerm finally)}]}))---- | DSL accessor for the body field of hydra.python.syntax.TryExceptStarStatement-tryExceptStarStatementBody :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm Syntax.Block-tryExceptStarStatementBody x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the else field of hydra.python.syntax.TryExceptStarStatement-tryExceptStarStatementElse :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm (Maybe Syntax.Block)-tryExceptStarStatementElse x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),- Core.projectionFieldName = (Core.Name "else")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the excepts field of hydra.python.syntax.TryExceptStarStatement-tryExceptStarStatementExcepts :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm [Syntax.ExceptStarBlock]-tryExceptStarStatementExcepts x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),- Core.projectionFieldName = (Core.Name "excepts")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the finally field of hydra.python.syntax.TryExceptStarStatement-tryExceptStarStatementFinally :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm (Maybe Syntax.Block)-tryExceptStarStatementFinally x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),- Core.projectionFieldName = (Core.Name "finally")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.TryExceptStarStatement-tryExceptStarStatementTryExceptStarStatement :: Typed.TypedName Syntax.TryExceptStarStatement-tryExceptStarStatementTryExceptStarStatement = Typed.TypedName (Core.Name "hydra.python.syntax.TryExceptStarStatement")---- | DSL updater for the body field of hydra.python.syntax.TryExceptStarStatement-tryExceptStarStatementWithBody :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.TryExceptStarStatement-tryExceptStarStatementWithBody original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "excepts"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),- Core.projectionFieldName = (Core.Name "excepts")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "else"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),- Core.projectionFieldName = (Core.Name "else")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "finally"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),- Core.projectionFieldName = (Core.Name "finally")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the else field of hydra.python.syntax.TryExceptStarStatement-tryExceptStarStatementWithElse :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.TryExceptStarStatement-tryExceptStarStatementWithElse original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "excepts"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),- Core.projectionFieldName = (Core.Name "excepts")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "else"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "finally"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),- Core.projectionFieldName = (Core.Name "finally")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the excepts field of hydra.python.syntax.TryExceptStarStatement-tryExceptStarStatementWithExcepts :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm [Syntax.ExceptStarBlock] -> Typed.TypedTerm Syntax.TryExceptStarStatement-tryExceptStarStatementWithExcepts original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "excepts"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "else"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),- Core.projectionFieldName = (Core.Name "else")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "finally"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),- Core.projectionFieldName = (Core.Name "finally")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the finally field of hydra.python.syntax.TryExceptStarStatement-tryExceptStarStatementWithFinally :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.TryExceptStarStatement-tryExceptStarStatementWithFinally original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "excepts"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),- Core.projectionFieldName = (Core.Name "excepts")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "else"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),- Core.projectionFieldName = (Core.Name "else")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "finally"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.TryExceptStatement-tryExceptStatement :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm [Syntax.ExceptBlock] -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.TryExceptStatement-tryExceptStatement body excepts else_ finally =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Typed.unTypedTerm body)},- Core.Field {- Core.fieldName = (Core.Name "excepts"),- Core.fieldTerm = (Typed.unTypedTerm excepts)},- Core.Field {- Core.fieldName = (Core.Name "else"),- Core.fieldTerm = (Typed.unTypedTerm else_)},- Core.Field {- Core.fieldName = (Core.Name "finally"),- Core.fieldTerm = (Typed.unTypedTerm finally)}]}))---- | DSL accessor for the body field of hydra.python.syntax.TryExceptStatement-tryExceptStatementBody :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm Syntax.Block-tryExceptStatementBody x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the else field of hydra.python.syntax.TryExceptStatement-tryExceptStatementElse :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm (Maybe Syntax.Block)-tryExceptStatementElse x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),- Core.projectionFieldName = (Core.Name "else")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the excepts field of hydra.python.syntax.TryExceptStatement-tryExceptStatementExcepts :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm [Syntax.ExceptBlock]-tryExceptStatementExcepts x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),- Core.projectionFieldName = (Core.Name "excepts")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the finally field of hydra.python.syntax.TryExceptStatement-tryExceptStatementFinally :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm (Maybe Syntax.Block)-tryExceptStatementFinally x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),- Core.projectionFieldName = (Core.Name "finally")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.TryExceptStatement-tryExceptStatementTryExceptStatement :: Typed.TypedName Syntax.TryExceptStatement-tryExceptStatementTryExceptStatement = Typed.TypedName (Core.Name "hydra.python.syntax.TryExceptStatement")---- | DSL updater for the body field of hydra.python.syntax.TryExceptStatement-tryExceptStatementWithBody :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.TryExceptStatement-tryExceptStatementWithBody original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "excepts"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),- Core.projectionFieldName = (Core.Name "excepts")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "else"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),- Core.projectionFieldName = (Core.Name "else")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "finally"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),- Core.projectionFieldName = (Core.Name "finally")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the else field of hydra.python.syntax.TryExceptStatement-tryExceptStatementWithElse :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.TryExceptStatement-tryExceptStatementWithElse original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "excepts"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),- Core.projectionFieldName = (Core.Name "excepts")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "else"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "finally"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),- Core.projectionFieldName = (Core.Name "finally")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the excepts field of hydra.python.syntax.TryExceptStatement-tryExceptStatementWithExcepts :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm [Syntax.ExceptBlock] -> Typed.TypedTerm Syntax.TryExceptStatement-tryExceptStatementWithExcepts original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "excepts"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "else"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),- Core.projectionFieldName = (Core.Name "else")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "finally"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),- Core.projectionFieldName = (Core.Name "finally")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the finally field of hydra.python.syntax.TryExceptStatement-tryExceptStatementWithFinally :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.TryExceptStatement-tryExceptStatementWithFinally original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "excepts"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),- Core.projectionFieldName = (Core.Name "excepts")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "else"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),- Core.projectionFieldName = (Core.Name "else")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "finally"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.TryFinallyStatement-tryFinallyStatement :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.TryFinallyStatement-tryFinallyStatement body finally =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TryFinallyStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Typed.unTypedTerm body)},- Core.Field {- Core.fieldName = (Core.Name "finally"),- Core.fieldTerm = (Typed.unTypedTerm finally)}]}))---- | DSL accessor for the body field of hydra.python.syntax.TryFinallyStatement-tryFinallyStatementBody :: Typed.TypedTerm Syntax.TryFinallyStatement -> Typed.TypedTerm Syntax.Block-tryFinallyStatementBody x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryFinallyStatement"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the finally field of hydra.python.syntax.TryFinallyStatement-tryFinallyStatementFinally :: Typed.TypedTerm Syntax.TryFinallyStatement -> Typed.TypedTerm Syntax.Block-tryFinallyStatementFinally x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryFinallyStatement"),- Core.projectionFieldName = (Core.Name "finally")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.TryFinallyStatement-tryFinallyStatementTryFinallyStatement :: Typed.TypedName Syntax.TryFinallyStatement-tryFinallyStatementTryFinallyStatement = Typed.TypedName (Core.Name "hydra.python.syntax.TryFinallyStatement")---- | DSL updater for the body field of hydra.python.syntax.TryFinallyStatement-tryFinallyStatementWithBody :: Typed.TypedTerm Syntax.TryFinallyStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.TryFinallyStatement-tryFinallyStatementWithBody original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TryFinallyStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "finally"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryFinallyStatement"),- Core.projectionFieldName = (Core.Name "finally")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the finally field of hydra.python.syntax.TryFinallyStatement-tryFinallyStatementWithFinally :: Typed.TypedTerm Syntax.TryFinallyStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.TryFinallyStatement-tryFinallyStatementWithFinally original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TryFinallyStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryFinallyStatement"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "finally"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL injection for the except variant of hydra.python.syntax.TryStatement-tryStatementExcept :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm Syntax.TryStatement-tryStatementExcept x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.TryStatement"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "except"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the exceptStar variant of hydra.python.syntax.TryStatement-tryStatementExceptStar :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm Syntax.TryStatement-tryStatementExceptStar x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.TryStatement"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "exceptStar"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the finally variant of hydra.python.syntax.TryStatement-tryStatementFinally :: Typed.TypedTerm Syntax.TryFinallyStatement -> Typed.TypedTerm Syntax.TryStatement-tryStatementFinally x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.TryStatement"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "finally"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.TryStatement-tryStatementTryStatement :: Typed.TypedName Syntax.TryStatement-tryStatementTryStatement = Typed.TypedName (Core.Name "hydra.python.syntax.TryStatement")---- | DSL constructor for the hydra.python.syntax.Tuple wrapper-tuple :: Typed.TypedTerm [Syntax.StarNamedExpression] -> Typed.TypedTerm Syntax.Tuple-tuple x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.Tuple"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Tuple-tupleTuple :: Typed.TypedName Syntax.Tuple-tupleTuple = Typed.TypedName (Core.Name "hydra.python.syntax.Tuple")---- | DSL constructor for hydra.python.syntax.TypeAlias-typeAlias :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm [Syntax.TypeParameter] -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.TypeAlias-typeAlias name typeParams expression =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TypeAlias"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm name)},- Core.Field {- Core.fieldName = (Core.Name "typeParams"),- Core.fieldTerm = (Typed.unTypedTerm typeParams)},- Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Typed.unTypedTerm expression)}]}))---- | DSL accessor for the expression field of hydra.python.syntax.TypeAlias-typeAliasExpression :: Typed.TypedTerm Syntax.TypeAlias -> Typed.TypedTerm Syntax.Expression-typeAliasExpression x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypeAlias"),- Core.projectionFieldName = (Core.Name "expression")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the name field of hydra.python.syntax.TypeAlias-typeAliasName :: Typed.TypedTerm Syntax.TypeAlias -> Typed.TypedTerm Syntax.Name-typeAliasName x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypeAlias"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.TypeAlias-typeAliasTypeAlias :: Typed.TypedName Syntax.TypeAlias-typeAliasTypeAlias = Typed.TypedName (Core.Name "hydra.python.syntax.TypeAlias")---- | DSL accessor for the typeParams field of hydra.python.syntax.TypeAlias-typeAliasTypeParams :: Typed.TypedTerm Syntax.TypeAlias -> Typed.TypedTerm [Syntax.TypeParameter]-typeAliasTypeParams x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypeAlias"),- Core.projectionFieldName = (Core.Name "typeParams")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the expression field of hydra.python.syntax.TypeAlias-typeAliasWithExpression :: Typed.TypedTerm Syntax.TypeAlias -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.TypeAlias-typeAliasWithExpression original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TypeAlias"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypeAlias"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeParams"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypeAlias"),- Core.projectionFieldName = (Core.Name "typeParams")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the name field of hydra.python.syntax.TypeAlias-typeAliasWithName :: Typed.TypedTerm Syntax.TypeAlias -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.TypeAlias-typeAliasWithName original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TypeAlias"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "typeParams"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypeAlias"),- Core.projectionFieldName = (Core.Name "typeParams")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypeAlias"),- Core.projectionFieldName = (Core.Name "expression")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the typeParams field of hydra.python.syntax.TypeAlias-typeAliasWithTypeParams :: Typed.TypedTerm Syntax.TypeAlias -> Typed.TypedTerm [Syntax.TypeParameter] -> Typed.TypedTerm Syntax.TypeAlias-typeAliasWithTypeParams original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TypeAlias"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "name"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypeAlias"),- Core.projectionFieldName = (Core.Name "name")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeParams"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypeAlias"),- Core.projectionFieldName = (Core.Name "expression")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for the hydra.python.syntax.TypeComment wrapper-typeComment :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.TypeComment-typeComment x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.TypeComment"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.TypeComment-typeCommentTypeComment :: Typed.TypedName Syntax.TypeComment-typeCommentTypeComment = Typed.TypedName (Core.Name "hydra.python.syntax.TypeComment")---- | DSL injection for the doubleStarredExpression variant of hydra.python.syntax.TypeExpression-typeExpressionDoubleStarredExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.TypeExpression-typeExpressionDoubleStarredExpression x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.TypeExpression"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "doubleStarredExpression"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the expression variant of hydra.python.syntax.TypeExpression-typeExpressionExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.TypeExpression-typeExpressionExpression x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.TypeExpression"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the starredExpression variant of hydra.python.syntax.TypeExpression-typeExpressionStarredExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.TypeExpression-typeExpressionStarredExpression x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.TypeExpression"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "starredExpression"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.TypeExpression-typeExpressionTypeExpression :: Typed.TypedName Syntax.TypeExpression-typeExpressionTypeExpression = Typed.TypedName (Core.Name "hydra.python.syntax.TypeExpression")---- | DSL injection for the doubleStar variant of hydra.python.syntax.TypeParameter-typeParameterDoubleStar :: Typed.TypedTerm Syntax.DoubleStarTypeParameter -> Typed.TypedTerm Syntax.TypeParameter-typeParameterDoubleStar x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.TypeParameter"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "doubleStar"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the simple variant of hydra.python.syntax.TypeParameter-typeParameterSimple :: Typed.TypedTerm Syntax.SimpleTypeParameter -> Typed.TypedTerm Syntax.TypeParameter-typeParameterSimple x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.TypeParameter"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "simple"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the star variant of hydra.python.syntax.TypeParameter-typeParameterStar :: Typed.TypedTerm Syntax.StarTypeParameter -> Typed.TypedTerm Syntax.TypeParameter-typeParameterStar x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.TypeParameter"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "star"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.TypeParameter-typeParameterTypeParameter :: Typed.TypedName Syntax.TypeParameter-typeParameterTypeParameter = Typed.TypedName (Core.Name "hydra.python.syntax.TypeParameter")---- | DSL constructor for hydra.python.syntax.TypedAssignment-typedAssignment :: Typed.TypedTerm Syntax.SingleTarget -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm (Maybe Syntax.AnnotatedRhs) -> Typed.TypedTerm Syntax.TypedAssignment-typedAssignment lhs type_ rhs =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TypedAssignment"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "lhs"),- Core.fieldTerm = (Typed.unTypedTerm lhs)},- Core.Field {- Core.fieldName = (Core.Name "type"),- Core.fieldTerm = (Typed.unTypedTerm type_)},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Typed.unTypedTerm rhs)}]}))---- | DSL accessor for the lhs field of hydra.python.syntax.TypedAssignment-typedAssignmentLhs :: Typed.TypedTerm Syntax.TypedAssignment -> Typed.TypedTerm Syntax.SingleTarget-typedAssignmentLhs x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypedAssignment"),- Core.projectionFieldName = (Core.Name "lhs")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the rhs field of hydra.python.syntax.TypedAssignment-typedAssignmentRhs :: Typed.TypedTerm Syntax.TypedAssignment -> Typed.TypedTerm (Maybe Syntax.AnnotatedRhs)-typedAssignmentRhs x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypedAssignment"),- Core.projectionFieldName = (Core.Name "rhs")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the type field of hydra.python.syntax.TypedAssignment-typedAssignmentType :: Typed.TypedTerm Syntax.TypedAssignment -> Typed.TypedTerm Syntax.Expression-typedAssignmentType x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypedAssignment"),- Core.projectionFieldName = (Core.Name "type")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.TypedAssignment-typedAssignmentTypedAssignment :: Typed.TypedName Syntax.TypedAssignment-typedAssignmentTypedAssignment = Typed.TypedName (Core.Name "hydra.python.syntax.TypedAssignment")---- | DSL updater for the lhs field of hydra.python.syntax.TypedAssignment-typedAssignmentWithLhs :: Typed.TypedTerm Syntax.TypedAssignment -> Typed.TypedTerm Syntax.SingleTarget -> Typed.TypedTerm Syntax.TypedAssignment-typedAssignmentWithLhs original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TypedAssignment"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "lhs"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "type"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypedAssignment"),- Core.projectionFieldName = (Core.Name "type")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypedAssignment"),- Core.projectionFieldName = (Core.Name "rhs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the rhs field of hydra.python.syntax.TypedAssignment-typedAssignmentWithRhs :: Typed.TypedTerm Syntax.TypedAssignment -> Typed.TypedTerm (Maybe Syntax.AnnotatedRhs) -> Typed.TypedTerm Syntax.TypedAssignment-typedAssignmentWithRhs original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TypedAssignment"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "lhs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypedAssignment"),- Core.projectionFieldName = (Core.Name "lhs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "type"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypedAssignment"),- Core.projectionFieldName = (Core.Name "type")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the type field of hydra.python.syntax.TypedAssignment-typedAssignmentWithType :: Typed.TypedTerm Syntax.TypedAssignment -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.TypedAssignment-typedAssignmentWithType original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.TypedAssignment"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "lhs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypedAssignment"),- Core.projectionFieldName = (Core.Name "lhs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "type"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypedAssignment"),- Core.projectionFieldName = (Core.Name "rhs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL accessor for the body of hydra.python.syntax.Annotation-unAnnotation :: Typed.TypedTerm Syntax.Annotation -> Typed.TypedTerm Syntax.Expression-unAnnotation x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.Annotation")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.Attribute-unAttribute :: Typed.TypedTerm Syntax.Attribute -> Typed.TypedTerm [Syntax.Name]-unAttribute x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.Attribute")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.CapturePattern-unCapturePattern :: Typed.TypedTerm Syntax.CapturePattern -> Typed.TypedTerm Syntax.PatternCaptureTarget-unCapturePattern x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.CapturePattern")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.Conjunction-unConjunction :: Typed.TypedTerm Syntax.Conjunction -> Typed.TypedTerm [Syntax.Inversion]-unConjunction x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.Conjunction")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.Decorators-unDecorators :: Typed.TypedTerm Syntax.Decorators -> Typed.TypedTerm [Syntax.NamedExpression]-unDecorators x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.Decorators")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.Default-unDefault :: Typed.TypedTerm Syntax.Default -> Typed.TypedTerm Syntax.Expression-unDefault x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.Default")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.DelStatement-unDelStatement :: Typed.TypedTerm Syntax.DelStatement -> Typed.TypedTerm Syntax.DelTargets-unDelStatement x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.DelStatement")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.DelTargets-unDelTargets :: Typed.TypedTerm Syntax.DelTargets -> Typed.TypedTerm [Syntax.DelTarget]-unDelTargets x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.DelTargets")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.Dict-unDict :: Typed.TypedTerm Syntax.Dict -> Typed.TypedTerm [Syntax.DoubleStarredKvpair]-unDict x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.Dict")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.Disjunction-unDisjunction :: Typed.TypedTerm Syntax.Disjunction -> Typed.TypedTerm [Syntax.Conjunction]-unDisjunction x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.Disjunction")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.DottedName-unDottedName :: Typed.TypedTerm Syntax.DottedName -> Typed.TypedTerm [Syntax.Name]-unDottedName x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.DottedName")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.DoubleStarPattern-unDoubleStarPattern :: Typed.TypedTerm Syntax.DoubleStarPattern -> Typed.TypedTerm Syntax.PatternCaptureTarget-unDoubleStarPattern x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.DoubleStarPattern")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.Eval-unEval :: Typed.TypedTerm Syntax.Eval -> Typed.TypedTerm [Syntax.Expression]-unEval x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.Eval")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.File-unFile :: Typed.TypedTerm Syntax.File -> Typed.TypedTerm [Syntax.Statement]-unFile x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.File")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.ForIfClauses-unForIfClauses :: Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm [Syntax.ForIfClause]-unForIfClauses x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.ForIfClauses")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.FuncTypeComment-unFuncTypeComment :: Typed.TypedTerm Syntax.FuncTypeComment -> Typed.TypedTerm Syntax.TypeComment-unFuncTypeComment x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.FuncTypeComment")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.GroupPattern-unGroupPattern :: Typed.TypedTerm Syntax.GroupPattern -> Typed.TypedTerm Syntax.Pattern-unGroupPattern x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.GroupPattern")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.Guard-unGuard :: Typed.TypedTerm Syntax.Guard -> Typed.TypedTerm Syntax.NamedExpression-unGuard x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.Guard")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.ImaginaryNumber-unImaginaryNumber :: Typed.TypedTerm Syntax.ImaginaryNumber -> Typed.TypedTerm Double-unImaginaryNumber x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.ImaginaryNumber")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.ImportName-unImportName :: Typed.TypedTerm Syntax.ImportName -> Typed.TypedTerm [Syntax.DottedAsName]-unImportName x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.ImportName")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.Interactive-unInteractive :: Typed.TypedTerm Syntax.Interactive -> Typed.TypedTerm Syntax.Statement-unInteractive x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.Interactive")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.ItemsPattern-unItemsPattern :: Typed.TypedTerm Syntax.ItemsPattern -> Typed.TypedTerm [Syntax.KeyValuePattern]-unItemsPattern x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.ItemsPattern")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.KeywordPatterns-unKeywordPatterns :: Typed.TypedTerm Syntax.KeywordPatterns -> Typed.TypedTerm [Syntax.KeywordPattern]-unKeywordPatterns x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.KeywordPatterns")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.Keywords-unKeywords :: Typed.TypedTerm Syntax.Keywords -> Typed.TypedTerm Syntax.ParamNoDefault-unKeywords x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.Keywords")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.LambdaKwds-unLambdaKwds :: Typed.TypedTerm Syntax.LambdaKwds -> Typed.TypedTerm Syntax.LambdaParamNoDefault-unLambdaKwds x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.LambdaKwds")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.LambdaParamNoDefault-unLambdaParamNoDefault :: Typed.TypedTerm Syntax.LambdaParamNoDefault -> Typed.TypedTerm Syntax.Name-unLambdaParamNoDefault x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.LambdaParamNoDefault")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.List-unList :: Typed.TypedTerm Syntax.List -> Typed.TypedTerm [Syntax.StarNamedExpression]-unList x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.List")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.MaybeSequencePattern-unMaybeSequencePattern :: Typed.TypedTerm Syntax.MaybeSequencePattern -> Typed.TypedTerm [Syntax.MaybeStarPattern]-unMaybeSequencePattern x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.MaybeSequencePattern")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.Module-unModule :: Typed.TypedTerm Syntax.Module -> Typed.TypedTerm [[Syntax.Statement]]-unModule x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.Module")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.Name-unName :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm String-unName x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.Name")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.NameOrAttribute-unNameOrAttribute :: Typed.TypedTerm Syntax.NameOrAttribute -> Typed.TypedTerm [Syntax.Name]-unNameOrAttribute x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.NameOrAttribute")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.OrPattern-unOrPattern :: Typed.TypedTerm Syntax.OrPattern -> Typed.TypedTerm [Syntax.ClosedPattern]-unOrPattern x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.OrPattern")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.PatternCaptureTarget-unPatternCaptureTarget :: Typed.TypedTerm Syntax.PatternCaptureTarget -> Typed.TypedTerm Syntax.Name-unPatternCaptureTarget x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.PatternCaptureTarget")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.PositionalPatterns-unPositionalPatterns :: Typed.TypedTerm Syntax.PositionalPatterns -> Typed.TypedTerm [Syntax.Pattern]-unPositionalPatterns x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.PositionalPatterns")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.RaiseStatement-unRaiseStatement :: Typed.TypedTerm Syntax.RaiseStatement -> Typed.TypedTerm (Maybe Syntax.RaiseExpression)-unRaiseStatement x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.RaiseStatement")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.ReturnStatement-unReturnStatement :: Typed.TypedTerm Syntax.ReturnStatement -> Typed.TypedTerm [Syntax.StarExpression]-unReturnStatement x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.ReturnStatement")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.Set-unSet :: Typed.TypedTerm Syntax.Set -> Typed.TypedTerm [Syntax.StarNamedExpression]-unSet x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.Set")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.SlashNoDefault-unSlashNoDefault :: Typed.TypedTerm Syntax.SlashNoDefault -> Typed.TypedTerm [Syntax.ParamNoDefault]-unSlashNoDefault x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.SlashNoDefault")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.StarAnnotation-unStarAnnotation :: Typed.TypedTerm Syntax.StarAnnotation -> Typed.TypedTerm Syntax.StarExpression-unStarAnnotation x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.StarAnnotation")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.StarNamedExpressions-unStarNamedExpressions :: Typed.TypedTerm Syntax.StarNamedExpressions -> Typed.TypedTerm [Syntax.StarNamedExpression]-unStarNamedExpressions x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.StarNamedExpressions")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.StarTargetsListSeq-unStarTargetsListSeq :: Typed.TypedTerm Syntax.StarTargetsListSeq -> Typed.TypedTerm [Syntax.StarTarget]-unStarTargetsListSeq x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.StarTargetsListSeq")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.StarTargetsTupleSeq-unStarTargetsTupleSeq :: Typed.TypedTerm Syntax.StarTargetsTupleSeq -> Typed.TypedTerm [Syntax.StarTarget]-unStarTargetsTupleSeq x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.StarTargetsTupleSeq")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.StarredExpression-unStarredExpression :: Typed.TypedTerm Syntax.StarredExpression -> Typed.TypedTerm Syntax.Expression-unStarredExpression x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.StarredExpression")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.Tuple-unTuple :: Typed.TypedTerm Syntax.Tuple -> Typed.TypedTerm [Syntax.StarNamedExpression]-unTuple x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.Tuple")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.TypeComment-unTypeComment :: Typed.TypedTerm Syntax.TypeComment -> Typed.TypedTerm String-unTypeComment x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.TypeComment")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.ValuePattern-unValuePattern :: Typed.TypedTerm Syntax.ValuePattern -> Typed.TypedTerm Syntax.Attribute-unValuePattern x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.ValuePattern")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.YieldStatement-unYieldStatement :: Typed.TypedTerm Syntax.YieldStatement -> Typed.TypedTerm Syntax.YieldExpression-unYieldStatement x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.YieldStatement")),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL constructor for hydra.python.syntax.UntypedAssignment-untypedAssignment :: Typed.TypedTerm [Syntax.StarTarget] -> Typed.TypedTerm Syntax.AnnotatedRhs -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.UntypedAssignment-untypedAssignment targets rhs typeComment =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.UntypedAssignment"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "targets"),- Core.fieldTerm = (Typed.unTypedTerm targets)},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Typed.unTypedTerm rhs)},- Core.Field {- Core.fieldName = (Core.Name "typeComment"),- Core.fieldTerm = (Typed.unTypedTerm typeComment)}]}))---- | DSL accessor for the rhs field of hydra.python.syntax.UntypedAssignment-untypedAssignmentRhs :: Typed.TypedTerm Syntax.UntypedAssignment -> Typed.TypedTerm Syntax.AnnotatedRhs-untypedAssignmentRhs x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.UntypedAssignment"),- Core.projectionFieldName = (Core.Name "rhs")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the targets field of hydra.python.syntax.UntypedAssignment-untypedAssignmentTargets :: Typed.TypedTerm Syntax.UntypedAssignment -> Typed.TypedTerm [Syntax.StarTarget]-untypedAssignmentTargets x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.UntypedAssignment"),- Core.projectionFieldName = (Core.Name "targets")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the typeComment field of hydra.python.syntax.UntypedAssignment-untypedAssignmentTypeComment :: Typed.TypedTerm Syntax.UntypedAssignment -> Typed.TypedTerm (Maybe Syntax.TypeComment)-untypedAssignmentTypeComment x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.UntypedAssignment"),- Core.projectionFieldName = (Core.Name "typeComment")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.UntypedAssignment-untypedAssignmentUntypedAssignment :: Typed.TypedName Syntax.UntypedAssignment-untypedAssignmentUntypedAssignment = Typed.TypedName (Core.Name "hydra.python.syntax.UntypedAssignment")---- | DSL updater for the rhs field of hydra.python.syntax.UntypedAssignment-untypedAssignmentWithRhs :: Typed.TypedTerm Syntax.UntypedAssignment -> Typed.TypedTerm Syntax.AnnotatedRhs -> Typed.TypedTerm Syntax.UntypedAssignment-untypedAssignmentWithRhs original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.UntypedAssignment"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "targets"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.UntypedAssignment"),- Core.projectionFieldName = (Core.Name "targets")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "typeComment"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.UntypedAssignment"),- Core.projectionFieldName = (Core.Name "typeComment")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the targets field of hydra.python.syntax.UntypedAssignment-untypedAssignmentWithTargets :: Typed.TypedTerm Syntax.UntypedAssignment -> Typed.TypedTerm [Syntax.StarTarget] -> Typed.TypedTerm Syntax.UntypedAssignment-untypedAssignmentWithTargets original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.UntypedAssignment"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "targets"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.UntypedAssignment"),- Core.projectionFieldName = (Core.Name "rhs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeComment"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.UntypedAssignment"),- Core.projectionFieldName = (Core.Name "typeComment")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the typeComment field of hydra.python.syntax.UntypedAssignment-untypedAssignmentWithTypeComment :: Typed.TypedTerm Syntax.UntypedAssignment -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.UntypedAssignment-untypedAssignmentWithTypeComment original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.UntypedAssignment"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "targets"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.UntypedAssignment"),- Core.projectionFieldName = (Core.Name "targets")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "rhs"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.UntypedAssignment"),- Core.projectionFieldName = (Core.Name "rhs")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeComment"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for the hydra.python.syntax.ValuePattern wrapper-valuePattern :: Typed.TypedTerm Syntax.Attribute -> Typed.TypedTerm Syntax.ValuePattern-valuePattern x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.ValuePattern"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ValuePattern-valuePatternValuePattern :: Typed.TypedName Syntax.ValuePattern-valuePatternValuePattern = Typed.TypedName (Core.Name "hydra.python.syntax.ValuePattern")---- | DSL constructor for hydra.python.syntax.WhileStatement-whileStatement :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.WhileStatement-whileStatement condition body else_ =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.WhileStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "condition"),- Core.fieldTerm = (Typed.unTypedTerm condition)},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Typed.unTypedTerm body)},- Core.Field {- Core.fieldName = (Core.Name "else"),- Core.fieldTerm = (Typed.unTypedTerm else_)}]}))---- | DSL accessor for the body field of hydra.python.syntax.WhileStatement-whileStatementBody :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm Syntax.Block-whileStatementBody x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.WhileStatement"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the condition field of hydra.python.syntax.WhileStatement-whileStatementCondition :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm Syntax.NamedExpression-whileStatementCondition x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.WhileStatement"),- Core.projectionFieldName = (Core.Name "condition")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the else field of hydra.python.syntax.WhileStatement-whileStatementElse :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm (Maybe Syntax.Block)-whileStatementElse x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.WhileStatement"),- Core.projectionFieldName = (Core.Name "else")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.WhileStatement-whileStatementWhileStatement :: Typed.TypedName Syntax.WhileStatement-whileStatementWhileStatement = Typed.TypedName (Core.Name "hydra.python.syntax.WhileStatement")---- | DSL updater for the body field of hydra.python.syntax.WhileStatement-whileStatementWithBody :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.WhileStatement-whileStatementWithBody original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.WhileStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "condition"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.WhileStatement"),- Core.projectionFieldName = (Core.Name "condition")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "else"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.WhileStatement"),- Core.projectionFieldName = (Core.Name "else")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the condition field of hydra.python.syntax.WhileStatement-whileStatementWithCondition :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.WhileStatement-whileStatementWithCondition original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.WhileStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "condition"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.WhileStatement"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "else"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.WhileStatement"),- Core.projectionFieldName = (Core.Name "else")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the else field of hydra.python.syntax.WhileStatement-whileStatementWithElse :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.WhileStatement-whileStatementWithElse original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.WhileStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "condition"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.WhileStatement"),- Core.projectionFieldName = (Core.Name "condition")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.WhileStatement"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "else"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.WithItem-withItem :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm (Maybe Syntax.StarTarget) -> Typed.TypedTerm Syntax.WithItem-withItem expression as =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.WithItem"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Typed.unTypedTerm expression)},- Core.Field {- Core.fieldName = (Core.Name "as"),- Core.fieldTerm = (Typed.unTypedTerm as)}]}))---- | DSL accessor for the as field of hydra.python.syntax.WithItem-withItemAs :: Typed.TypedTerm Syntax.WithItem -> Typed.TypedTerm (Maybe Syntax.StarTarget)-withItemAs x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithItem"),- Core.projectionFieldName = (Core.Name "as")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the expression field of hydra.python.syntax.WithItem-withItemExpression :: Typed.TypedTerm Syntax.WithItem -> Typed.TypedTerm Syntax.Expression-withItemExpression x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithItem"),- Core.projectionFieldName = (Core.Name "expression")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the as field of hydra.python.syntax.WithItem-withItemWithAs :: Typed.TypedTerm Syntax.WithItem -> Typed.TypedTerm (Maybe Syntax.StarTarget) -> Typed.TypedTerm Syntax.WithItem-withItemWithAs original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.WithItem"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithItem"),- Core.projectionFieldName = (Core.Name "expression")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "as"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the expression field of hydra.python.syntax.WithItem-withItemWithExpression :: Typed.TypedTerm Syntax.WithItem -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.WithItem-withItemWithExpression original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.WithItem"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "expression"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "as"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithItem"),- Core.projectionFieldName = (Core.Name "as")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL name token for hydra.python.syntax.WithItem-withItemWithItem :: Typed.TypedName Syntax.WithItem-withItemWithItem = Typed.TypedName (Core.Name "hydra.python.syntax.WithItem")---- | DSL constructor for hydra.python.syntax.WithStatement-withStatement :: Typed.TypedTerm Bool -> Typed.TypedTerm [Syntax.WithItem] -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.WithStatement-withStatement async items typeComment body =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.WithStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "async"),- Core.fieldTerm = (Typed.unTypedTerm async)},- Core.Field {- Core.fieldName = (Core.Name "items"),- Core.fieldTerm = (Typed.unTypedTerm items)},- Core.Field {- Core.fieldName = (Core.Name "typeComment"),- Core.fieldTerm = (Typed.unTypedTerm typeComment)},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Typed.unTypedTerm body)}]}))---- | DSL accessor for the async field of hydra.python.syntax.WithStatement-withStatementAsync :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm Bool-withStatementAsync x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithStatement"),- Core.projectionFieldName = (Core.Name "async")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body field of hydra.python.syntax.WithStatement-withStatementBody :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm Syntax.Block-withStatementBody x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithStatement"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the items field of hydra.python.syntax.WithStatement-withStatementItems :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm [Syntax.WithItem]-withStatementItems x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithStatement"),- Core.projectionFieldName = (Core.Name "items")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the typeComment field of hydra.python.syntax.WithStatement-withStatementTypeComment :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm (Maybe Syntax.TypeComment)-withStatementTypeComment x =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithStatement"),- Core.projectionFieldName = (Core.Name "typeComment")})),- Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the async field of hydra.python.syntax.WithStatement-withStatementWithAsync :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.WithStatement-withStatementWithAsync original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.WithStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "async"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "items"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithStatement"),- Core.projectionFieldName = (Core.Name "items")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeComment"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithStatement"),- Core.projectionFieldName = (Core.Name "typeComment")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithStatement"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the body field of hydra.python.syntax.WithStatement-withStatementWithBody :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.WithStatement-withStatementWithBody original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.WithStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "async"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithStatement"),- Core.projectionFieldName = (Core.Name "async")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "items"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithStatement"),- Core.projectionFieldName = (Core.Name "items")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeComment"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithStatement"),- Core.projectionFieldName = (Core.Name "typeComment")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the items field of hydra.python.syntax.WithStatement-withStatementWithItems :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm [Syntax.WithItem] -> Typed.TypedTerm Syntax.WithStatement-withStatementWithItems original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.WithStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "async"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithStatement"),- Core.projectionFieldName = (Core.Name "async")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "items"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "typeComment"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithStatement"),- Core.projectionFieldName = (Core.Name "typeComment")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithStatement"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL name token for hydra.python.syntax.WithStatement-withStatementWithStatement :: Typed.TypedName Syntax.WithStatement-withStatementWithStatement = Typed.TypedName (Core.Name "hydra.python.syntax.WithStatement")---- | DSL updater for the typeComment field of hydra.python.syntax.WithStatement-withStatementWithTypeComment :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.WithStatement-withStatementWithTypeComment original newVal =- Typed.TypedTerm (Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.Name "hydra.python.syntax.WithStatement"),- Core.recordFields = [- Core.Field {- Core.fieldName = (Core.Name "async"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithStatement"),- Core.projectionFieldName = (Core.Name "async")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "items"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithStatement"),- Core.projectionFieldName = (Core.Name "items")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))},- Core.Field {- Core.fieldName = (Core.Name "typeComment"),- Core.fieldTerm = (Typed.unTypedTerm newVal)},- Core.Field {- Core.fieldName = (Core.Name "body"),- Core.fieldTerm = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermProject (Core.Projection {- Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithStatement"),- Core.projectionFieldName = (Core.Name "body")})),- Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL injection for the from variant of hydra.python.syntax.YieldExpression-yieldExpressionFrom :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.YieldExpression-yieldExpressionFrom x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.YieldExpression"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "from"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the simple variant of hydra.python.syntax.YieldExpression-yieldExpressionSimple :: Typed.TypedTerm [Syntax.StarExpression] -> Typed.TypedTerm Syntax.YieldExpression-yieldExpressionSimple x =- Typed.TypedTerm (Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.Name "hydra.python.syntax.YieldExpression"),- Core.injectionField = Core.Field {- Core.fieldName = (Core.Name "simple"),- Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.YieldExpression-yieldExpressionYieldExpression :: Typed.TypedName Syntax.YieldExpression-yieldExpressionYieldExpression = Typed.TypedName (Core.Name "hydra.python.syntax.YieldExpression")---- | DSL constructor for the hydra.python.syntax.YieldStatement wrapper-yieldStatement :: Typed.TypedTerm Syntax.YieldExpression -> Typed.TypedTerm Syntax.YieldStatement-yieldStatement x =- Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.YieldStatement"),- Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.YieldStatement-yieldStatementYieldStatement :: Typed.TypedName Syntax.YieldStatement-yieldStatementYieldStatement = Typed.TypedName (Core.Name "hydra.python.syntax.YieldStatement")
− src/main/haskell/Hydra/Dsl/Python/Utils.hs
@@ -1,561 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | DSL functions for hydra.python.utils--module Hydra.Dsl.Python.Utils where--import qualified Hydra.Analysis as Analysis-import qualified Hydra.Ast as Ast-import qualified Hydra.Classes as Classes-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Dsl.Python.Environment as PythonEnvironment-import qualified Hydra.Dsl.Python.Names as PythonNames-import qualified Hydra.Dsl.Python.Syntax as PythonSyntax-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Errors as Errors-import qualified Hydra.Graph as Graph-import qualified Hydra.Json.Model as Model-import qualified Hydra.Packaging as Packaging-import qualified Hydra.Parsing as Parsing-import qualified Hydra.Paths as Paths-import qualified Hydra.Python.Environment as Environment-import qualified Hydra.Python.Names as Names-import qualified Hydra.Python.Serde as Serde-import qualified Hydra.Python.Syntax as Syntax-import qualified Hydra.Python.Utils as Utils-import qualified Hydra.Query as Query-import qualified Hydra.Relational as Relational-import qualified Hydra.Serialization as Serialization-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Topology as Topology-import qualified Hydra.Typed as Typed-import qualified Hydra.Typing as Typing-import qualified Hydra.Util as Util-import qualified Hydra.Validation as Validation-import qualified Hydra.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.Set as S---- | DSL reference to hydra.python.utils.annotatedExpression-annotatedExpression :: Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Expression-annotatedExpression arg0 arg1 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.annotatedExpression")),- Core.applicationArgument = (Typed.unTypedTerm arg0)})),- Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.utils.annotatedStatement-annotatedStatement :: Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm Syntax.Statement-annotatedStatement arg0 arg1 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.annotatedStatement")),- Core.applicationArgument = (Typed.unTypedTerm arg0)})),- Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.utils.assignment-assignment :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.AnnotatedRhs -> Typed.TypedTerm Syntax.Statement-assignment arg0 arg1 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.assignment")),- Core.applicationArgument = (Typed.unTypedTerm arg0)})),- Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.utils.assignmentStatement-assignmentStatement :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement-assignmentStatement arg0 arg1 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.assignmentStatement")),- Core.applicationArgument = (Typed.unTypedTerm arg0)})),- Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.utils.castTo-castTo :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Expression-castTo arg0 arg1 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.castTo")),- Core.applicationArgument = (Typed.unTypedTerm arg0)})),- Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.utils.commentStatement-commentStatement :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Statement-commentStatement arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.commentStatement")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.decimalVariantMethods-decimalVariantMethods :: Typed.TypedTerm [Syntax.Statement]-decimalVariantMethods = Typed.TypedTerm (Core.TermVariable (Core.Name "hydra.python.utils.decimalVariantMethods"))---- | DSL reference to hydra.python.utils.decodePyComparisonToPyAwaitPrimary-decodePyComparisonToPyAwaitPrimary :: Typed.TypedTerm Syntax.Comparison -> Typed.TypedTerm (Maybe Syntax.Primary)-decodePyComparisonToPyAwaitPrimary arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.decodePyComparisonToPyAwaitPrimary")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.decodePyConjunctionToPyPrimary-decodePyConjunctionToPyPrimary :: Typed.TypedTerm Syntax.Conjunction -> Typed.TypedTerm (Maybe Syntax.Primary)-decodePyConjunctionToPyPrimary arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.decodePyConjunctionToPyPrimary")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.decodePyExpressionToPyPrimary-decodePyExpressionToPyPrimary :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm (Maybe Syntax.Primary)-decodePyExpressionToPyPrimary arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.decodePyExpressionToPyPrimary")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.decodePyInversionToPyPrimary-decodePyInversionToPyPrimary :: Typed.TypedTerm Syntax.Inversion -> Typed.TypedTerm (Maybe Syntax.Primary)-decodePyInversionToPyPrimary arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.decodePyInversionToPyPrimary")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.decodePyPowerToPyPrimary-decodePyPowerToPyPrimary :: Typed.TypedTerm Syntax.Power -> Typed.TypedTerm (Maybe Syntax.Primary)-decodePyPowerToPyPrimary arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.decodePyPowerToPyPrimary")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.dottedAssignmentStatement-dottedAssignmentStatement :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement-dottedAssignmentStatement arg0 arg1 arg2 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.dottedAssignmentStatement")),- Core.applicationArgument = (Typed.unTypedTerm arg0)})),- Core.applicationArgument = (Typed.unTypedTerm arg1)})),- Core.applicationArgument = (Typed.unTypedTerm arg2)}))---- | DSL reference to hydra.python.utils.doubleQuotedString-doubleQuotedString :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Expression-doubleQuotedString arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.doubleQuotedString")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.findNamespaces-findNamespaces :: Typed.TypedTerm (S.Set String) -> Typed.TypedTerm Packaging.ModuleName -> Typed.TypedTerm [Packaging.Definition] -> Typed.TypedTerm (Util.ModuleNames Syntax.DottedName)-findNamespaces arg0 arg1 arg2 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.findNamespaces")),- Core.applicationArgument = (Typed.unTypedTerm arg0)})),- Core.applicationArgument = (Typed.unTypedTerm arg1)})),- Core.applicationArgument = (Typed.unTypedTerm arg2)}))---- | DSL reference to hydra.python.utils.functionCall-functionCall :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.Expression-functionCall arg0 arg1 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.functionCall")),- Core.applicationArgument = (Typed.unTypedTerm arg0)})),- Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.utils.getItemParams-getItemParams :: Typed.TypedTerm Syntax.Parameters-getItemParams = Typed.TypedTerm (Core.TermVariable (Core.Name "hydra.python.utils.getItemParams"))---- | DSL reference to hydra.python.utils.indentedBlock-indentedBlock :: Typed.TypedTerm (Maybe String) -> Typed.TypedTerm [[Syntax.Statement]] -> Typed.TypedTerm Syntax.Block-indentedBlock arg0 arg1 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.indentedBlock")),- Core.applicationArgument = (Typed.unTypedTerm arg0)})),- Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.utils.nameAndParams-nameAndParams :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.Expression-nameAndParams arg0 arg1 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.nameAndParams")),- Core.applicationArgument = (Typed.unTypedTerm arg0)})),- Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.utils.newtypeStatement-newtypeStatement :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement-newtypeStatement arg0 arg1 arg2 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.newtypeStatement")),- Core.applicationArgument = (Typed.unTypedTerm arg0)})),- Core.applicationArgument = (Typed.unTypedTerm arg1)})),- Core.applicationArgument = (Typed.unTypedTerm arg2)}))---- | DSL reference to hydra.python.utils.orExpression-orExpression :: Typed.TypedTerm [Syntax.Primary] -> Typed.TypedTerm Syntax.Expression-orExpression arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.orExpression")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.primaryAndParams-primaryAndParams :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.Expression-primaryAndParams arg0 arg1 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.primaryAndParams")),- Core.applicationArgument = (Typed.unTypedTerm arg0)})),- Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.utils.primaryWithExpressionSlices-primaryWithExpressionSlices :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.Primary-primaryWithExpressionSlices arg0 arg1 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.primaryWithExpressionSlices")),- Core.applicationArgument = (Typed.unTypedTerm arg0)})),- Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.utils.primaryWithRhs-primaryWithRhs :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.PrimaryRhs -> Typed.TypedTerm Syntax.Primary-primaryWithRhs arg0 arg1 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.primaryWithRhs")),- Core.applicationArgument = (Typed.unTypedTerm arg0)})),- Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.utils.primaryWithSlices-primaryWithSlices :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.Slice -> Typed.TypedTerm [Syntax.SliceOrStarredExpression] -> Typed.TypedTerm Syntax.Primary-primaryWithSlices arg0 arg1 arg2 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.primaryWithSlices")),- Core.applicationArgument = (Typed.unTypedTerm arg0)})),- Core.applicationArgument = (Typed.unTypedTerm arg1)})),- Core.applicationArgument = (Typed.unTypedTerm arg2)}))---- | DSL reference to hydra.python.utils.projectFromExpression-projectFromExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Expression-projectFromExpression arg0 arg1 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.projectFromExpression")),- Core.applicationArgument = (Typed.unTypedTerm arg0)})),- Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.utils.pyAssignmentToPyStatement-pyAssignmentToPyStatement :: Typed.TypedTerm Syntax.Assignment -> Typed.TypedTerm Syntax.Statement-pyAssignmentToPyStatement arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyAssignmentToPyStatement")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyAtomToPyExpression-pyAtomToPyExpression :: Typed.TypedTerm Syntax.Atom -> Typed.TypedTerm Syntax.Expression-pyAtomToPyExpression arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyAtomToPyExpression")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyBitwiseOrToPyConjunction-pyBitwiseOrToPyConjunction :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.Conjunction-pyBitwiseOrToPyConjunction arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyBitwiseOrToPyConjunction")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyBitwiseOrToPyExpression-pyBitwiseOrToPyExpression :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.Expression-pyBitwiseOrToPyExpression arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyBitwiseOrToPyExpression")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyClassDefinitionToPyStatement-pyClassDefinitionToPyStatement :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm Syntax.Statement-pyClassDefinitionToPyStatement arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyClassDefinitionToPyStatement")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyClosedPatternToPyPatterns-pyClosedPatternToPyPatterns :: Typed.TypedTerm Syntax.ClosedPattern -> Typed.TypedTerm Syntax.Patterns-pyClosedPatternToPyPatterns arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyClosedPatternToPyPatterns")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyConjunctionToPyExpression-pyConjunctionToPyExpression :: Typed.TypedTerm Syntax.Conjunction -> Typed.TypedTerm Syntax.Expression-pyConjunctionToPyExpression arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyConjunctionToPyExpression")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyExpressionToBitwiseOr-pyExpressionToBitwiseOr :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.BitwiseOr-pyExpressionToBitwiseOr arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyExpressionToBitwiseOr")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyExpressionToDisjunction-pyExpressionToDisjunction :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Disjunction-pyExpressionToDisjunction arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyExpressionToDisjunction")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyExpressionToPyAnnotatedRhs-pyExpressionToPyAnnotatedRhs :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.AnnotatedRhs-pyExpressionToPyAnnotatedRhs arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyExpressionToPyAnnotatedRhs")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyExpressionToPyPrimary-pyExpressionToPyPrimary :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Primary-pyExpressionToPyPrimary arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyExpressionToPyPrimary")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyExpressionToPySimpleStatement-pyExpressionToPySimpleStatement :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.SimpleStatement-pyExpressionToPySimpleStatement arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyExpressionToPySimpleStatement")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyExpressionToPySlice-pyExpressionToPySlice :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Slice-pyExpressionToPySlice arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyExpressionToPySlice")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyExpressionToPyStarNamedExpression-pyExpressionToPyStarNamedExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.StarNamedExpression-pyExpressionToPyStarNamedExpression arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyExpressionToPyStarNamedExpression")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyExpressionToPyStatement-pyExpressionToPyStatement :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement-pyExpressionToPyStatement arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyExpressionToPyStatement")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyExpressionsToPyArgs-pyExpressionsToPyArgs :: Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.Args-pyExpressionsToPyArgs arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyExpressionsToPyArgs")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyList-pyList :: Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.List-pyList arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyList")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyNameToPyExpression-pyNameToPyExpression :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Expression-pyNameToPyExpression arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyNameToPyExpression")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyNameToPyNamedExpression-pyNameToPyNamedExpression :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.NamedExpression-pyNameToPyNamedExpression arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyNameToPyNamedExpression")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyNameToPyPrimary-pyNameToPyPrimary :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Primary-pyNameToPyPrimary arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyNameToPyPrimary")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyNameToPyStarTarget-pyNameToPyStarTarget :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.StarTarget-pyNameToPyStarTarget arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyNameToPyStarTarget")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyNameToPyTypeParameter-pyNameToPyTypeParameter :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.TypeParameter-pyNameToPyTypeParameter arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyNameToPyTypeParameter")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyNone-pyNone :: Typed.TypedTerm Syntax.Name-pyNone = Typed.TypedTerm (Core.TermVariable (Core.Name "hydra.python.utils.pyNone"))---- | DSL reference to hydra.python.utils.pyPrimaryToPyBitwiseOr-pyPrimaryToPyBitwiseOr :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.BitwiseOr-pyPrimaryToPyBitwiseOr arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyPrimaryToPyBitwiseOr")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyPrimaryToPyBitwiseXor-pyPrimaryToPyBitwiseXor :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.BitwiseXor-pyPrimaryToPyBitwiseXor arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyPrimaryToPyBitwiseXor")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyPrimaryToPyConjunction-pyPrimaryToPyConjunction :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.Conjunction-pyPrimaryToPyConjunction arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyPrimaryToPyConjunction")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyPrimaryToPyExpression-pyPrimaryToPyExpression :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.Expression-pyPrimaryToPyExpression arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyPrimaryToPyExpression")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyPrimaryToPySlice-pyPrimaryToPySlice :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.Slice-pyPrimaryToPySlice arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyPrimaryToPySlice")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pySimpleStatementToPyStatement-pySimpleStatementToPyStatement :: Typed.TypedTerm Syntax.SimpleStatement -> Typed.TypedTerm Syntax.Statement-pySimpleStatementToPyStatement arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pySimpleStatementToPyStatement")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.raiseAssertionError-raiseAssertionError :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Statement-raiseAssertionError arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.raiseAssertionError")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.raiseTypeError-raiseTypeError :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Statement-raiseTypeError arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.raiseTypeError")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.returnSingle-returnSingle :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement-returnSingle arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.returnSingle")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.selfOnlyParams-selfOnlyParams :: Typed.TypedTerm Syntax.Parameters-selfOnlyParams = Typed.TypedTerm (Core.TermVariable (Core.Name "hydra.python.utils.selfOnlyParams"))---- | DSL reference to hydra.python.utils.selfOtherParams-selfOtherParams :: Typed.TypedTerm Syntax.Parameters-selfOtherParams = Typed.TypedTerm (Core.TermVariable (Core.Name "hydra.python.utils.selfOtherParams"))---- | DSL reference to hydra.python.utils.singleQuotedString-singleQuotedString :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Expression-singleQuotedString arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.singleQuotedString")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.stringToPyExpression-stringToPyExpression :: Typed.TypedTerm Syntax.QuoteStyle -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.Expression-stringToPyExpression arg0 arg1 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.stringToPyExpression")),- Core.applicationArgument = (Typed.unTypedTerm arg0)})),- Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.utils.targetPythonVersion-targetPythonVersion :: Typed.TypedTerm Environment.PythonVersion-targetPythonVersion = Typed.TypedTerm (Core.TermVariable (Core.Name "hydra.python.utils.targetPythonVersion"))---- | DSL reference to hydra.python.utils.tripleQuotedString-tripleQuotedString :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Expression-tripleQuotedString arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.tripleQuotedString")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.typeAliasStatement-typeAliasStatement :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm [Syntax.TypeParameter] -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement-typeAliasStatement arg0 arg1 arg2 arg3 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.typeAliasStatement")),- Core.applicationArgument = (Typed.unTypedTerm arg0)})),- Core.applicationArgument = (Typed.unTypedTerm arg1)})),- Core.applicationArgument = (Typed.unTypedTerm arg2)})),- Core.applicationArgument = (Typed.unTypedTerm arg3)}))---- | DSL reference to hydra.python.utils.typeAliasStatement310-typeAliasStatement310 :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm t0 -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement-typeAliasStatement310 arg0 arg1 arg2 arg3 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.typeAliasStatement310")),- Core.applicationArgument = (Typed.unTypedTerm arg0)})),- Core.applicationArgument = (Typed.unTypedTerm arg1)})),- Core.applicationArgument = (Typed.unTypedTerm arg2)})),- Core.applicationArgument = (Typed.unTypedTerm arg3)}))---- | DSL reference to hydra.python.utils.unionTypeClassStatements310-unionTypeClassStatements310 :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm [Syntax.Statement] -> Typed.TypedTerm [Syntax.Statement]-unionTypeClassStatements310 arg0 arg1 arg2 arg3 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.unionTypeClassStatements310")),- Core.applicationArgument = (Typed.unTypedTerm arg0)})),- Core.applicationArgument = (Typed.unTypedTerm arg1)})),- Core.applicationArgument = (Typed.unTypedTerm arg2)})),- Core.applicationArgument = (Typed.unTypedTerm arg3)}))---- | DSL reference to hydra.python.utils.unitVariantMethods-unitVariantMethods :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm [Syntax.Statement]-unitVariantMethods arg0 =- Typed.TypedTerm (Core.TermApplication (Core.Application {- Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.unitVariantMethods")),- Core.applicationArgument = (Typed.unTypedTerm arg0)}))
src/main/haskell/Hydra/Python/Coder.hs view
@@ -4,2976 +4,2977 @@ module Hydra.Python.Coder where -import qualified Hydra.Analysis as Analysis-import qualified Hydra.Annotations as Annotations-import qualified Hydra.Arity as Arity-import qualified Hydra.Ast as Ast-import qualified Hydra.Checking as Checking-import qualified Hydra.Classes as Classes-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Dependencies as Dependencies-import qualified Hydra.Environment as Environment-import qualified Hydra.Error.Checking as ErrorChecking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Errors as Errors-import qualified Hydra.File as File-import qualified Hydra.Formatting as Formatting-import qualified Hydra.Graph as Graph-import qualified Hydra.Inference as Inference-import qualified Hydra.Json.Model as Model-import qualified Hydra.Lexical as Lexical-import qualified Hydra.Overlay.Haskell.Lib.Eithers as Eithers-import qualified Hydra.Overlay.Haskell.Lib.Equality as Equality-import qualified Hydra.Overlay.Haskell.Lib.Lists as Lists-import qualified Hydra.Overlay.Haskell.Lib.Literals as Literals-import qualified Hydra.Overlay.Haskell.Lib.Logic as Logic-import qualified Hydra.Overlay.Haskell.Lib.Maps as Maps-import qualified Hydra.Overlay.Haskell.Lib.Math as Math-import qualified Hydra.Overlay.Haskell.Lib.Optionals as Optionals-import qualified Hydra.Overlay.Haskell.Lib.Ordering as Ordering-import qualified Hydra.Overlay.Haskell.Lib.Pairs as Pairs-import qualified Hydra.Overlay.Haskell.Lib.Sets as Sets-import qualified Hydra.Overlay.Haskell.Lib.Strings as Strings-import qualified Hydra.Names as Names-import qualified Hydra.Packaging as Packaging-import qualified Hydra.Parsing as Parsing-import qualified Hydra.Paths as Paths-import qualified Hydra.Predicates as Predicates-import qualified Hydra.Print.Core as PrintCore-import qualified Hydra.Python.Environment as PythonEnvironment-import qualified Hydra.Python.Names as PythonNames-import qualified Hydra.Python.Serde as Serde-import qualified Hydra.Python.Syntax as Syntax-import qualified Hydra.Python.Utils as Utils-import qualified Hydra.Query as Query-import qualified Hydra.Reduction as Reduction-import qualified Hydra.Relational as Relational-import qualified Hydra.Resolution as Resolution-import qualified Hydra.Rewriting as Rewriting-import qualified Hydra.Scoping as Scoping-import qualified Hydra.Serialization as Serialization-import qualified Hydra.Sorting as Sorting-import qualified Hydra.Strip as Strip-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Topology as Topology-import qualified Hydra.Typed as Typed-import qualified Hydra.Typing as Typing-import qualified Hydra.Util as Util-import qualified Hydra.Validation as Validation-import qualified Hydra.Variables as Variables-import qualified Hydra.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---- | Analyze a function term with Python-specific Graph management-analyzePythonFunction :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Core.Term -> Either t0 (Typing.FunctionStructure PythonEnvironment.PythonEnvironment)-analyzePythonFunction cx env term =- Analysis.analyzeFunctionTermWith cx pythonBindingMetadata pythonEnvironmentGetGraph pythonEnvironmentSetGraph env term---- | Escape a builder setter name that would collide with build()/builder()/self-builderSetterName :: PythonEnvironment.PythonEnvironment -> Core.Name -> String-builderSetterName env fname =-- let base = Syntax.unName (PythonNames.encodeFieldName env fname)- in (Logic.ifElse (Logic.or (Equality.equal base "build") (Logic.or (Equality.equal base "builder") (Equality.equal base "self"))) (Strings.concat2 base "_") base)---- | Encode a single case (Field) into a CaseBlock for a match statement-caseBlockToExpr :: t0 -> PythonEnvironment.PythonEnvironment -> Core.Name -> [Core.FieldType] -> Bool -> (PythonEnvironment.PythonEnvironment -> Core.Term -> Either t1 [Syntax.Statement]) -> Core.CaseAlternative -> Either t1 Syntax.CaseBlock-caseBlockToExpr cx env tname rowType isEnum encodeBody field =-- let fname = Core.caseAlternativeName field- fterm = Core.caseAlternativeHandler field- stripped = Strip.deannotateAndDetypeTerm fterm- effectiveLambda =- case stripped of- Core.TermLambda v0 -> v0- _ ->- let syntheticVar = Core.Name "_matchValue"- in Core.Lambda {- Core.lambdaParameter = syntheticVar,- Core.lambdaDomain = Nothing,- Core.lambdaBody = (Core.TermApplication (Core.Application {- Core.applicationFunction = stripped,- Core.applicationArgument = (Core.TermVariable syntheticVar)}))}- v = Core.lambdaParameter effectiveLambda- rawBody = Core.lambdaBody effectiveLambda- isUnitVariant = isVariantUnitType rowType fname- effectiveBody = Logic.ifElse isUnitVariant (eliminateUnitVar v rawBody) rawBody- shouldCapture =- Logic.not (Logic.or isUnitVariant (Logic.or (Variables.isFreeVariableInTerm v rawBody) (Predicates.isUnitTerm rawBody)))- env2 = pythonEnvironmentSetGraph (Scoping.extendGraphForLambda (pythonEnvironmentGetGraph env) effectiveLambda) env- pyVariantName = deconflictVariantName True env2 tname fname (PythonEnvironment.pythonEnvironmentGraph env2)- pattern = variantClosedPattern env2 tname fname pyVariantName rowType isEnum v shouldCapture- in (Eithers.bind (encodeBody env2 effectiveBody) (\stmts ->- let pyBody = Utils.indentedBlock Nothing [- stmts]- in (Right (Syntax.CaseBlock {- Syntax.caseBlockPatterns = (Utils.pyClosedPatternToPyPatterns pattern),- Syntax.caseBlockGuard = Nothing,- Syntax.caseBlockBody = pyBody}))))---- | Create a class pattern for a unit variant (no value captured)-classVariantPatternUnit :: Syntax.Name -> Syntax.ClosedPattern-classVariantPatternUnit pyVariantName =- Syntax.ClosedPatternClass (Syntax.ClassPattern {- Syntax.classPatternNameOrAttribute = (Syntax.NameOrAttribute [- pyVariantName]),- Syntax.classPatternPositionalPatterns = Nothing,- Syntax.classPatternKeywordPatterns = Nothing})---- | Create a class pattern for a variant with captured value-classVariantPatternWithCapture :: PythonEnvironment.PythonEnvironment -> Syntax.Name -> Core.Name -> Syntax.ClosedPattern-classVariantPatternWithCapture env pyVariantName varName =-- let pyVarNameAttr = Syntax.NameOrAttribute [- pyVariantName]- capturePattern =- Syntax.ClosedPatternCapture (Syntax.CapturePattern (Syntax.PatternCaptureTarget (PythonNames.encodeName False Util.CaseConventionLowerSnake env varName)))- keywordPattern =- Syntax.KeywordPattern {- Syntax.keywordPatternName = (Syntax.Name "value"),- Syntax.keywordPatternPattern = (Syntax.PatternOr (Syntax.OrPattern [- capturePattern]))}- in (Syntax.ClosedPatternClass (Syntax.ClassPattern {- Syntax.classPatternNameOrAttribute = pyVarNameAttr,- Syntax.classPatternPositionalPatterns = Nothing,- Syntax.classPatternKeywordPatterns = (Just (Syntax.KeywordPatterns [- keywordPattern]))}))---- | Collect type variables from a type-collectTypeVariables :: S.Set Core.Name -> Core.Type -> S.Set Core.Name-collectTypeVariables initial typ =- case (Strip.deannotateType typ) of- Core.TypeForall v0 ->- let v = Core.forallTypeParameter v0- body = Core.forallTypeBody v0- in (collectTypeVariables (Sets.insert v initial) body)- _ ->- let freeVars = Variables.freeVariablesInType typ- isTypeVar = \n -> isTypeVariableName n- filteredList = Lists.filter isTypeVar (Sets.toList freeVars)- in (Sets.union initial (Sets.fromList filteredList))---- | Conditionally include a symbol name based on a boolean flag-condImportSymbol :: t0 -> Bool -> Maybe t0-condImportSymbol name flag = Logic.ifElse flag (Just name) Nothing---- | Create a @dataclass(frozen=True) decorator-dataclassDecorator :: Syntax.NamedExpression-dataclassDecorator =- Syntax.NamedExpressionSimple (Utils.pyPrimaryToPyExpression (Utils.primaryWithRhs (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "dataclass"))) (Syntax.PrimaryRhsCall (Syntax.Args {- Syntax.argsPositional = [],- Syntax.argsKwargOrStarred = [- Syntax.KwargOrStarredKwarg (Syntax.Kwarg {- Syntax.kwargName = (Syntax.Name "frozen"),- Syntax.kwargValue = (Utils.pyAtomToPyExpression Syntax.AtomTrue)})],- Syntax.argsKwargOrDoubleStarred = []}))))---- | Deconflict a variant name to avoid collisions with type names-deconflictVariantName :: Bool -> PythonEnvironment.PythonEnvironment -> Core.Name -> Core.Name -> Graph.Graph -> Syntax.Name-deconflictVariantName isQualified env unionName fname g =-- let candidateHydraName = Core.Name (Strings.concat2 (Core.unName unionName) (Formatting.capitalize (Core.unName fname)))- termCollision = Maps.member candidateHydraName (Graph.graphBoundTerms g)- typeCollision = Maps.member candidateHydraName (Graph.graphSchemaTypes g)- collision = Logic.or termCollision typeCollision- in (Logic.ifElse collision (Syntax.Name (Strings.concat2 (Syntax.unName (PythonNames.variantName isQualified env unionName fname)) "_")) (PythonNames.variantName isQualified env unionName fname))---- | Rewrite case statements to avoid variable name collisions-deduplicateCaseVariables :: [Core.CaseAlternative] -> [Core.CaseAlternative]-deduplicateCaseVariables cases_ =-- let rewriteCase =- \state -> \field ->- let countByName = Pairs.first state- done = Pairs.second state- fname = Core.caseAlternativeName field- fterm = Core.caseAlternativeHandler field- in case (Strip.deannotateAndDetypeTerm fterm) of- Core.TermLambda v0 ->- let v = Core.lambdaParameter v0- mdom = Core.lambdaDomain v0- body = Core.lambdaBody v0- in (Optionals.match (Maps.lookup v countByName) (Maps.insert v 1 countByName, (Lists.cons field done)) (\count ->- let count2 = Math.add count 1- v2 = Core.Name (Strings.concat2 (Core.unName v) (Literals.printInt32 count2))- newBody = Reduction.alphaConvert v v2 body- newLam =- Core.Lambda {- Core.lambdaParameter = v2,- Core.lambdaDomain = mdom,- Core.lambdaBody = newBody}- newTerm = Core.TermLambda newLam- newField =- Core.CaseAlternative {- Core.caseAlternativeName = fname,- Core.caseAlternativeHandler = newTerm}- in (Maps.insert v count2 countByName, (Lists.cons newField done))))- _ -> (countByName, (Lists.cons field done))- result = Lists.foldl rewriteCase (Maps.empty, []) cases_- in (Lists.reverse (Pairs.second result))---- | Recursively dig through forall types to find wrap types-digForWrap :: Bool -> PythonEnvironment.PythonModuleMetadata -> Core.Type -> PythonEnvironment.PythonModuleMetadata-digForWrap isTermAnnot meta typ =- case (Strip.deannotateType typ) of- Core.TypeForall v0 -> digForWrap isTermAnnot meta (Core.forallTypeBody v0)- Core.TypeWrap _ -> Logic.ifElse isTermAnnot meta (setMetaUsesNode meta True)- _ -> meta---- | Substitute unit for a variable in a term (for unit variant case handling)-eliminateUnitVar :: Core.Name -> Core.Term -> Core.Term-eliminateUnitVar v term0 =-- let rewriteField =- \rewrite -> \fld -> Core.Field {- Core.fieldName = (Core.fieldName fld),- Core.fieldTerm = (rewrite (Core.fieldTerm fld))}- rewriteCaseAlternative =- \rewrite -> \alt -> Core.CaseAlternative {- Core.caseAlternativeName = (Core.caseAlternativeName alt),- Core.caseAlternativeHandler = (rewrite (Core.caseAlternativeHandler alt))}- rewriteBinding =- \rewrite -> \bnd -> Core.Binding {- Core.bindingName = (Core.bindingName bnd),- Core.bindingTerm = (rewrite (Core.bindingTerm bnd)),- Core.bindingTypeScheme = (Core.bindingTypeScheme bnd)}- rewrite =- \recurse -> \term -> case (Strip.deannotateAndDetypeTerm term) of- Core.TermVariable v0 -> Logic.ifElse (Equality.equal v0 v) Core.TermUnit term- Core.TermAnnotated v0 -> Core.TermAnnotated (Core.AnnotatedTerm {- Core.annotatedTermBody = (recurse (Core.annotatedTermBody v0)),- Core.annotatedTermAnnotation = (Core.annotatedTermAnnotation v0)})- Core.TermApplication v0 -> Core.TermApplication (Core.Application {- Core.applicationFunction = (recurse (Core.applicationFunction v0)),- Core.applicationArgument = (recurse (Core.applicationArgument v0))})- Core.TermLambda v0 -> Logic.ifElse (Equality.equal (Core.lambdaParameter v0) v) term (Core.TermLambda (Core.Lambda {- Core.lambdaParameter = (Core.lambdaParameter v0),- Core.lambdaDomain = (Core.lambdaDomain v0),- Core.lambdaBody = (recurse (Core.lambdaBody v0))}))- Core.TermCases v0 -> Core.TermCases (Core.CaseStatement {- Core.caseStatementTypeName = (Core.caseStatementTypeName v0),- Core.caseStatementDefault = (Optionals.map recurse (Core.caseStatementDefault v0)),- Core.caseStatementCases = (Lists.map (rewriteCaseAlternative recurse) (Core.caseStatementCases v0))})- Core.TermLet v0 -> Core.TermLet (Core.Let {- Core.letBindings = (Lists.map (rewriteBinding recurse) (Core.letBindings v0)),- Core.letBody = (recurse (Core.letBody v0))})- Core.TermList v0 -> Core.TermList (Lists.map recurse v0)- Core.TermMap v0 -> Core.TermMap (Maps.fromList (Lists.map (\kv -> (recurse (Pairs.first kv), (recurse (Pairs.second kv)))) (Maps.toList v0)))- Core.TermRecord v0 -> Core.TermRecord (Core.Record {- Core.recordTypeName = (Core.recordTypeName v0),- Core.recordFields = (Lists.map (rewriteField recurse) (Core.recordFields v0))})- Core.TermSet v0 -> Core.TermSet (Sets.map recurse v0)- Core.TermInject v0 -> Core.TermInject (Core.Injection {- Core.injectionTypeName = (Core.injectionTypeName v0),- Core.injectionField = (rewriteField recurse (Core.injectionField v0))})- Core.TermOptional v0 -> Core.TermOptional (Optionals.map recurse v0)- Core.TermPair v0 -> Core.TermPair (recurse (Pairs.first v0), (recurse (Pairs.second v0)))- Core.TermWrap v0 -> Core.TermWrap (Core.WrappedTerm {- Core.wrappedTermTypeName = (Core.wrappedTermTypeName v0),- Core.wrappedTermBody = (recurse (Core.wrappedTermBody v0))})- Core.TermEither v0 -> Core.TermEither (Eithers.bimap recurse recurse v0)- Core.TermTypeApplication v0 -> Core.TermTypeApplication (Core.TypeApplicationTerm {- Core.typeApplicationTermBody = (recurse (Core.typeApplicationTermBody v0)),- Core.typeApplicationTermType = (Core.typeApplicationTermType v0)})- Core.TermTypeLambda v0 -> Core.TermTypeLambda (Core.TypeLambda {- Core.typeLambdaParameter = (Core.typeLambdaParameter v0),- Core.typeLambdaBody = (recurse (Core.typeLambdaBody v0))})- _ -> term- go = \term -> rewrite go term- in (go term0)---- | Create an initial empty metadata record with given namespaces-emptyMetadata :: Util.ModuleNames Syntax.DottedName -> PythonEnvironment.PythonModuleMetadata-emptyMetadata ns =- PythonEnvironment.PythonModuleMetadata {- PythonEnvironment.pythonModuleMetadataNamespaces = ns,- PythonEnvironment.pythonModuleMetadataTypeVariables = Sets.empty,- PythonEnvironment.pythonModuleMetadataUsesAnnotated = False,- PythonEnvironment.pythonModuleMetadataUsesCallable = False,- PythonEnvironment.pythonModuleMetadataUsesCast = False,- PythonEnvironment.pythonModuleMetadataUsesLruCache = False,- PythonEnvironment.pythonModuleMetadataUsesTypeAlias = False,- PythonEnvironment.pythonModuleMetadataUsesDataclass = False,- PythonEnvironment.pythonModuleMetadataUsesDecimal = False,- PythonEnvironment.pythonModuleMetadataUsesEither = False,- PythonEnvironment.pythonModuleMetadataUsesEnum = False,- PythonEnvironment.pythonModuleMetadataUsesFrozenDict = False,- PythonEnvironment.pythonModuleMetadataUsesFrozenList = False,- PythonEnvironment.pythonModuleMetadataUsesFrozenSet = False,- PythonEnvironment.pythonModuleMetadataUsesGeneric = False,- PythonEnvironment.pythonModuleMetadataUsesJust = False,- PythonEnvironment.pythonModuleMetadataUsesLeft = False,- PythonEnvironment.pythonModuleMetadataUsesMaybe = False,- PythonEnvironment.pythonModuleMetadataUsesName = False,- PythonEnvironment.pythonModuleMetadataUsesNode = False,- PythonEnvironment.pythonModuleMetadataUsesNothing = False,- PythonEnvironment.pythonModuleMetadataUsesRight = False,- PythonEnvironment.pythonModuleMetadataUsesTypeVar = False}---- | Encode a function application to a Python expression-encodeApplication :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Core.Application -> Either Errors.Error Syntax.Expression-encodeApplication cx env app =-- let g = pythonEnvironmentGetGraph env- term = Core.TermApplication app- gathered = Analysis.gatherArgs term []- fun = Pairs.first gathered- args = Pairs.second gathered- knownArity = termArityWithPrimitives g fun- arity = Ordering.max knownArity (Lists.length args)- in (Eithers.bind (Eithers.mapList (\t -> encodeTermInline cx env False t) args) (\pargs ->- let hargs = Lists.take arity pargs- rargs = Lists.drop arity pargs- in (Eithers.bind (encodeApplicationInner cx env fun hargs rargs) (\result ->- let lhs = Pairs.first result- remainingRargs = Pairs.second result- pyapp = Lists.foldl (\t -> \a -> Utils.functionCall (Utils.pyExpressionToPyPrimary t) [- a]) lhs remainingRargs- in (Right pyapp)))))---- | Inner helper for encodeApplication-encodeApplicationInner :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Core.Term -> [Syntax.Expression] -> [Syntax.Expression] -> Either Errors.Error (Syntax.Expression, [Syntax.Expression])-encodeApplicationInner cx env fun hargs rargs =-- let firstArg = Optionals.withDefault (Utils.pyNameToPyExpression (Syntax.Name "")) (Lists.head hargs)- restArgs = Lists.drop 1 hargs- withRest = \e -> Logic.ifElse (Lists.isEmpty restArgs) e (Utils.functionCall (Utils.pyExpressionToPyPrimary e) restArgs)- defaultCase =- Eithers.bind (encodeTermInline cx env False fun) (\pfun -> Right (Utils.functionCall (Utils.pyExpressionToPyPrimary pfun) hargs, rargs))- in case (Strip.deannotateAndDetypeTerm fun) of- Core.TermProject v0 ->- let fname = Core.projectionFieldName v0- fieldExpr = Utils.projectFromExpression firstArg (PythonNames.encodeFieldName env fname)- in (Right (withRest fieldExpr, rargs))- Core.TermCases v0 -> Eithers.bind (encodeUnionEliminationInline cx env v0 firstArg) (\inlineExpr -> Right (withRest inlineExpr, rargs))- Core.TermUnwrap _ ->- let valueExpr = Utils.projectFromExpression firstArg (Syntax.Name "value")- allArgs = Lists.concat2 restArgs rargs- in (Logic.ifElse (Lists.isEmpty allArgs) (Right (valueExpr, [])) (Right (Utils.functionCall (Utils.pyExpressionToPyPrimary valueExpr) allArgs, [])))- Core.TermLambda _ -> Eithers.bind (encodeTermInline cx env False fun) (\pfun -> Right (Utils.functionCall (Utils.pyExpressionToPyPrimary pfun) hargs, rargs))- Core.TermVariable v0 ->- let g = pythonEnvironmentGetGraph env- allArgs = Lists.concat2 hargs rargs- inlineVars = PythonEnvironment.pythonEnvironmentInlineVariables env- in (Optionals.match (Maps.lookup v0 (Graph.graphPrimitives g)) (Optionals.match (Lexical.lookupBinding g v0) (Eithers.bind (encodeVariable cx env v0 hargs) (\expr -> Right (expr, rargs))) (\el -> Optionals.match (Core.bindingTypeScheme el) (Eithers.bind (encodeVariable cx env v0 hargs) (\expr -> Right (expr, rargs))) (\ts ->- let elArity = Arity.typeSchemeArity ts- consumeCount = Ordering.min elArity (Lists.length allArgs)- consumedArgs = Lists.take consumeCount allArgs- remainingArgs = Lists.drop consumeCount allArgs- in (Logic.ifElse (Lists.isEmpty consumedArgs) (Eithers.bind (encodeVariable cx env v0 []) (\expr -> Right (expr, rargs))) (Logic.ifElse (Sets.member v0 inlineVars) (Right (- Utils.functionCall (Utils.pyExpressionToPyPrimary (lazyDotGet (PythonNames.termVariableReference env v0))) consumedArgs,- remainingArgs)) (Right (- Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeName True Util.CaseConventionLowerSnake env v0)) consumedArgs,- remainingArgs))))))) (\_prim ->- let wrappedArgs = wrapLazyArguments g v0 hargs- in (Eithers.bind (encodeVariable cx env v0 wrappedArgs) (\expr -> Right (expr, rargs)))))- _ -> defaultCase---- | Encode an application type to Python expression-encodeApplicationType :: PythonEnvironment.PythonEnvironment -> Core.ApplicationType -> Either t0 Syntax.Expression-encodeApplicationType env at =-- let gatherParams =- \t -> \ps -> case (Strip.deannotateType t) of- Core.TypeApplication v0 -> gatherParams (Core.applicationTypeFunction v0) (Lists.cons (Core.applicationTypeArgument v0) ps)- Core.TypeAnnotated _ -> (t, ps)- Core.TypeEffect _ -> (t, ps)- Core.TypeFunction _ -> (t, ps)- Core.TypeForall _ -> (t, ps)- Core.TypeList _ -> (t, ps)- Core.TypeLiteral _ -> (t, ps)- Core.TypeMap _ -> (t, ps)- Core.TypeOptional _ -> (t, ps)- Core.TypeEither _ -> (t, ps)- Core.TypePair _ -> (t, ps)- Core.TypeRecord _ -> (t, ps)- Core.TypeSet _ -> (t, ps)- Core.TypeUnion _ -> (t, ps)- Core.TypeUnit -> (t, ps)- Core.TypeVariable _ -> (t, ps)- Core.TypeVoid -> (t, ps)- Core.TypeWrap _ -> (t, ps)- bodyAndArgs = gatherParams (Core.TypeApplication at) []- body = Pairs.first bodyAndArgs- args = Pairs.second bodyAndArgs- in (Eithers.bind (encodeType env body) (\pyBody -> Eithers.bind (Eithers.mapList (encodeType env) args) (\pyArgs -> Right (Utils.primaryAndParams (Utils.pyExpressionToPyPrimary pyBody) pyArgs))))---- | Encode a binding as a Python statement (function definition or assignment)-encodeBindingAs :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Core.Binding -> Either Errors.Error Syntax.Statement-encodeBindingAs cx env binding =-- let name1 = Core.bindingName binding- term1 = Core.bindingTerm binding- mts = Core.bindingTypeScheme binding- fname = PythonNames.encodeName True Util.CaseConventionLowerSnake env name1- in (Optionals.match mts (- let gathered = gatherLambdas term1- lambdaParams = Pairs.first gathered- innerBody = Pairs.second gathered- mcsa = isCaseStatementApplication innerBody- in (Optionals.match mcsa (- let mcs = extractCaseElimination term1- in (Optionals.match mcs (Eithers.bind (encodeTermMultiline cx env term1) (\stmts -> Optionals.match (Lists.head stmts) (Left (Errors.ErrorOther (Errors.OtherError "encodeTermMultiline returned no statements"))) (\x -> Right x))) (\cs ->- let tname = Core.caseStatementTypeName cs- dflt = Core.caseStatementDefault cs- cases_ = Core.caseStatementCases cs- in (Eithers.bind (Resolution.requireUnionType cx (pythonEnvironmentGetGraph env) tname) (\rt ->- let isEnum = Predicates.isEnumRowType rt- isFull = isCasesFull rt cases_- innerParam =- Syntax.Param {- Syntax.paramName = (Syntax.Name "x"),- Syntax.paramAnnotation = Nothing}- param =- Syntax.ParamNoDefault {- Syntax.paramNoDefaultParam = innerParam,- Syntax.paramNoDefaultTypeComment = Nothing}- params =- Syntax.ParametersParamNoDefault (Syntax.ParamNoDefaultParameters {- Syntax.paramNoDefaultParametersParamNoDefault = [- param],- Syntax.paramNoDefaultParametersParamWithDefault = [],- Syntax.paramNoDefaultParametersStarEtc = Nothing})- in (Eithers.bind (Eithers.mapList (caseBlockToExpr cx env tname rt isEnum (\e -> \t -> encodeTermMultiline cx e t)) cases_) (\pyCases -> Eithers.bind (encodeDefaultCaseBlock (\t -> encodeTermInline cx env False t) isFull dflt tname) (\pyDflt ->- let subj = Syntax.SubjectExpressionSimple (Syntax.NamedExpressionSimple (Utils.pyNameToPyExpression (Syntax.Name "x")))- allCases = Lists.concat2 pyCases pyDflt- matchStmt =- Syntax.StatementCompound (Syntax.CompoundStatementMatch (Syntax.MatchStatement {- Syntax.matchStatementSubject = subj,- Syntax.matchStatementCases = allCases}))- body = Utils.indentedBlock Nothing [- [- matchStmt]]- funcDefRaw =- Syntax.FunctionDefRaw {- Syntax.functionDefRawAsync = False,- Syntax.functionDefRawName = fname,- Syntax.functionDefRawTypeParams = [],- Syntax.functionDefRawParams = (Just params),- Syntax.functionDefRawReturnType = Nothing,- Syntax.functionDefRawFuncTypeComment = Nothing,- Syntax.functionDefRawBlock = body}- in (Right (Syntax.StatementCompound (Syntax.CompoundStatementFunction (Syntax.FunctionDefinition {- Syntax.functionDefinitionDecorators = Nothing,- Syntax.functionDefinitionRaw = funcDefRaw})))))))))))) (\csa -> Logic.ifElse (Lists.isEmpty lambdaParams) (- let mcs = extractCaseElimination term1- in (Optionals.match mcs (Eithers.bind (encodeTermMultiline cx env term1) (\stmts -> Optionals.match (Lists.head stmts) (Left (Errors.ErrorOther (Errors.OtherError "encodeTermMultiline returned no statements"))) (\x -> Right x))) (\cs ->- let tname = Core.caseStatementTypeName cs- dflt = Core.caseStatementDefault cs- cases_ = Core.caseStatementCases cs- in (Eithers.bind (Resolution.requireUnionType cx (pythonEnvironmentGetGraph env) tname) (\rt ->- let isEnum = Predicates.isEnumRowType rt- isFull = isCasesFull rt cases_- innerParam =- Syntax.Param {- Syntax.paramName = (Syntax.Name "x"),- Syntax.paramAnnotation = Nothing}- param =- Syntax.ParamNoDefault {- Syntax.paramNoDefaultParam = innerParam,- Syntax.paramNoDefaultTypeComment = Nothing}- params =- Syntax.ParametersParamNoDefault (Syntax.ParamNoDefaultParameters {- Syntax.paramNoDefaultParametersParamNoDefault = [- param],- Syntax.paramNoDefaultParametersParamWithDefault = [],- Syntax.paramNoDefaultParametersStarEtc = Nothing})- in (Eithers.bind (Eithers.mapList (caseBlockToExpr cx env tname rt isEnum (\e -> \t -> encodeTermMultiline cx e t)) cases_) (\pyCases -> Eithers.bind (encodeDefaultCaseBlock (\t -> encodeTermInline cx env False t) isFull dflt tname) (\pyDflt ->- let subj = Syntax.SubjectExpressionSimple (Syntax.NamedExpressionSimple (Utils.pyNameToPyExpression (Syntax.Name "x")))- allCases = Lists.concat2 pyCases pyDflt- matchStmt =- Syntax.StatementCompound (Syntax.CompoundStatementMatch (Syntax.MatchStatement {- Syntax.matchStatementSubject = subj,- Syntax.matchStatementCases = allCases}))- body = Utils.indentedBlock Nothing [- [- matchStmt]]- funcDefRaw =- Syntax.FunctionDefRaw {- Syntax.functionDefRawAsync = False,- Syntax.functionDefRawName = fname,- Syntax.functionDefRawTypeParams = [],- Syntax.functionDefRawParams = (Just params),- Syntax.functionDefRawReturnType = Nothing,- Syntax.functionDefRawFuncTypeComment = Nothing,- Syntax.functionDefRawBlock = body}- in (Right (Syntax.StatementCompound (Syntax.CompoundStatementFunction (Syntax.FunctionDefinition {- Syntax.functionDefinitionDecorators = Nothing,- Syntax.functionDefinitionRaw = funcDefRaw})))))))))))) (- let tname = Pairs.first csa- rest1 = Pairs.second csa- dflt = Pairs.first rest1- rest2 = Pairs.second rest1- cases_ = Pairs.first rest2- in (Eithers.bind (Resolution.requireUnionType cx (pythonEnvironmentGetGraph env) tname) (\rt ->- let isEnum = Predicates.isEnumRowType rt- isFull = isCasesFull rt cases_- capturedVarNames = Optionals.withDefault [] (Lists.init lambdaParams)- matchLambdaParam = Optionals.withDefault (Core.Name "") (Lists.last lambdaParams)- capturedParams =- Lists.map (\n -> Syntax.ParamNoDefault {- Syntax.paramNoDefaultParam = Syntax.Param {- Syntax.paramName = (PythonNames.encodeName False Util.CaseConventionLowerSnake env n),- Syntax.paramAnnotation = Nothing},- Syntax.paramNoDefaultTypeComment = Nothing}) capturedVarNames- matchArgName = PythonNames.encodeName False Util.CaseConventionLowerSnake env matchLambdaParam- matchParam =- Syntax.ParamNoDefault {- Syntax.paramNoDefaultParam = Syntax.Param {- Syntax.paramName = matchArgName,- Syntax.paramAnnotation = Nothing},- Syntax.paramNoDefaultTypeComment = Nothing}- allParams = Lists.concat2 capturedParams [- matchParam]- params =- Syntax.ParametersParamNoDefault (Syntax.ParamNoDefaultParameters {- Syntax.paramNoDefaultParametersParamNoDefault = allParams,- Syntax.paramNoDefaultParametersParamWithDefault = [],- Syntax.paramNoDefaultParametersStarEtc = Nothing})- envWithParams = extendEnvWithLambdaParams env term1- in (Eithers.bind (Eithers.mapList (caseBlockToExpr cx envWithParams tname rt isEnum (\e -> \t -> encodeTermMultiline cx e t)) cases_) (\pyCases -> Eithers.bind (encodeDefaultCaseBlock (\t -> encodeTermInline cx envWithParams False t) isFull dflt tname) (\pyDflt ->- let subj = Syntax.SubjectExpressionSimple (Syntax.NamedExpressionSimple (Utils.pyNameToPyExpression matchArgName))- allCases = Lists.concat2 pyCases pyDflt- matchStmt =- Syntax.StatementCompound (Syntax.CompoundStatementMatch (Syntax.MatchStatement {- Syntax.matchStatementSubject = subj,- Syntax.matchStatementCases = allCases}))- body = Utils.indentedBlock Nothing [- [- matchStmt]]- funcDefRaw =- Syntax.FunctionDefRaw {- Syntax.functionDefRawAsync = False,- Syntax.functionDefRawName = fname,- Syntax.functionDefRawTypeParams = [],- Syntax.functionDefRawParams = (Just params),- Syntax.functionDefRawReturnType = Nothing,- Syntax.functionDefRawFuncTypeComment = Nothing,- Syntax.functionDefRawBlock = body}- in (Right (Syntax.StatementCompound (Syntax.CompoundStatementFunction (Syntax.FunctionDefinition {- Syntax.functionDefinitionDecorators = Nothing,- Syntax.functionDefinitionRaw = funcDefRaw}))))))))))))) (\ts -> Eithers.bind (Annotations.getTermDescription cx (pythonEnvironmentGetGraph env) term1) (\comment ->- let normComment = Optionals.map Formatting.normalizeComment comment- in (encodeTermAssignment cx env False name1 term1 ts normComment))))---- | Encode a binding as a walrus operator assignment-encodeBindingAsAssignment :: Typing.InferenceContext -> Bool -> PythonEnvironment.PythonEnvironment -> Core.Binding -> Either Errors.Error Syntax.NamedExpression-encodeBindingAsAssignment cx allowThunking env binding =-- let name = Core.bindingName binding- term = Core.bindingTerm binding- mts = Core.bindingTypeScheme binding- pyName = PythonNames.encodeName False Util.CaseConventionLowerSnake env name- in (Eithers.bind (encodeTermInline cx env False term) (\pbody ->- let tc = PythonEnvironment.pythonEnvironmentGraph env- isComplexVar = Predicates.isComplexVariable tc name- termIsComplex = Predicates.isComplexTerm tc term- isTrivial = Predicates.isTrivialTerm term- needsThunk =- Logic.ifElse isTrivial False (Optionals.match mts (Logic.and allowThunking (Logic.or isComplexVar termIsComplex)) (\ts -> Logic.and allowThunking (Logic.and (Equality.equal (Arity.typeSchemeArity ts) 0) (Logic.or isComplexVar termIsComplex))))- pterm = makeLazy pbody- in (Right (Syntax.NamedExpressionAssignment (Syntax.AssignmentExpression {- Syntax.assignmentExpressionName = pyName,- Syntax.assignmentExpressionExpression = pterm})))))---- | Encode bindings as function definitions-encodeBindingsAsDefs :: t0 -> (t0 -> t1 -> Either t2 t3) -> [t1] -> Either t2 [t3]-encodeBindingsAsDefs env encodeBinding bindings = Eithers.mapList (encodeBinding env) bindings---- | Encode the default (wildcard) case block for a match statement-encodeDefaultCaseBlock :: (t0 -> Either t1 Syntax.Expression) -> Bool -> Maybe t0 -> Core.Name -> Either t1 [Syntax.CaseBlock]-encodeDefaultCaseBlock termToExpr isFull mdflt tname =- Eithers.bind (Optionals.match mdflt (Right (Logic.ifElse isFull (Utils.raiseAssertionError "Unreachable: all variants handled") (Utils.raiseTypeError (Strings.concat2 "Unsupported " (Names.localNameOf tname))))) (\d -> Eithers.bind (termToExpr d) (\pyexpr -> Right (Utils.returnSingle pyexpr)))) (\stmt ->- let patterns = Utils.pyClosedPatternToPyPatterns Syntax.ClosedPatternWildcard- body = Utils.indentedBlock Nothing [- [- stmt]]- in (Right [- Syntax.CaseBlock {- Syntax.caseBlockPatterns = patterns,- Syntax.caseBlockGuard = Nothing,- Syntax.caseBlockBody = body}]))---- | Encode a definition (term or type) to Python statements-encodeDefinition :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Packaging.Definition -> Either Errors.Error [[Syntax.Statement]]-encodeDefinition cx env def_ =- case def_ of- Packaging.DefinitionTerm v0 ->- let name = Packaging.termDefinitionName v0- term = Packaging.termDefinitionBody v0- typ =- Optionals.match (Packaging.termDefinitionSignature v0) (Core.TypeScheme {- Core.typeSchemeVariables = [],- Core.typeSchemeBody = (Core.TypeVariable (Core.Name "hydra.core.Unit")),- Core.typeSchemeConstraints = Maps.empty}) (\sig -> Scoping.termSignatureToTypeScheme sig)- in (Eithers.bind (Annotations.getTermDescription cx (pythonEnvironmentGetGraph env) term) (\comment ->- let normComment = Optionals.map Formatting.normalizeComment comment- in (Eithers.bind (encodeTermAssignment cx env True name term typ normComment) (\stmt -> Right [- [- stmt]]))))- Packaging.DefinitionType v0 ->- let name = Packaging.typeDefinitionName v0- typ = Core.typeSchemeBody (Packaging.typeDefinitionBody v0)- in (Eithers.bind (Annotations.getTypeDescription cx (pythonEnvironmentGetGraph env) typ) (\comment ->- let normComment = Optionals.map Formatting.normalizeComment comment- in (encodeTypeAssignment cx env name typ normComment)))---- | Encode an enum value assignment statement with optional comment-encodeEnumValueAssignment :: t0 -> PythonEnvironment.PythonEnvironment -> Core.FieldType -> Either Errors.Error [Syntax.Statement]-encodeEnumValueAssignment cx env fieldType =-- let fname = Core.fieldTypeName fieldType- ftype = Core.fieldTypeType fieldType- in (Eithers.bind (Annotations.getTypeDescription cx (pythonEnvironmentGetGraph env) ftype) (\mcomment ->- let pyName = PythonNames.encodeEnumValue env fname- fnameStr = Core.unName fname- pyValue =- Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeName True Util.CaseConventionPascal env (Core.Name "hydra.core.Name"))) [- Utils.doubleQuotedString fnameStr]- assignStmt = Utils.assignmentStatement pyName pyValue- in (Right (Optionals.match mcomment [- assignStmt] (\c -> [- assignStmt,- (Utils.pyExpressionToPyStatement (Utils.tripleQuotedString c))])))))---- | Encode a field (name-value pair) to a Python (Name, Expression) pair-encodeField :: t0 -> PythonEnvironment.PythonEnvironment -> Core.Field -> (Core.Term -> Either t1 t2) -> Either t1 (Syntax.Name, t2)-encodeField cx env field termToExpr =-- let fname = Core.fieldName field- fterm = Core.fieldTerm field- in (Eithers.bind (termToExpr fterm) (\pterm -> Right (PythonNames.encodeFieldName env fname, pterm)))---- | Encode a field type for record definitions (field: type annotation)-encodeFieldType :: t0 -> PythonEnvironment.PythonEnvironment -> Core.FieldType -> Either Errors.Error Syntax.Statement-encodeFieldType cx env fieldType =-- let fname = Core.fieldTypeName fieldType- ftype = Core.fieldTypeType fieldType- in (Eithers.bind (Annotations.getTypeDescription cx (pythonEnvironmentGetGraph env) ftype) (\comment ->- let pyName = Syntax.SingleTargetName (PythonNames.encodeFieldName env fname)- in (Eithers.bind (encodeType env ftype) (\pyType ->- let annotatedPyType = Utils.annotatedExpression comment pyType- in (Right (Utils.pyAssignmentToPyStatement (Syntax.AssignmentTyped (Syntax.TypedAssignment {- Syntax.typedAssignmentLhs = pyName,- Syntax.typedAssignmentType = annotatedPyType,- Syntax.typedAssignmentRhs = Nothing}))))))))---- | Encode a float value to a Python expression-encodeFloatValue :: Core.FloatValue -> Either t0 Syntax.Expression-encodeFloatValue fv =- case fv of- Core.FloatValueFloat32 v0 -> encodeFloatValueEncodeFloat32 v0- Core.FloatValueFloat64 v0 -> encodeFloatValueEncodeFloat64 v0--encodeFloatValueEncodeFloat32 :: Float -> Either t0 Syntax.Expression-encodeFloatValueEncodeFloat32 v =-- let s = Literals.printFloat32 v- in (Logic.ifElse (Equality.equal s "NaN") (Right (encodeFloatValuePySpecialFloat "nan")) (Logic.ifElse (Equality.equal s "Infinity") (Right (encodeFloatValuePySpecialFloat "inf")) (Logic.ifElse (Equality.equal s "-Infinity") (Right (encodeFloatValuePySpecialFloat "-inf")) (Right (Utils.pyAtomToPyExpression (Syntax.AtomNumber (Syntax.NumberFloat (Literals.float32ToFloat64 v))))))))--encodeFloatValueEncodeFloat64 :: Double -> Either t0 Syntax.Expression-encodeFloatValueEncodeFloat64 v =-- let s = Literals.printFloat64 v- in (Logic.ifElse (Equality.equal s "NaN") (Right (encodeFloatValuePySpecialFloat "nan")) (Logic.ifElse (Equality.equal s "Infinity") (Right (encodeFloatValuePySpecialFloat "inf")) (Logic.ifElse (Equality.equal s "-Infinity") (Right (encodeFloatValuePySpecialFloat "-inf")) (Logic.ifElse (Equality.equal s "-0.0") (Right (encodeFloatValuePySpecialFloat "-0.0")) (Right (Utils.pyAtomToPyExpression (Syntax.AtomNumber (Syntax.NumberFloat v))))))))--encodeFloatValuePySpecialFloat :: String -> Syntax.Expression-encodeFloatValuePySpecialFloat value =- Utils.functionCall (Utils.pyNameToPyPrimary (Syntax.Name "float")) [- Utils.singleQuotedString value]---- | Encode a forall type to Python expression-encodeForallType :: PythonEnvironment.PythonEnvironment -> Core.ForallType -> Either t0 Syntax.Expression-encodeForallType env lt =-- let gatherParams =- \t -> \ps -> case (Strip.deannotateType t) of- Core.TypeForall v0 -> gatherParams (Core.forallTypeBody v0) (Lists.cons (Core.forallTypeParameter v0) ps)- Core.TypeAnnotated _ -> (t, (Lists.reverse ps))- Core.TypeApplication _ -> (t, (Lists.reverse ps))- Core.TypeEffect _ -> (t, (Lists.reverse ps))- Core.TypeFunction _ -> (t, (Lists.reverse ps))- Core.TypeList _ -> (t, (Lists.reverse ps))- Core.TypeLiteral _ -> (t, (Lists.reverse ps))- Core.TypeMap _ -> (t, (Lists.reverse ps))- Core.TypeOptional _ -> (t, (Lists.reverse ps))- Core.TypeEither _ -> (t, (Lists.reverse ps))- Core.TypePair _ -> (t, (Lists.reverse ps))- Core.TypeRecord _ -> (t, (Lists.reverse ps))- Core.TypeSet _ -> (t, (Lists.reverse ps))- Core.TypeUnion _ -> (t, (Lists.reverse ps))- Core.TypeUnit -> (t, (Lists.reverse ps))- Core.TypeVariable _ -> (t, (Lists.reverse ps))- Core.TypeVoid -> (t, (Lists.reverse ps))- Core.TypeWrap _ -> (t, (Lists.reverse ps))- bodyAndParams = gatherParams (Core.TypeForall lt) []- body = Pairs.first bodyAndParams- params = Pairs.second bodyAndParams- in (Eithers.bind (encodeType env body) (\pyBody -> Right (Utils.primaryAndParams (Utils.pyExpressionToPyPrimary pyBody) (Lists.map (\n -> Syntax.ExpressionSimple (Syntax.Disjunction [- Syntax.Conjunction [- Syntax.InversionSimple (Syntax.Comparison {- Syntax.comparisonLhs = Syntax.BitwiseOr {- Syntax.bitwiseOrLhs = Nothing,- Syntax.bitwiseOrRhs = Syntax.BitwiseXor {- Syntax.bitwiseXorLhs = Nothing,- Syntax.bitwiseXorRhs = Syntax.BitwiseAnd {- Syntax.bitwiseAndLhs = Nothing,- Syntax.bitwiseAndRhs = Syntax.ShiftExpression {- Syntax.shiftExpressionLhs = Nothing,- Syntax.shiftExpressionRhs = Syntax.Sum {- Syntax.sumLhs = Nothing,- Syntax.sumRhs = Syntax.Term {- Syntax.termLhs = Nothing,- Syntax.termRhs = (Syntax.FactorSimple (Syntax.Power {- Syntax.powerLhs = Syntax.AwaitPrimary {- Syntax.awaitPrimaryAwait = False,- Syntax.awaitPrimaryPrimary = (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name (Core.unName n))))},- Syntax.powerRhs = Nothing}))}}}}}},- Syntax.comparisonRhs = []})]])) params))))---- | Encode a function type to Python Callable expression-encodeFunctionType :: PythonEnvironment.PythonEnvironment -> Core.FunctionType -> Either t0 Syntax.Expression-encodeFunctionType env ft =-- let gatherParams =- \rdoms -> \ftype ->- let innerCod = Core.functionTypeCodomain ftype- dom = Core.functionTypeDomain ftype- in case (Strip.deannotateType innerCod) of- Core.TypeFunction v0 -> gatherParams (Lists.cons dom rdoms) v0- Core.TypeAnnotated _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)- Core.TypeApplication _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)- Core.TypeEffect _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)- Core.TypeForall _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)- Core.TypeList _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)- Core.TypeLiteral _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)- Core.TypeMap _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)- Core.TypeOptional _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)- Core.TypeEither _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)- Core.TypePair _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)- Core.TypeRecord _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)- Core.TypeSet _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)- Core.TypeUnion _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)- Core.TypeUnit -> (Lists.reverse (Lists.cons dom rdoms), innerCod)- Core.TypeVariable _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)- Core.TypeVoid -> (Lists.reverse (Lists.cons dom rdoms), innerCod)- Core.TypeWrap _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)- domsAndCod = gatherParams [] ft- doms = Pairs.first domsAndCod- cod = Pairs.second domsAndCod- in (Eithers.bind (Eithers.mapList (encodeType env) doms) (\pydoms -> Eithers.bind (encodeType env cod) (\pycod -> Right (Utils.pyPrimaryToPyExpression (Utils.primaryWithSlices (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "Callable"))) (Utils.pyPrimaryToPySlice (Syntax.PrimarySimple (Syntax.AtomList (Utils.pyList pydoms)))) [- Syntax.SliceOrStarredExpressionSlice (Utils.pyExpressionToPySlice pycod)])))))---- | Encode an integer value to a Python expression-encodeIntegerValue :: Core.IntegerValue -> Either t0 Syntax.Expression-encodeIntegerValue iv =-- let toPyInt = \n -> Right (Utils.pyAtomToPyExpression (Syntax.AtomNumber (Syntax.NumberInteger n)))- in case iv of- Core.IntegerValueBigint v0 -> toPyInt v0- Core.IntegerValueInt8 v0 -> toPyInt (Literals.int8ToBigint v0)- Core.IntegerValueInt16 v0 -> toPyInt (Literals.int16ToBigint v0)- Core.IntegerValueInt32 v0 -> toPyInt (Literals.int32ToBigint v0)- Core.IntegerValueInt64 v0 -> toPyInt (Literals.int64ToBigint v0)- Core.IntegerValueUint8 v0 -> toPyInt (Literals.uint8ToBigint v0)- Core.IntegerValueUint16 v0 -> toPyInt (Literals.uint16ToBigint v0)- Core.IntegerValueUint32 v0 -> toPyInt (Literals.uint32ToBigint v0)- Core.IntegerValueUint64 v0 -> toPyInt (Literals.uint64ToBigint v0)---- | Encode a literal value to a Python expression-encodeLiteral :: Core.Literal -> Either t0 Syntax.Expression-encodeLiteral lit =- case lit of- Core.LiteralBinary v0 ->- let byteValues = Literals.binaryToBytes v0- in (Right (Utils.functionCall (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "bytes"))) [- Utils.pyAtomToPyExpression (Syntax.AtomList (Utils.pyList (Lists.map (\byteVal -> Utils.pyAtomToPyExpression (Syntax.AtomNumber (Syntax.NumberInteger (Literals.int32ToBigint byteVal)))) byteValues)))]))- Core.LiteralBoolean v0 -> Right (Utils.pyAtomToPyExpression (Logic.ifElse v0 Syntax.AtomTrue Syntax.AtomFalse))- Core.LiteralDecimal v0 -> Right (Utils.functionCall (Utils.pyNameToPyPrimary (Syntax.Name "Decimal")) [- Utils.singleQuotedString (Literals.printDecimal v0)])- Core.LiteralFloat v0 -> encodeFloatValue v0- Core.LiteralInteger v0 -> encodeIntegerValue v0- Core.LiteralString v0 -> Right (Utils.stringToPyExpression Syntax.QuoteStyleDouble v0)---- | Encode a literal type to a Python type expression-encodeLiteralType :: Core.LiteralType -> Either t0 Syntax.Expression-encodeLiteralType lt =-- let findName =- case lt of- Core.LiteralTypeBinary -> "bytes"- Core.LiteralTypeBoolean -> "bool"- Core.LiteralTypeDecimal -> "Decimal"- Core.LiteralTypeFloat v0 -> case v0 of- Core.FloatTypeFloat32 -> "float"- Core.FloatTypeFloat64 -> "float"- Core.LiteralTypeInteger _ -> "int"- Core.LiteralTypeString -> "str"- in (Right (Syntax.ExpressionSimple (Syntax.Disjunction [- Syntax.Conjunction [- Syntax.InversionSimple (Syntax.Comparison {- Syntax.comparisonLhs = Syntax.BitwiseOr {- Syntax.bitwiseOrLhs = Nothing,- Syntax.bitwiseOrRhs = Syntax.BitwiseXor {- Syntax.bitwiseXorLhs = Nothing,- Syntax.bitwiseXorRhs = Syntax.BitwiseAnd {- Syntax.bitwiseAndLhs = Nothing,- Syntax.bitwiseAndRhs = Syntax.ShiftExpression {- Syntax.shiftExpressionLhs = Nothing,- Syntax.shiftExpressionRhs = Syntax.Sum {- Syntax.sumLhs = Nothing,- Syntax.sumRhs = Syntax.Term {- Syntax.termLhs = Nothing,- Syntax.termRhs = (Syntax.FactorSimple (Syntax.Power {- Syntax.powerLhs = Syntax.AwaitPrimary {- Syntax.awaitPrimaryAwait = False,- Syntax.awaitPrimaryPrimary = (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name findName)))},- Syntax.powerRhs = Nothing}))}}}}}},- Syntax.comparisonRhs = []})]])))---- | Generate name constants for a type as class-level attributes-encodeNameConstants :: PythonEnvironment.PythonEnvironment -> Core.Name -> [Core.FieldType] -> [Syntax.Statement]-encodeNameConstants env name fields =-- let toStmt =- \pair -> Utils.assignmentStatement (Pairs.first pair) (Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeName True Util.CaseConventionPascal env (Core.Name "hydra.core.Name"))) [- Utils.doubleQuotedString (Core.unName (Pairs.second pair))])- namePair = (PythonNames.encodeConstantForTypeName env name, name)- fieldPairs =- Lists.map (\field -> (PythonNames.encodeConstantForFieldName env name (Core.fieldTypeName field), (Core.fieldTypeName field))) fields- in (Lists.map toStmt (Lists.cons namePair fieldPairs))---- | Encode a Hydra module to a Python module AST, given the on-disk overlay-existence set (#630) driving emission-time primitive-reference redirects-encodePythonModule :: S.Set String -> Typing.InferenceContext -> Graph.Graph -> Packaging.Module -> [Packaging.Definition] -> Either Errors.Error Syntax.Module-encodePythonModule overlaySubs cx g mod defs0 =-- let defs = Environment.reorderDefs defs0- meta0 = gatherMetadata overlaySubs (Packaging.moduleName mod) defs- namespaces0 = PythonEnvironment.pythonModuleMetadataNamespaces meta0- env0 = initialEnvironment namespaces0 g overlaySubs- isTypeMod = isTypeModuleCheck defs0- in (withDefinitions env0 defs (\env -> Eithers.bind (Eithers.map (\xs -> Lists.concat xs) (Eithers.mapList (\d -> encodeDefinition cx env d) defs)) (\defStmts ->- let meta2 = Logic.ifElse (Logic.and (Logic.not isTypeMod) useInlineTypeParams) (setMetaUsesTypeVar meta0 False) meta0- meta =- Logic.ifElse (Logic.and isTypeMod (Equality.equal targetPythonVersion PythonEnvironment.PythonVersionPython310)) (setMetaUsesTypeAlias meta2 True) meta2- namespaces = PythonEnvironment.pythonModuleMetadataNamespaces meta0- commentStmts =- Optionals.match (Optionals.map Formatting.normalizeComment (Optionals.bind (Packaging.moduleMetadata mod) (\em -> Packaging.entityMetadataDescription em))) [] (\c -> [- Utils.commentStatement c])- importStmts = moduleImports namespaces meta- tvars =- Logic.ifElse (Logic.or isTypeMod (Logic.not useInlineTypeParams)) (PythonEnvironment.pythonModuleMetadataTypeVariables meta) Sets.empty- tvarStmts = Lists.map (\tv -> tvarStatement (PythonNames.encodeTypeVariable tv)) (Sets.toList tvars)- body =- Lists.filter (\group -> Logic.not (Lists.isEmpty group)) (Lists.concat [- [- commentStmts,- importStmts,- tvarStmts],- defStmts])- in (Right (Syntax.Module body)))))---- | Encode a record type as a Python dataclass-encodeRecordType :: t0 -> PythonEnvironment.PythonEnvironment -> Core.Name -> [Core.FieldType] -> Maybe String -> Either Errors.Error Syntax.Statement-encodeRecordType cx env name rowType comment =- Eithers.bind (Eithers.mapList (encodeFieldType cx env) rowType) (\pyFields ->- let constStmts = encodeNameConstants env name rowType- withMethods = Lists.map (recordWithMethod env) rowType- boundVars = PythonEnvironment.pythonEnvironmentBoundTypeVariables env- tparamList = Pairs.first boundVars- mGenericArg = genericArg tparamList- args = Optionals.match mGenericArg Nothing (\a -> Just (Utils.pyExpressionsToPyArgs [- a]))- decs = Just (Syntax.Decorators [- dataclassDecorator])- pyName = PythonNames.encodeName False Util.CaseConventionPascal env name- noTypeParams = []- in (Eithers.bind (recordBuilderClass env name rowType args) (\builderStmts ->- let body =- Utils.indentedBlock comment [- pyFields,- constStmts,- withMethods,- builderStmts]- in (Right (Utils.pyClassDefinitionToPyStatement (Syntax.ClassDefinition {- Syntax.classDefinitionDecorators = decs,- Syntax.classDefinitionName = pyName,- Syntax.classDefinitionTypeParams = noTypeParams,- Syntax.classDefinitionArguments = args,- Syntax.classDefinitionBody = body}))))))---- | Encode a term assignment to a Python statement-encodeTermAssignment :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Bool -> Core.Name -> Core.Term -> Core.TypeScheme -> Maybe String -> Either Errors.Error Syntax.Statement-encodeTermAssignment cx env topLevel name term ts comment =- Eithers.bind (analyzePythonFunction cx env term) (\fs ->- let tparams = Typing.functionStructureTypeParams fs- params = Typing.functionStructureParams fs- bindings = Typing.functionStructureBindings fs- body = Typing.functionStructureBody fs- domsRaw = Typing.functionStructureDomains fs- sigTermSig = Scoping.typeSchemeToTermSignature ts- sigParamTypes = Lists.map (\p -> Typing.parameterType p) (Typing.termSignatureParameters sigTermSig)- sigResult = Typing.termSignatureResult sigTermSig- sigCod = Typing.resultType sigResult- doms = fillDomsFromSignature domsRaw sigParamTypes- mcod = Just sigCod- env2 = Typing.functionStructureEnvironment fs- tc = PythonEnvironment.pythonEnvironmentGraph env2- binding =- Core.Binding {- Core.bindingName = name,- Core.bindingTerm = term,- Core.bindingTypeScheme = (Just ts)}- isComplex = Predicates.isComplexBinding tc binding- isTrivial = Predicates.isTrivialTerm term- in (Logic.ifElse (Logic.and isComplex (Logic.not isTrivial)) (Logic.ifElse (Logic.and (Logic.not topLevel) (Lists.isEmpty params)) (Eithers.bind (encodeTermInline cx env2 False term) (\bodyExpr ->- let pyName = PythonNames.encodeName False Util.CaseConventionLowerSnake env2 name- lazyExpr = makeLazy bodyExpr- in (Right (Utils.annotatedStatement comment (Utils.assignmentStatement pyName lazyExpr))))) (Eithers.bind (Eithers.mapList (encodeBindingAs cx env2) bindings) (\bindingStmts -> functionDefinitionToExpr cx env2 name tparams params body doms mcod comment bindingStmts))) (Eithers.bind (encodeTermInline cx env2 False body) (\bodyExpr ->- let pyName = PythonNames.encodeName False Util.CaseConventionLowerSnake env2 name- in (Right (Utils.annotatedStatement comment (Utils.assignmentStatement pyName bodyExpr)))))))---- | Encode a term to a Python expression (inline form)-encodeTermInline :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Bool -> Core.Term -> Either Errors.Error Syntax.Expression-encodeTermInline cx env noCast term =-- let encode = \t -> encodeTermInline cx env False t- stripTypeApps =- \t -> case t of- Core.TermAnnotated v0 -> stripTypeApps (Core.annotatedTermBody v0)- Core.TermTypeApplication v0 -> stripTypeApps (Core.typeApplicationTermBody v0)- _ -> t- withCast =- \pyexp -> Logic.ifElse (Logic.or noCast (PythonEnvironment.pythonEnvironmentSkipCasts env)) (Right pyexp) (- let tc = PythonEnvironment.pythonEnvironmentGraph env- mtyp = Eithers.map (\_r -> Pairs.first _r) (Checking.typeOf cx tc [] term)- in (Eithers.either (\_ -> Right pyexp) (\typ -> Eithers.either (\_ -> Right pyexp) (\pytyp -> Right (Utils.castTo pytyp pyexp)) (encodeType env typ)) mtyp))- in case (Strip.deannotateAndDetypeTerm term) of- Core.TermApplication v0 -> encodeApplication cx env v0- Core.TermEither v0 -> Eithers.either (\t1 -> Eithers.bind (encode t1) (\pyexp -> withCast (Utils.functionCall (Utils.pyNameToPyPrimary (Syntax.Name "Left")) [- pyexp]))) (\t1 -> Eithers.bind (encode t1) (\pyexp -> withCast (Utils.functionCall (Utils.pyNameToPyPrimary (Syntax.Name "Right")) [- pyexp]))) v0- Core.TermLambda v0 -> Eithers.bind (analyzePythonFunction cx env (Core.TermLambda v0)) (\fs ->- let params = Typing.functionStructureParams fs- bindings = Typing.functionStructureBindings fs- innerBody = Typing.functionStructureBody fs- innerEnv0 = Typing.functionStructureEnvironment fs- bindingNames = Lists.map (\b -> Core.bindingName b) bindings- innerEnv =- PythonEnvironment.PythonEnvironment {- PythonEnvironment.pythonEnvironmentNamespaces = (PythonEnvironment.pythonEnvironmentNamespaces innerEnv0),- PythonEnvironment.pythonEnvironmentBoundTypeVariables = (PythonEnvironment.pythonEnvironmentBoundTypeVariables innerEnv0),- PythonEnvironment.pythonEnvironmentGraph = (PythonEnvironment.pythonEnvironmentGraph innerEnv0),- PythonEnvironment.pythonEnvironmentNullaryBindings = (PythonEnvironment.pythonEnvironmentNullaryBindings innerEnv0),- PythonEnvironment.pythonEnvironmentVersion = (PythonEnvironment.pythonEnvironmentVersion innerEnv0),- PythonEnvironment.pythonEnvironmentSkipCasts = (PythonEnvironment.pythonEnvironmentSkipCasts innerEnv0),- PythonEnvironment.pythonEnvironmentInlineVariables = (Sets.union (Sets.fromList bindingNames) (PythonEnvironment.pythonEnvironmentInlineVariables innerEnv0)),- PythonEnvironment.pythonEnvironmentOverlaySubs = (PythonEnvironment.pythonEnvironmentOverlaySubs innerEnv0)}- in (Eithers.bind (encodeTermInline cx innerEnv False innerBody) (\pbody ->- let pparams = Lists.map (PythonNames.encodeName False Util.CaseConventionLowerSnake innerEnv) params- in (Logic.ifElse (Lists.isEmpty bindings) (Right (makeUncurriedLambda pparams pbody)) (Eithers.bind (Eithers.mapList (encodeBindingAsAssignment cx False innerEnv) bindings) (\pbindingExprs ->- let pbindingStarExprs = Lists.map (\ne -> Syntax.StarNamedExpressionSimple ne) pbindingExprs- pbodyStarExpr = Utils.pyExpressionToPyStarNamedExpression pbody- tupleElements = Lists.concat2 pbindingStarExprs [- pbodyStarExpr]- tupleExpr = Utils.pyAtomToPyExpression (Syntax.AtomTuple (Syntax.Tuple tupleElements))- indexValue =- Utils.pyAtomToPyExpression (Syntax.AtomNumber (Syntax.NumberInteger (Literals.int32ToBigint (Lists.length bindings))))- indexedExpr = Utils.primaryWithExpressionSlices (Utils.pyExpressionToPyPrimary tupleExpr) [- indexValue]- in (Right (makeUncurriedLambda pparams (Utils.pyPrimaryToPyExpression indexedExpr)))))))))- Core.TermProject v0 ->- let fname = Core.projectionFieldName v0- in (Right (makeCurriedLambda [- Syntax.Name "v1"] (Utils.projectFromExpression (Syntax.ExpressionSimple (Syntax.Disjunction [- Syntax.Conjunction [- Syntax.InversionSimple (Syntax.Comparison {- Syntax.comparisonLhs = Syntax.BitwiseOr {- Syntax.bitwiseOrLhs = Nothing,- Syntax.bitwiseOrRhs = Syntax.BitwiseXor {- Syntax.bitwiseXorLhs = Nothing,- Syntax.bitwiseXorRhs = Syntax.BitwiseAnd {- Syntax.bitwiseAndLhs = Nothing,- Syntax.bitwiseAndRhs = Syntax.ShiftExpression {- Syntax.shiftExpressionLhs = Nothing,- Syntax.shiftExpressionRhs = Syntax.Sum {- Syntax.sumLhs = Nothing,- Syntax.sumRhs = Syntax.Term {- Syntax.termLhs = Nothing,- Syntax.termRhs = (Syntax.FactorSimple (Syntax.Power {- Syntax.powerLhs = Syntax.AwaitPrimary {- Syntax.awaitPrimaryAwait = False,- Syntax.awaitPrimaryPrimary = (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "v1")))},- Syntax.powerRhs = Nothing}))}}}}}},- Syntax.comparisonRhs = []})]])) (PythonNames.encodeFieldName env fname))))- Core.TermUnwrap _ -> Right (makeCurriedLambda [- Syntax.Name "v1"] (Utils.projectFromExpression (Syntax.ExpressionSimple (Syntax.Disjunction [- Syntax.Conjunction [- Syntax.InversionSimple (Syntax.Comparison {- Syntax.comparisonLhs = Syntax.BitwiseOr {- Syntax.bitwiseOrLhs = Nothing,- Syntax.bitwiseOrRhs = Syntax.BitwiseXor {- Syntax.bitwiseXorLhs = Nothing,- Syntax.bitwiseXorRhs = Syntax.BitwiseAnd {- Syntax.bitwiseAndLhs = Nothing,- Syntax.bitwiseAndRhs = Syntax.ShiftExpression {- Syntax.shiftExpressionLhs = Nothing,- Syntax.shiftExpressionRhs = Syntax.Sum {- Syntax.sumLhs = Nothing,- Syntax.sumRhs = Syntax.Term {- Syntax.termLhs = Nothing,- Syntax.termRhs = (Syntax.FactorSimple (Syntax.Power {- Syntax.powerLhs = Syntax.AwaitPrimary {- Syntax.awaitPrimaryAwait = False,- Syntax.awaitPrimaryPrimary = (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "v1")))},- Syntax.powerRhs = Nothing}))}}}}}},- Syntax.comparisonRhs = []})]])) (Syntax.Name "value")))- Core.TermCases _ -> Right (unsupportedExpression "case expressions as values are not yet supported")- Core.TermLet v0 ->- let bindings = Core.letBindings v0- body = Core.letBody v0- in (Logic.ifElse (Lists.isEmpty bindings) (encodeTermInline cx env False body) (withLetInline env v0 (\innerEnv -> Eithers.bind (Eithers.mapList (encodeBindingAsAssignment cx False innerEnv) bindings) (\pbindingExprs -> Eithers.bind (encodeTermInline cx innerEnv False body) (\pbody ->- let pbindingStarExprs = Lists.map (\ne -> Syntax.StarNamedExpressionSimple ne) pbindingExprs- pbodyStarExpr = Utils.pyExpressionToPyStarNamedExpression pbody- tupleElements = Lists.concat2 pbindingStarExprs [- pbodyStarExpr]- tupleExpr = Utils.pyAtomToPyExpression (Syntax.AtomTuple (Syntax.Tuple tupleElements))- indexValue =- Utils.pyAtomToPyExpression (Syntax.AtomNumber (Syntax.NumberInteger (Literals.int32ToBigint (Lists.length bindings))))- indexedExpr = Utils.primaryWithExpressionSlices (Utils.pyExpressionToPyPrimary tupleExpr) [- indexValue]- in (Right (Utils.pyPrimaryToPyExpression indexedExpr)))))))- Core.TermList v0 -> Eithers.bind (Eithers.mapList encode v0) (\pyExprs ->- let consListOf = Utils.projectFromExpression (Utils.pyNameToPyExpression (Syntax.Name "ConsList")) (Syntax.Name "of")- in (Right (Utils.functionCall (Utils.pyExpressionToPyPrimary consListOf) pyExprs)))- Core.TermLiteral v0 -> encodeLiteral v0- Core.TermMap v0 -> Eithers.bind (Eithers.mapList (\kv ->- let k = Pairs.first kv- v = Pairs.second kv- in (Eithers.bind (encode k) (\pyK -> Eithers.bind (encode v) (\pyV -> Right (Utils.pyAtomToPyExpression (Syntax.AtomTuple (Syntax.Tuple [- Utils.pyExpressionToPyStarNamedExpression pyK,- (Utils.pyExpressionToPyStarNamedExpression pyV)]))))))) (Maps.toList v0)) (\tuplePairs ->- let pmapOfEntries =- Utils.projectFromExpression (Utils.pyNameToPyExpression (Syntax.Name "PersistentMap")) (Syntax.Name "of_entries")- in (Right (Utils.functionCall (Utils.pyExpressionToPyPrimary pmapOfEntries) tuplePairs)))- Core.TermOptional v0 -> Optionals.match v0 (Right (Utils.functionCall (Utils.pyNameToPyPrimary (Syntax.Name "None_")) [])) (\t1 -> Eithers.bind (encode t1) (\pyexp -> withCast (Utils.functionCall (Utils.pyNameToPyPrimary (Syntax.Name "Given")) [- pyexp])))- Core.TermPair v0 ->- let t1 = Pairs.first v0- t2 = Pairs.second v0- in (Eithers.bind (encode t1) (\pyExpr1 -> Eithers.bind (encode t2) (\pyExpr2 -> Right (Utils.pyAtomToPyExpression (Syntax.AtomTuple (Syntax.Tuple [- Utils.pyExpressionToPyStarNamedExpression pyExpr1,- (Utils.pyExpressionToPyStarNamedExpression pyExpr2)]))))))- Core.TermRecord v0 ->- let tname = Core.recordTypeName v0- fields = Core.recordFields v0- in (Eithers.bind (Eithers.mapList (\fld -> encode (Core.fieldTerm fld)) fields) (\pargs -> Right (Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeNameQualified env tname)) pargs)))- Core.TermSet v0 -> Eithers.bind (Eithers.mapList encode (Sets.toList v0)) (\pyEls ->- let psetOf = Utils.projectFromExpression (Utils.pyNameToPyExpression (Syntax.Name "PersistentSet")) (Syntax.Name "of")- in (Right (Utils.functionCall (Utils.pyExpressionToPyPrimary psetOf) pyEls)))- Core.TermTypeApplication v0 ->- let body = Core.typeApplicationTermBody v0- in (Eithers.bind (encodeTermInline cx env True (stripTypeApps body)) (\pybase -> withCast pybase))- Core.TermTypeLambda v0 ->- let body = Core.typeLambdaBody v0- in (withTypeLambda env v0 (\env2 -> encodeTermInline cx env2 noCast body))- Core.TermInject v0 ->- let tname = Core.injectionTypeName v0- field = Core.injectionField v0- in (Eithers.bind (Resolution.requireUnionType cx (pythonEnvironmentGetGraph env) tname) (\rt -> Logic.ifElse (Predicates.isEnumRowType rt) (Right (Utils.projectFromExpression (Utils.pyNameToPyExpression (PythonNames.encodeNameQualified env tname)) (PythonNames.encodeEnumValue env (Core.fieldName field)))) (- let fname = Core.fieldName field- isUnitVariant =- Optionals.match (Lists.find (\ft -> Equality.equal (Core.unName (Core.fieldTypeName ft)) (Core.unName fname)) rt) False (\ft -> Predicates.isUnitType (Strip.deannotateType (Core.fieldTypeType ft)))- in (Eithers.bind (Logic.ifElse (Logic.or (Predicates.isUnitTerm (Core.fieldTerm field)) isUnitVariant) (Right []) (Eithers.bind (encode (Core.fieldTerm field)) (\parg -> Right [- parg]))) (\args ->- let deconflictedName = deconflictVariantName True env tname fname (PythonEnvironment.pythonEnvironmentGraph env)- in (Right (Utils.castTo (PythonNames.typeVariableReference env tname) (Utils.functionCall (Utils.pyNameToPyPrimary deconflictedName) args))))))))- Core.TermUnit -> Right (Utils.pyNameToPyExpression Utils.pyNone)- Core.TermVariable v0 -> encodeVariable cx env v0 []- Core.TermWrap v0 ->- let tname = Core.wrappedTermTypeName v0- inner = Core.wrappedTermBody v0- in (Eithers.bind (encode inner) (\parg -> Right (Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeNameQualified env tname)) [- parg])))---- | Encode a term to a list of statements with return as final statement-encodeTermMultiline :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Core.Term -> Either Errors.Error [Syntax.Statement]-encodeTermMultiline cx env term =-- let dfltLogic =- Eithers.bind (analyzePythonFunction cx env term) (\fs ->- let params = Typing.functionStructureParams fs- bindings = Typing.functionStructureBindings fs- innerBody = Typing.functionStructureBody fs- env2 = Typing.functionStructureEnvironment fs- in (Logic.ifElse (Lists.isEmpty bindings) (Eithers.bind (encodeTermInline cx env False term) (\expr -> Right [- Utils.returnSingle expr])) (Eithers.bind (Eithers.mapList (encodeBindingAs cx env2) bindings) (\bindingStmts -> Eithers.bind (encodeTermMultiline cx env2 innerBody) (\bodyStmts -> Right (Lists.concat2 bindingStmts bodyStmts))))))- gathered = Analysis.gatherApplications term- args = Pairs.first gathered- body = Pairs.second gathered- in (Logic.ifElse (Equality.equal (Lists.length args) 1) (- let arg = Optionals.withDefault Core.TermUnit (Lists.head args)- in case (Strip.deannotateAndDetypeTerm body) of- Core.TermCases v0 ->- let tname = Core.caseStatementTypeName v0- dflt = Core.caseStatementDefault v0- cases_ = Core.caseStatementCases v0- in (Eithers.bind (Resolution.requireUnionType cx (pythonEnvironmentGetGraph env) tname) (\rt ->- let isEnum = Predicates.isEnumRowType rt- isFull = isCasesFull rt cases_- in (Eithers.bind (encodeTermInline cx env False arg) (\pyArg -> Eithers.bind (Eithers.mapList (caseBlockToExpr cx env tname rt isEnum (\e -> \t -> encodeTermMultiline cx e t)) (deduplicateCaseVariables cases_)) (\pyCases -> Eithers.bind (encodeDefaultCaseBlock (\t -> encodeTermInline cx env False t) isFull dflt tname) (\pyDflt ->- let subj = Syntax.SubjectExpressionSimple (Syntax.NamedExpressionSimple pyArg)- matchStmt =- Syntax.StatementCompound (Syntax.CompoundStatementMatch (Syntax.MatchStatement {- Syntax.matchStatementSubject = subj,- Syntax.matchStatementCases = (Lists.concat2 pyCases pyDflt)}))- in (Right [- matchStmt])))))))- _ -> dfltLogic) dfltLogic)---- | Encode a term body for TCO: tail self-calls become param reassignment + continue-encodeTermMultilineTCO :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Core.Name -> [Core.Name] -> Core.Term -> Either Errors.Error [Syntax.Statement]-encodeTermMultilineTCO cx env funcName paramNames term =-- let stripped = Strip.deannotateAndDetypeTerm term- gathered = Analysis.gatherApplications stripped- gatherArgs = Pairs.first gathered- gatherFun = Pairs.second gathered- strippedFun = Strip.deannotateAndDetypeTerm gatherFun- isSelfCall =- case strippedFun of- Core.TermVariable v0 -> Equality.equal v0 funcName- _ -> False- in (Logic.ifElse (Logic.and isSelfCall (Equality.equal (Lists.length gatherArgs) (Lists.length paramNames))) (Eithers.bind (Eithers.mapList (\a -> encodeTermInline cx env False a) gatherArgs) (\pyArgs ->- let assignments =- Lists.map (\pair ->- let paramName = Pairs.first pair- pyArg = Pairs.second pair- in (Utils.assignmentStatement (PythonNames.encodeName False Util.CaseConventionLowerSnake env paramName) pyArg)) (Lists.zip paramNames pyArgs)- continueStmt = Syntax.StatementSimple [- Syntax.SimpleStatementContinue]- in (Right (Lists.concat2 assignments [- continueStmt])))) (- let gathered2 = Analysis.gatherApplications term- args2 = Pairs.first gathered2- body2 = Pairs.second gathered2- in (Logic.ifElse (Equality.equal (Lists.length args2) 1) (- let arg = Optionals.withDefault Core.TermUnit (Lists.head args2)- in case (Strip.deannotateAndDetypeTerm body2) of- Core.TermCases v0 ->- let tname = Core.caseStatementTypeName v0- dflt = Core.caseStatementDefault v0- cases_ = Core.caseStatementCases v0- in (Eithers.bind (Resolution.requireUnionType cx (pythonEnvironmentGetGraph env) tname) (\rt ->- let isEnum = Predicates.isEnumRowType rt- isFull = isCasesFull rt cases_- in (Eithers.bind (encodeTermInline cx env False arg) (\pyArg -> Eithers.bind (Eithers.mapList (caseBlockToExpr cx env tname rt isEnum (\e2 -> \t2 -> encodeTermMultilineTCO cx e2 funcName paramNames t2)) (deduplicateCaseVariables cases_)) (\pyCases -> Eithers.bind (encodeDefaultCaseBlock (\t2 -> encodeTermInline cx env False t2) isFull dflt tname) (\pyDflt ->- let subj = Syntax.SubjectExpressionSimple (Syntax.NamedExpressionSimple pyArg)- matchStmt =- Syntax.StatementCompound (Syntax.CompoundStatementMatch (Syntax.MatchStatement {- Syntax.matchStatementSubject = subj,- Syntax.matchStatementCases = (Lists.concat2 pyCases pyDflt)}))- in (Right [- matchStmt])))))))- _ -> Eithers.bind (encodeTermInline cx env False term) (\expr -> Right [- Utils.returnSingle expr])) (Eithers.bind (encodeTermInline cx env False term) (\expr -> Right [- Utils.returnSingle expr])))))---- | Encode a Hydra type to a Python type expression-encodeType :: PythonEnvironment.PythonEnvironment -> Core.Type -> Either t0 Syntax.Expression-encodeType env typ =-- let dflt = Right (Utils.doubleQuotedString (Strings.concat2 "type = " (PrintCore.type_ (Strip.deannotateType typ))))- in case (Strip.deannotateType typ) of- Core.TypeApplication v0 -> encodeApplicationType env v0- Core.TypeFunction v0 -> encodeFunctionType env v0- Core.TypeForall v0 -> encodeForallType env v0- Core.TypeList v0 -> Eithers.bind (encodeType env v0) (\pyet -> Right (Utils.nameAndParams (Syntax.Name "Sequence") [- pyet]))- Core.TypeMap v0 -> Eithers.bind (encodeType env (Core.mapTypeKeys v0)) (\pykt -> Eithers.bind (encodeType env (Core.mapTypeValues v0)) (\pyvt -> Right (Utils.nameAndParams (Syntax.Name "Mapping") [- pykt,- pyvt])))- Core.TypeLiteral v0 -> encodeLiteralType v0- Core.TypeOptional v0 -> Eithers.bind (encodeType env v0) (\ptype -> Right (Utils.pyPrimaryToPyExpression (Utils.primaryWithExpressionSlices (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "Optional"))) [- ptype])))- Core.TypeEither v0 -> Eithers.bind (encodeType env (Core.eitherTypeLeft v0)) (\pyleft -> Eithers.bind (encodeType env (Core.eitherTypeRight v0)) (\pyright -> Right (Utils.pyPrimaryToPyExpression (Utils.primaryWithExpressionSlices (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "Either"))) [- pyleft,- pyright]))))- Core.TypePair v0 -> Eithers.bind (encodeType env (Core.pairTypeFirst v0)) (\pyFirst -> Eithers.bind (encodeType env (Core.pairTypeSecond v0)) (\pySecond -> Right (Utils.nameAndParams (Syntax.Name "tuple") [- pyFirst,- pySecond])))- Core.TypeRecord _ -> dflt- Core.TypeSet v0 -> Eithers.bind (encodeType env v0) (\pyet -> Right (Utils.nameAndParams (Syntax.Name "Set") [- pyet]))- Core.TypeUnion _ -> dflt- Core.TypeUnit -> Right (Utils.pyNameToPyExpression Utils.pyNone)- Core.TypeVoid -> Right (Utils.pyNameToPyExpression Utils.pyNone)- Core.TypeVariable v0 -> Right (PythonNames.typeVariableReference env v0)- Core.TypeWrap _ -> dflt- Core.TypeAnnotated _ -> dflt- Core.TypeEffect v0 -> encodeType env v0---- | Encode a type definition, dispatching based on type structure-encodeTypeAssignment :: t0 -> PythonEnvironment.PythonEnvironment -> Core.Name -> Core.Type -> Maybe String -> Either Errors.Error [[Syntax.Statement]]-encodeTypeAssignment cx env name typ comment =- Eithers.bind (encodeTypeAssignmentInner cx env name typ comment) (\defStmts -> Right (Lists.map (\s -> [- s]) defStmts))---- | Encode the inner type definition, unwrapping forall types-encodeTypeAssignmentInner :: t0 -> PythonEnvironment.PythonEnvironment -> Core.Name -> Core.Type -> Maybe String -> Either Errors.Error [Syntax.Statement]-encodeTypeAssignmentInner cx env name typ comment =-- let stripped = Strip.deannotateType typ- dflt = Eithers.bind (encodeType env typ) (\typeExpr -> Right (encodeTypeDefSingle env name comment typeExpr))- in case stripped of- Core.TypeForall v0 ->- let tvar = Core.forallTypeParameter v0- body = Core.forallTypeBody v0- newEnv = extendEnvWithTypeVar env tvar- in (encodeTypeAssignmentInner cx newEnv name body comment)- Core.TypeRecord v0 -> Eithers.map (\s -> [- s]) (encodeRecordType cx env name v0 comment)- Core.TypeUnion v0 -> encodeUnionType cx env name v0 comment- Core.TypeWrap v0 -> encodeWrappedType env name v0 comment- _ -> dflt---- | Encode a simple type alias definition-encodeTypeDefSingle :: PythonEnvironment.PythonEnvironment -> Core.Name -> Maybe String -> Syntax.Expression -> [Syntax.Statement]-encodeTypeDefSingle env name comment typeExpr =-- let pyName = PythonNames.encodeName False Util.CaseConventionPascal env name- tparams = environmentTypeParameters env- in [- typeAliasStatementFor env pyName tparams comment typeExpr]---- | Encode a type to a Python expression, quoting if the type has free variables-encodeTypeQuoted :: PythonEnvironment.PythonEnvironment -> Core.Type -> Either t0 Syntax.Expression-encodeTypeQuoted env typ =- Eithers.bind (encodeType env typ) (\pytype -> Right (Logic.ifElse (Sets.isEmpty (Variables.freeVariablesInType typ)) pytype (Utils.doubleQuotedString (Serialization.printExpr (Serde.expressionToExpr pytype)))))---- | Encode a union elimination as an inline conditional chain (isinstance-based ternary)-encodeUnionEliminationInline :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Core.CaseStatement -> Syntax.Expression -> Either Errors.Error Syntax.Expression-encodeUnionEliminationInline cx env cs pyArg =-- let tname = Core.caseStatementTypeName cs- mdefault = Core.caseStatementDefault cs- cases_ = Core.caseStatementCases cs- in (Eithers.bind (Resolution.requireUnionType cx (pythonEnvironmentGetGraph env) tname) (\rt ->- let isEnum = Predicates.isEnumRowType rt- valueExpr = Utils.projectFromExpression pyArg (Syntax.Name "value")- isinstancePrimary = Utils.pyNameToPyPrimary (Syntax.Name "isinstance")- in (Eithers.bind (Optionals.match mdefault (Right (unsupportedExpression "no matching case in inline union elimination")) (\dflt -> encodeTermInline cx env False dflt)) (\pyDefault ->- let encodeBranch =- \field ->- let fname = Core.caseAlternativeName field- fterm = Core.caseAlternativeHandler field- isUnitVariant = isVariantUnitType rt fname- pyVariantName = deconflictVariantName True env tname fname (PythonEnvironment.pythonEnvironmentGraph env)- pyTypeName = PythonNames.encodeName True Util.CaseConventionPascal env tname- pyEnumValue = PythonNames.encodeEnumValue env fname- enumMemberExpr =- Utils.pyPrimaryToPyExpression (Syntax.PrimaryCompound (Syntax.PrimaryWithRhs {- Syntax.primaryWithRhsPrimary = (Utils.pyNameToPyPrimary pyTypeName),- Syntax.primaryWithRhsRhs = (Syntax.PrimaryRhsProject pyEnumValue)}))- isinstanceCheck =- Logic.ifElse isEnum (Syntax.ExpressionSimple (Syntax.Disjunction [- Syntax.Conjunction [- Syntax.InversionSimple (Syntax.Comparison {- Syntax.comparisonLhs = (Utils.pyExpressionToBitwiseOr pyArg),- Syntax.comparisonRhs = [- Syntax.CompareOpBitwiseOrPair {- Syntax.compareOpBitwiseOrPairOperator = Syntax.CompareOpEq,- Syntax.compareOpBitwiseOrPairRhs = (Utils.pyExpressionToBitwiseOr enumMemberExpr)}]})]])) (Utils.functionCall isinstancePrimary [- pyArg,- (Utils.pyNameToPyExpression pyVariantName)])- in (Eithers.bind (encodeTermInline cx env False fterm) (\pyBranch ->- let pyResult =- Logic.ifElse isEnum (Utils.functionCall (Utils.pyExpressionToPyPrimary pyBranch) [- pyArg]) (Logic.ifElse isUnitVariant (Utils.functionCall (Utils.pyExpressionToPyPrimary pyBranch) [- pyArg]) (Utils.functionCall (Utils.pyExpressionToPyPrimary pyBranch) [- valueExpr]))- in (Right (isinstanceCheck, pyResult))))- in (Eithers.bind (Eithers.mapList encodeBranch cases_) (\encodedBranches ->- let buildChain =- \elseExpr -> \branchPair ->- let checkExpr = Pairs.first branchPair- resultExpr = Pairs.second branchPair- in (Syntax.ExpressionConditional (Syntax.Conditional {- Syntax.conditionalBody = (Utils.pyExpressionToDisjunction resultExpr),- Syntax.conditionalIf = (Utils.pyExpressionToDisjunction checkExpr),- Syntax.conditionalElse = elseExpr}))- in (Right (Lists.foldl buildChain pyDefault (Lists.reverse encodedBranches)))))))))---- | Encode a union field as a variant class-encodeUnionField :: t0 -> PythonEnvironment.PythonEnvironment -> Core.Name -> Core.FieldType -> Either Errors.Error Syntax.Statement-encodeUnionField cx env unionName fieldType =-- let fname = Core.fieldTypeName fieldType- ftype = Core.fieldTypeType fieldType- in (Eithers.bind (Annotations.getTypeDescription cx (pythonEnvironmentGetGraph env) ftype) (\fcomment ->- let isUnit = Equality.equal (Strip.deannotateType ftype) Core.TypeUnit- isDecimal = Equality.equal (Strip.deannotateType ftype) (Core.TypeLiteral Core.LiteralTypeDecimal)- varName = deconflictVariantName False env unionName fname (PythonEnvironment.pythonEnvironmentGraph env)- tparamNames = findTypeParams env ftype- tparamPyNames = Lists.map PythonNames.encodeTypeVariable tparamNames- fieldParams = Lists.map Utils.pyNameToPyTypeParameter tparamPyNames- body =- Logic.ifElse isUnit (Utils.indentedBlock fcomment [- Utils.unitVariantMethods varName]) (Logic.ifElse isDecimal (Utils.indentedBlock fcomment [- Utils.decimalVariantMethods]) (Utils.indentedBlock fcomment []))- in (Eithers.bind (Logic.ifElse isUnit (Right Nothing) (Eithers.bind (encodeTypeQuoted env ftype) (\quotedType -> Right (Just (variantArgs quotedType []))))) (\margs -> Right (Utils.pyClassDefinitionToPyStatement (Syntax.ClassDefinition {- Syntax.classDefinitionDecorators = Nothing,- Syntax.classDefinitionName = varName,- Syntax.classDefinitionTypeParams = fieldParams,- Syntax.classDefinitionArguments = margs,- Syntax.classDefinitionBody = body}))))))---- | Encode a union field as a primary expression for | alternatives-encodeUnionFieldAlt :: PythonEnvironment.PythonEnvironment -> Core.Name -> Core.FieldType -> Syntax.Primary-encodeUnionFieldAlt env unionName fieldType =-- let fname = Core.fieldTypeName fieldType- ftype = Core.fieldTypeType fieldType- tparamNames = findTypeParams env ftype- tparams = Lists.map PythonNames.encodeTypeVariable tparamNames- namePrim = Utils.pyNameToPyPrimary (PythonNames.variantName False env unionName fname)- in (Logic.ifElse (Lists.isEmpty tparams) namePrim (- let tparamExprs = Lists.map Utils.pyNameToPyExpression tparams- in (Utils.primaryWithExpressionSlices namePrim tparamExprs)))---- | Encode a union type as an enum (for unit-only fields) or variant classes-encodeUnionType :: t0 -> PythonEnvironment.PythonEnvironment -> Core.Name -> [Core.FieldType] -> Maybe String -> Either Errors.Error [Syntax.Statement]-encodeUnionType cx env name rowType comment =- Logic.ifElse (Predicates.isEnumRowType rowType) (Eithers.bind (Eithers.mapList (encodeEnumValueAssignment cx env) rowType) (\vals ->- let body = Utils.indentedBlock comment vals- enumName = Syntax.Name "Enum"- args = Just (Utils.pyExpressionsToPyArgs [- Utils.pyNameToPyExpression enumName])- pyName = PythonNames.encodeName False Util.CaseConventionPascal env name- typeConstStmt =- Utils.dottedAssignmentStatement pyName (PythonNames.encodeConstantForTypeName env name) (Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeName True Util.CaseConventionPascal env (Core.Name "hydra.core.Name"))) [- Utils.doubleQuotedString (Core.unName name)])- in (Right [- Utils.pyClassDefinitionToPyStatement (Syntax.ClassDefinition {- Syntax.classDefinitionDecorators = Nothing,- Syntax.classDefinitionName = pyName,- Syntax.classDefinitionTypeParams = [],- Syntax.classDefinitionArguments = args,- Syntax.classDefinitionBody = body}),- typeConstStmt]))) (- let constStmts = encodeNameConstants env name rowType- in (Eithers.bind (Eithers.mapList (encodeUnionField cx env name) rowType) (\fieldStmts ->- let tparams = environmentTypeParameters env- unionAlts = Lists.map (encodeUnionFieldAlt env name) rowType- unionStmts =- unionTypeStatementsFor env (PythonNames.encodeName False Util.CaseConventionPascal env name) tparams comment (Utils.orExpression unionAlts) constStmts- in (Right (Lists.concat2 fieldStmts unionStmts)))))---- | Encode a variable reference to a Python expression-encodeVariable :: t0 -> PythonEnvironment.PythonEnvironment -> Core.Name -> [Syntax.Expression] -> Either Errors.Error Syntax.Expression-encodeVariable cx env name args =-- let g = pythonEnvironmentGetGraph env- tc = PythonEnvironment.pythonEnvironmentGraph env- tcTypes = Graph.graphBoundTypes tc- tcLambdaVars = Graph.graphLambdaVariables tc- tcMetadata = Graph.graphMetadata tc- inlineVars = PythonEnvironment.pythonEnvironmentInlineVariables env- mTypScheme = Maps.lookup name tcTypes- mTyp = Optionals.map (\ts_ -> Core.typeSchemeBody ts_) mTypScheme- asVariable = PythonNames.termVariableReference env name- asFunctionCall =- Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeName True Util.CaseConventionLowerSnake env name)) args- asLazyCall = Utils.functionCall (Utils.pyExpressionToPyPrimary (lazyDotGet asVariable)) args- in (Logic.ifElse (Logic.not (Lists.isEmpty args)) (Logic.ifElse (Sets.member name inlineVars) (Right asLazyCall) (Optionals.match (Lexical.lookupPrimitive g name) (Right asFunctionCall) (\prim ->- let primArity = Arity.primitiveArity prim- in (Logic.ifElse (Equality.equal primArity (Lists.length args)) (Right asFunctionCall) (- let numRemaining = Math.sub primArity (Lists.length args)- remainingParams =- Lists.map (\i -> Syntax.Name (Strings.concat2 "x" (Literals.printInt32 i))) (Math.range 1 (Math.add numRemaining 1))- remainingExprs =- Lists.map (\n -> Syntax.ExpressionSimple (Syntax.Disjunction [- Syntax.Conjunction [- Syntax.InversionSimple (Syntax.Comparison {- Syntax.comparisonLhs = Syntax.BitwiseOr {- Syntax.bitwiseOrLhs = Nothing,- Syntax.bitwiseOrRhs = Syntax.BitwiseXor {- Syntax.bitwiseXorLhs = Nothing,- Syntax.bitwiseXorRhs = Syntax.BitwiseAnd {- Syntax.bitwiseAndLhs = Nothing,- Syntax.bitwiseAndRhs = Syntax.ShiftExpression {- Syntax.shiftExpressionLhs = Nothing,- Syntax.shiftExpressionRhs = Syntax.Sum {- Syntax.sumLhs = Nothing,- Syntax.sumRhs = Syntax.Term {- Syntax.termLhs = Nothing,- Syntax.termRhs = (Syntax.FactorSimple (Syntax.Power {- Syntax.powerLhs = Syntax.AwaitPrimary {- Syntax.awaitPrimaryAwait = False,- Syntax.awaitPrimaryPrimary = (Syntax.PrimarySimple (Syntax.AtomName n))},- Syntax.powerRhs = Nothing}))}}}}}},- Syntax.comparisonRhs = []})]])) remainingParams- allArgs = Lists.concat2 args remainingExprs- fullCall =- Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeName True Util.CaseConventionLowerSnake env name)) allArgs- in (Right (makeUncurriedLambda remainingParams fullCall))))))) (Optionals.match mTyp (Logic.ifElse (Sets.member name tcLambdaVars) (Right asVariable) (Logic.ifElse (Sets.member name inlineVars) (Right (lazyDotGet asVariable)) (Optionals.match (Lexical.lookupPrimitive g name) (Optionals.match (Lexical.lookupBinding g name) (Optionals.match (Maps.lookup name tcMetadata) (Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "Unknown variable: " (Core.unName name))))) (\_ -> Right asFunctionCall)) (\el ->- let elTrivial1 = Predicates.isTrivialTerm (Core.bindingTerm el)- in (Optionals.match (Core.bindingTypeScheme el) (Right asVariable) (\ts -> Logic.ifElse (Logic.and (Logic.and (Equality.equal (Arity.typeSchemeArity ts) 0) (Predicates.isComplexBinding tc el)) (Logic.not elTrivial1)) (Right asFunctionCall) (- let asFunctionRef =- Logic.ifElse (Logic.not (Lists.isEmpty (Core.typeSchemeVariables ts))) (makeSimpleLambda (Arity.typeArity (Core.typeSchemeBody ts)) asVariable) asVariable- in (Right asFunctionRef)))))) (\prim ->- let primArity = Arity.primitiveArity prim- in (Logic.ifElse (Equality.equal primArity 0) (Right asFunctionCall) (- let ts = Scoping.termSignatureToTypeScheme (Packaging.primitiveDefinitionSignature (Graph.primitiveDefinition prim))- asFunctionRef =- Logic.ifElse (Logic.not (Lists.isEmpty (Core.typeSchemeVariables ts))) (makeSimpleLambda (Arity.typeArity (Core.typeSchemeBody ts)) asVariable) asVariable- in (Right asFunctionRef))))))) (\typ -> Logic.ifElse (Sets.member name tcLambdaVars) (Right asVariable) (Logic.ifElse (Sets.member name inlineVars) (- let unwrapped = lazyDotGet asVariable- asFunctionRef =- Logic.ifElse (Logic.not (Sets.isEmpty (Variables.freeVariablesInType typ))) (makeSimpleLambda (Arity.typeArity typ) unwrapped) unwrapped- in (Right asFunctionRef)) (Logic.ifElse (Logic.not (Maps.member name tcMetadata)) (Optionals.match (Lexical.lookupBinding g name) (- let asFunctionRef =- Logic.ifElse (Logic.not (Sets.isEmpty (Variables.freeVariablesInType typ))) (makeSimpleLambda (Arity.typeArity typ) asVariable) asVariable- in (Right asFunctionRef)) (\el ->- let elTrivial = Predicates.isTrivialTerm (Core.bindingTerm el)- in (Optionals.match (Core.bindingTypeScheme el) (Logic.ifElse (Logic.and (Equality.equal (Arity.typeArity typ) 0) (Logic.not elTrivial)) (Right asFunctionCall) (- let asFunctionRef =- Logic.ifElse (Logic.not (Sets.isEmpty (Variables.freeVariablesInType typ))) (makeSimpleLambda (Arity.typeArity typ) asVariable) asVariable- in (Right asFunctionRef))) (\ts -> Logic.ifElse (Logic.and (Logic.and (Equality.equal (Arity.typeArity typ) 0) (Predicates.isComplexBinding tc el)) (Logic.not elTrivial)) (Right asFunctionCall) (- let asFunctionRef =- Logic.ifElse (Logic.not (Sets.isEmpty (Variables.freeVariablesInType typ))) (makeSimpleLambda (Arity.typeArity typ) asVariable) asVariable- in (Right asFunctionRef)))))) (Logic.ifElse (Logic.and (Equality.equal (Arity.typeArity typ) 0) (Predicates.isComplexVariable tc name)) (Right asFunctionCall) (- let asFunctionRef =- Logic.ifElse (Logic.not (Sets.isEmpty (Variables.freeVariablesInType typ))) (makeSimpleLambda (Arity.typeArity typ) asVariable) asVariable- in (Right asFunctionRef))))))))---- | Encode a wrapped type (newtype) to a Python class definition-encodeWrappedType :: PythonEnvironment.PythonEnvironment -> Core.Name -> Core.Type -> Maybe String -> Either t0 [Syntax.Statement]-encodeWrappedType env name typ comment =-- let tparamList = Pairs.first (PythonEnvironment.pythonEnvironmentBoundTypeVariables env)- in (Eithers.bind (encodeTypeQuoted env typ) (\ptypeQuoted ->- let pyName = PythonNames.encodeName False Util.CaseConventionPascal env name- body = Utils.indentedBlock comment []- typeConstStmt =- Utils.dottedAssignmentStatement pyName (PythonNames.encodeConstantForTypeName env name) (Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeName True Util.CaseConventionPascal env (Core.Name "hydra.core.Name"))) [- Utils.doubleQuotedString (Core.unName name)])- in (Right [- Utils.pyClassDefinitionToPyStatement (Syntax.ClassDefinition {- Syntax.classDefinitionDecorators = Nothing,- Syntax.classDefinitionName = pyName,- Syntax.classDefinitionTypeParams = (Lists.map (\arg_ -> Utils.pyNameToPyTypeParameter (PythonNames.encodeTypeVariable arg_)) (findTypeParams env typ)),- Syntax.classDefinitionArguments = (Just (variantArgs ptypeQuoted tparamList)),- Syntax.classDefinitionBody = body}),- typeConstStmt])))---- | Create a value pattern for an enum variant-enumVariantPattern :: PythonEnvironment.PythonEnvironment -> Core.Name -> Core.Name -> Syntax.ClosedPattern-enumVariantPattern env typeName fieldName =- Syntax.ClosedPatternValue (Syntax.ValuePattern (Syntax.Attribute [- PythonNames.encodeName True Util.CaseConventionPascal env typeName,- (PythonNames.encodeEnumValue env fieldName)]))---- | Get type parameters from environment as Python TypeParameters-environmentTypeParameters :: PythonEnvironment.PythonEnvironment -> [Syntax.TypeParameter]-environmentTypeParameters env =- Lists.map (\arg_ -> Utils.pyNameToPyTypeParameter (PythonNames.encodeTypeVariable arg_)) (Pairs.first (PythonEnvironment.pythonEnvironmentBoundTypeVariables env))---- | Extend environment with lambda parameters from a term-extendEnvWithLambdaParams :: PythonEnvironment.PythonEnvironment -> Core.Term -> PythonEnvironment.PythonEnvironment-extendEnvWithLambdaParams env term =-- let go =- \e -> \t -> case (Strip.deannotateAndDetypeTerm t) of- Core.TermLambda v0 ->- let newTc = Scoping.extendGraphForLambda (pythonEnvironmentGetGraph e) v0- newEnv = pythonEnvironmentSetGraph newTc e- in (go newEnv (Core.lambdaBody v0))- _ -> e- in (go env term)---- | Extend a PythonEnvironment with a new bound type variable-extendEnvWithTypeVar :: PythonEnvironment.PythonEnvironment -> Core.Name -> PythonEnvironment.PythonEnvironment-extendEnvWithTypeVar env var_ =-- let oldBound = PythonEnvironment.pythonEnvironmentBoundTypeVariables env- tparamList = Pairs.first oldBound- tparamMap = Pairs.second oldBound- newList = Lists.concat2 tparamList [- var_]- newMap = Maps.insert var_ (PythonNames.encodeTypeVariable var_) tparamMap- in PythonEnvironment.PythonEnvironment {- PythonEnvironment.pythonEnvironmentNamespaces = (PythonEnvironment.pythonEnvironmentNamespaces env),- PythonEnvironment.pythonEnvironmentBoundTypeVariables = (newList, newMap),- PythonEnvironment.pythonEnvironmentGraph = (PythonEnvironment.pythonEnvironmentGraph env),- PythonEnvironment.pythonEnvironmentNullaryBindings = (PythonEnvironment.pythonEnvironmentNullaryBindings env),- PythonEnvironment.pythonEnvironmentVersion = (PythonEnvironment.pythonEnvironmentVersion env),- PythonEnvironment.pythonEnvironmentSkipCasts = (PythonEnvironment.pythonEnvironmentSkipCasts env),- PythonEnvironment.pythonEnvironmentInlineVariables = (PythonEnvironment.pythonEnvironmentInlineVariables env),- PythonEnvironment.pythonEnvironmentOverlaySubs = (PythonEnvironment.pythonEnvironmentOverlaySubs env)}---- | Extend metadata based on a term (used during module encoding)-extendMetaForTerm :: Bool -> PythonEnvironment.PythonModuleMetadata -> Core.Term -> PythonEnvironment.PythonModuleMetadata-extendMetaForTerm topLevel meta0 term =-- let step =- \meta -> \t -> case t of- Core.TermEither v0 ->- let metaWithCast = setMetaUsesCast True meta- in (Eithers.either (\_ -> setMetaUsesLeft metaWithCast True) (\_ -> setMetaUsesRight metaWithCast True) v0)- Core.TermLambda v0 -> Optionals.match (Core.lambdaDomain v0) meta (\dom -> Logic.ifElse topLevel (extendMetaForType True False dom meta) meta)- Core.TermLet v0 ->- let bindings = Core.letBindings v0- in (Lists.foldl (- let forBinding =- \m -> \b -> Optionals.match (Core.bindingTypeScheme b) m (\ts ->- let term1 = Core.bindingTerm b- in (Logic.ifElse (Analysis.isSimpleAssignment term1) m (extendMetaForType True True (Core.typeSchemeBody ts) m)))- in forBinding) meta bindings)- Core.TermLiteral v0 -> case v0 of- Core.LiteralDecimal _ -> setMetaUsesDecimal meta True- _ -> meta- Core.TermList _ -> setMetaUsesFrozenList meta True- Core.TermMap _ -> setMetaUsesFrozenDict meta True- Core.TermSet _ -> setMetaUsesFrozenSet meta True- Core.TermOptional v0 -> Optionals.match v0 (setMetaUsesNothing meta True) (\_ -> setMetaUsesJust meta True)- Core.TermInject _ -> setMetaUsesCast True meta- _ -> meta- in (Rewriting.foldOverTerm Coders.TraversalOrderPre step meta0 term)---- | Extend metadata based on a type (used during module encoding)-extendMetaForType :: Bool -> Bool -> Core.Type -> PythonEnvironment.PythonModuleMetadata -> PythonEnvironment.PythonModuleMetadata-extendMetaForType topLevel isTermAnnot typ meta =-- let currentTvars = PythonEnvironment.pythonModuleMetadataTypeVariables meta- newTvars = collectTypeVariables currentTvars typ- metaWithTvars = setMetaTypeVariables meta newTvars- metaWithSubtypes = Lists.foldl (\m -> \t -> extendMetaForType False isTermAnnot t m) metaWithTvars (Rewriting.subtypes typ)- in case (Strip.deannotateType typ) of- Core.TypeFunction _ -> Logic.ifElse (Logic.and isTermAnnot topLevel) metaWithSubtypes (setMetaUsesCallable metaWithSubtypes True)- Core.TypeList _ -> setMetaUsesFrozenList metaWithSubtypes True- Core.TypeMap _ -> setMetaUsesFrozenDict metaWithSubtypes True- Core.TypeSet _ -> setMetaUsesFrozenSet metaWithSubtypes True- Core.TypeOptional _ -> setMetaUsesMaybe metaWithSubtypes True- Core.TypeEither _ -> setMetaUsesEither metaWithSubtypes True- Core.TypeLiteral v0 -> case v0 of- Core.LiteralTypeDecimal -> setMetaUsesDecimal metaWithSubtypes True- _ -> metaWithSubtypes- Core.TypeUnion v0 -> Logic.ifElse (Predicates.isEnumRowType v0) (setMetaUsesEnum metaWithSubtypes True) (Logic.ifElse (Logic.not (Lists.isEmpty v0)) (setMetaUsesNode metaWithSubtypes True) metaWithSubtypes)- Core.TypeForall v0 ->- let body = Core.forallTypeBody v0- metaForWrap = digForWrap isTermAnnot metaWithSubtypes body- in case (Strip.deannotateType body) of- Core.TypeRecord _ -> setMetaUsesGeneric metaForWrap True- _ -> metaForWrap- Core.TypeRecord v0 ->- let hasAnnotated = Lists.foldl (\b -> \ft -> Logic.or b (Annotations.hasTypeDescription (Core.fieldTypeType ft))) False v0- meta1 = Logic.ifElse (Lists.isEmpty v0) metaWithSubtypes (setMetaUsesDataclass metaWithSubtypes True)- in (Logic.ifElse hasAnnotated (setMetaUsesAnnotated meta1 True) meta1)- Core.TypeWrap _ -> Logic.ifElse isTermAnnot metaWithSubtypes (setMetaUsesNode metaWithSubtypes True)- _ -> metaWithSubtypes---- | Extend metadata for a list of types-extendMetaForTypes :: [Core.Type] -> PythonEnvironment.PythonModuleMetadata -> PythonEnvironment.PythonModuleMetadata-extendMetaForTypes types meta =-- let names = Sets.unions (Lists.map (\t -> Dependencies.typeDependencyNames False t) types)- currentNs = PythonEnvironment.pythonModuleMetadataNamespaces meta- updatedNs = Analysis.addNamesToModuleNames (PythonNames.encodeNamespaceWithOverrides Sets.empty) names currentNs- meta1 = setMetaNamespaces updatedNs meta- in (Lists.foldl (\m -> \t -> extendMetaForType True False t m) meta1 types)---- | Extract CaseStatement from a case elimination term-extractCaseElimination :: Core.Term -> Maybe Core.CaseStatement-extractCaseElimination term =- case (Strip.deannotateAndDetypeTerm term) of- Core.TermCases v0 -> Just v0- _ -> Nothing---- | Prefer signature parameter types over analysis-captured lambda domains when both are available in equal length (#488).-fillDomsFromSignature :: [t0] -> [t0] -> [t0]-fillDomsFromSignature doms sigParamTypes =- Logic.ifElse (Equality.equal (Lists.length doms) (Lists.length sigParamTypes)) sigParamTypes doms---- | Find type parameters in a type that are bound in the environment-findTypeParams :: PythonEnvironment.PythonEnvironment -> Core.Type -> [Core.Name]-findTypeParams env typ =-- let boundVars = Pairs.second (PythonEnvironment.pythonEnvironmentBoundTypeVariables env)- isBound = \v -> Optionals.isGiven (Maps.lookup v boundVars)- in (Lists.filter isBound (Sets.toList (Variables.freeVariablesInType typ)))---- | Encode a function definition with parameters and body-functionDefinitionToExpr :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Core.Name -> [Core.Name] -> [Core.Name] -> Core.Term -> [Core.Type] -> Maybe Core.Type -> Maybe String -> [Syntax.Statement] -> Either Errors.Error Syntax.Statement-functionDefinitionToExpr cx env name tparams args body doms mcod comment prefixes =- Eithers.bind (Eithers.mapList (\pair ->- let argName = Pairs.first pair- typ = Pairs.second pair- in (Eithers.bind (encodeType env typ) (\pyTyp -> Right (Syntax.ParamNoDefault {- Syntax.paramNoDefaultParam = Syntax.Param {- Syntax.paramName = (PythonNames.encodeName False Util.CaseConventionLowerSnake env argName),- Syntax.paramAnnotation = (Just (Syntax.Annotation pyTyp))},- Syntax.paramNoDefaultTypeComment = Nothing})))) (Lists.zip args doms)) (\pyArgs ->- let pyParams =- Syntax.ParametersParamNoDefault (Syntax.ParamNoDefaultParameters {- Syntax.paramNoDefaultParametersParamNoDefault = pyArgs,- Syntax.paramNoDefaultParametersParamWithDefault = [],- Syntax.paramNoDefaultParametersStarEtc = Nothing})- isTCO = Logic.and (Logic.not (Lists.isEmpty args)) (Analysis.isSelfTailRecursive name body)- in (Eithers.bind (Logic.ifElse isTCO (Eithers.bind (encodeTermMultilineTCO cx env name args body) (\tcoStmts ->- let trueExpr = Syntax.NamedExpressionSimple (Utils.pyAtomToPyExpression Syntax.AtomTrue)- whileBody = Utils.indentedBlock Nothing [- Lists.concat2 prefixes tcoStmts]- whileStmt =- Syntax.StatementCompound (Syntax.CompoundStatementWhile (Syntax.WhileStatement {- Syntax.whileStatementCondition = trueExpr,- Syntax.whileStatementBody = whileBody,- Syntax.whileStatementElse = Nothing}))- in (Right (Utils.indentedBlock comment [- [- whileStmt]])))) (Eithers.bind (encodeTermMultiline cx env body) (\stmts -> Right (Utils.indentedBlock comment [- Lists.concat2 prefixes stmts])))) (\block -> Eithers.bind (Optionals.match mcod (Right Nothing) (\cod -> Eithers.bind (encodeType env cod) (\pytyp -> Right (Just pytyp)))) (\mreturnType ->- let pyTparams =- Logic.ifElse useInlineTypeParams (Lists.map (\arg_ -> Utils.pyNameToPyTypeParameter (PythonNames.encodeTypeVariable arg_)) tparams) []- isThunk = Lists.isEmpty args- mDecorators = Logic.ifElse isThunk (Just (Syntax.Decorators [- lruCacheDecorator])) Nothing- pyName = PythonNames.encodeName False Util.CaseConventionLowerSnake env name- in (Right (Syntax.StatementCompound (Syntax.CompoundStatementFunction (Syntax.FunctionDefinition {- Syntax.functionDefinitionDecorators = mDecorators,- Syntax.functionDefinitionRaw = Syntax.FunctionDefRaw {- Syntax.functionDefRawAsync = False,- Syntax.functionDefRawName = pyName,- Syntax.functionDefRawTypeParams = pyTparams,- Syntax.functionDefRawParams = (Just pyParams),- Syntax.functionDefRawReturnType = mreturnType,- Syntax.functionDefRawFuncTypeComment = Nothing,- Syntax.functionDefRawBlock = block}}))))))))---- | Extract lambdas and their bodies from a term-gatherLambdas :: Core.Term -> ([Core.Name], Core.Term)-gatherLambdas term =-- let go =- \params -> \t -> case (Strip.deannotateAndDetypeTerm t) of- Core.TermLambda v0 -> go (Lists.concat2 params [- Core.lambdaParameter v0]) (Core.lambdaBody v0)- _ -> (params, t)- in (go [] term)---- | Gather metadata from definitions-gatherMetadata :: S.Set String -> Packaging.ModuleName -> [Packaging.Definition] -> PythonEnvironment.PythonModuleMetadata-gatherMetadata overlaySubs focusNs defs =-- let start = emptyMetadata (Utils.findNamespaces overlaySubs focusNs defs)- addDef =- \meta -> \def -> case def of- Packaging.DefinitionTerm v0 ->- let term = Packaging.termDefinitionBody v0- typ =- Optionals.match (Packaging.termDefinitionSignature v0) (Core.TypeVariable (Core.Name "hydra.core.Unit")) (\sig -> Core.typeSchemeBody (Scoping.termSignatureToTypeScheme sig))- meta2 = extendMetaForType True True typ meta- in (extendMetaForTerm True meta2 term)- Packaging.DefinitionType v0 ->- let typ = Core.typeSchemeBody (Packaging.typeDefinitionBody v0)- meta2 = setMetaUsesName meta True- in (Rewriting.foldOverType Coders.TraversalOrderPre (\m -> \t -> extendMetaForType True False t m) meta2 typ)- result = Lists.foldl addDef start defs- tvars = PythonEnvironment.pythonModuleMetadataTypeVariables result- result2 = setMetaUsesCast True (setMetaUsesLruCache True result)- in (setMetaUsesTypeVar result2 (Logic.not (Sets.isEmpty tvars)))---- | Create Generic[...] argument expression for class definition-genericArg :: [Core.Name] -> Maybe Syntax.Expression-genericArg tparamList =- Logic.ifElse (Lists.isEmpty tparamList) Nothing (Just (Utils.pyPrimaryToPyExpression (Utils.primaryWithExpressionSlices (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "Generic"))) (Lists.map (\n -> Syntax.ExpressionSimple (Syntax.Disjunction [- Syntax.Conjunction [- Syntax.InversionSimple (Syntax.Comparison {- Syntax.comparisonLhs = Syntax.BitwiseOr {- Syntax.bitwiseOrLhs = Nothing,- Syntax.bitwiseOrRhs = Syntax.BitwiseXor {- Syntax.bitwiseXorLhs = Nothing,- Syntax.bitwiseXorRhs = Syntax.BitwiseAnd {- Syntax.bitwiseAndLhs = Nothing,- Syntax.bitwiseAndRhs = Syntax.ShiftExpression {- Syntax.shiftExpressionLhs = Nothing,- Syntax.shiftExpressionRhs = Syntax.Sum {- Syntax.sumLhs = Nothing,- Syntax.sumRhs = Syntax.Term {- Syntax.termLhs = Nothing,- Syntax.termRhs = (Syntax.FactorSimple (Syntax.Power {- Syntax.powerLhs = Syntax.AwaitPrimary {- Syntax.awaitPrimaryAwait = False,- Syntax.awaitPrimaryPrimary = (Syntax.PrimarySimple (Syntax.AtomName (PythonNames.encodeTypeVariable n)))},- Syntax.powerRhs = Nothing}))}}}}}},- Syntax.comparisonRhs = []})]])) tparamList))))---- | Create an initial Python environment for code generation, given the on-disk overlay-existence set (#630) driving emission-time primitive-reference redirects-initialEnvironment :: Util.ModuleNames Syntax.DottedName -> Graph.Graph -> S.Set String -> PythonEnvironment.PythonEnvironment-initialEnvironment namespaces tcontext overlaySubs =- PythonEnvironment.PythonEnvironment {- PythonEnvironment.pythonEnvironmentNamespaces = namespaces,- PythonEnvironment.pythonEnvironmentBoundTypeVariables = ([], Maps.empty),- PythonEnvironment.pythonEnvironmentGraph = tcontext,- PythonEnvironment.pythonEnvironmentNullaryBindings = Sets.empty,- PythonEnvironment.pythonEnvironmentVersion = targetPythonVersion,- PythonEnvironment.pythonEnvironmentSkipCasts = True,- PythonEnvironment.pythonEnvironmentInlineVariables = Sets.empty,- PythonEnvironment.pythonEnvironmentOverlaySubs = overlaySubs}---- | Create initial empty metadata for a Python module-initialMetadata :: Packaging.ModuleName -> PythonEnvironment.PythonModuleMetadata-initialMetadata ns =-- let dottedNs = PythonNames.encodeNamespace ns- emptyNs =- Util.ModuleNames {- Util.moduleNamesFocus = (ns, dottedNs),- Util.moduleNamesMapping = Maps.empty}- in PythonEnvironment.PythonModuleMetadata {- PythonEnvironment.pythonModuleMetadataNamespaces = emptyNs,- PythonEnvironment.pythonModuleMetadataTypeVariables = Sets.empty,- PythonEnvironment.pythonModuleMetadataUsesAnnotated = False,- PythonEnvironment.pythonModuleMetadataUsesCallable = False,- PythonEnvironment.pythonModuleMetadataUsesCast = False,- PythonEnvironment.pythonModuleMetadataUsesLruCache = False,- PythonEnvironment.pythonModuleMetadataUsesTypeAlias = False,- PythonEnvironment.pythonModuleMetadataUsesDataclass = False,- PythonEnvironment.pythonModuleMetadataUsesDecimal = False,- PythonEnvironment.pythonModuleMetadataUsesEither = False,- PythonEnvironment.pythonModuleMetadataUsesEnum = False,- PythonEnvironment.pythonModuleMetadataUsesFrozenDict = False,- PythonEnvironment.pythonModuleMetadataUsesFrozenList = False,- PythonEnvironment.pythonModuleMetadataUsesFrozenSet = False,- PythonEnvironment.pythonModuleMetadataUsesGeneric = False,- PythonEnvironment.pythonModuleMetadataUsesJust = False,- PythonEnvironment.pythonModuleMetadataUsesLeft = False,- PythonEnvironment.pythonModuleMetadataUsesMaybe = False,- PythonEnvironment.pythonModuleMetadataUsesName = False,- PythonEnvironment.pythonModuleMetadataUsesNode = False,- PythonEnvironment.pythonModuleMetadataUsesNothing = False,- PythonEnvironment.pythonModuleMetadataUsesRight = False,- PythonEnvironment.pythonModuleMetadataUsesTypeVar = False}---- | Check if a term is a case statement applied to exactly one argument-isCaseStatementApplication :: Core.Term -> Maybe (Core.Name, (Maybe Core.Term, ([Core.CaseAlternative], Core.Term)))-isCaseStatementApplication term =-- let gathered = Analysis.gatherApplications term- args = Pairs.first gathered- body = Pairs.second gathered- in (Logic.ifElse (Logic.not (Equality.equal (Lists.length args) 1)) Nothing (- let arg = Optionals.withDefault Core.TermUnit (Lists.head args)- in case (Strip.deannotateAndDetypeTerm body) of- Core.TermCases v0 -> Just (Core.caseStatementTypeName v0, (Core.caseStatementDefault v0, (Core.caseStatementCases v0, arg)))- _ -> Nothing))---- | Check if union cases are fully covered-isCasesFull :: [t0] -> [t1] -> Bool-isCasesFull rowType cases_ =-- let numCases = Lists.length cases_- numFields = Lists.length rowType- in (Logic.not (Ordering.lt numCases numFields))---- | Check whether a list of definitions contains any type definitions-isTypeModuleCheck :: [Packaging.Definition] -> Bool-isTypeModuleCheck defs =- Logic.not (Lists.isEmpty (Lists.filter (\d -> case d of- Packaging.DefinitionType _ -> True- _ -> False) defs))---- | Check if a name is a type variable (unqualified - no dots)-isTypeVariableName :: Core.Name -> Bool-isTypeVariableName name = Equality.equal 1 (Lists.length (Strings.splitOn "." (Core.unName name)))---- | Check if a variant field has unit type-isVariantUnitType :: [Core.FieldType] -> Core.Name -> Bool-isVariantUnitType rowType fieldName =-- let mfield = Lists.find (\ft -> Equality.equal (Core.fieldTypeName ft) fieldName) rowType- in (Optionals.withDefault False (Optionals.map (\ft -> Predicates.isUnitType (Strip.deannotateType (Core.fieldTypeType ft))) mfield))---- | Wrap an expression in a .get() method call (for Lazy unwrap at use sites)-lazyDotGet :: Syntax.Expression -> Syntax.Expression-lazyDotGet expr = Utils.functionCall (Utils.pyExpressionToPyPrimary (Utils.projectFromExpression expr (Syntax.Name "get"))) []---- | Per-parameter isLazy flags of a primitive (by name), or empty if not a primitive. Single source of truth for which arguments coders thunk; replaces hard-coded name tables (issue #391).-lazyFlagsForPrimitive :: Graph.Graph -> Core.Name -> [Bool]-lazyFlagsForPrimitive g name =- Optionals.match (Maps.lookup name (Graph.graphPrimitives g)) [] (\prim ->- let def0 = Graph.primitiveDefinition prim- sig = Packaging.primitiveDefinitionSignature def0- in (Lists.map (\p -> Typing.parameterIsLazy p) (Typing.termSignatureParameters sig)))---- | Decorator for @lru_cache(1) to memoize zero-argument function results-lruCacheDecorator :: Syntax.NamedExpression-lruCacheDecorator =- Syntax.NamedExpressionSimple (Utils.functionCall (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "lru_cache"))) [- pyInt 1])---- | Create a curried lambda chain from a list of parameter names and a body-makeCurriedLambda :: [Syntax.Name] -> Syntax.Expression -> Syntax.Expression-makeCurriedLambda params body =- Lists.foldl (\acc -> \p -> Syntax.ExpressionLambda (Syntax.Lambda {- Syntax.lambdaParams = Syntax.LambdaParameters {- Syntax.lambdaParametersSlashNoDefault = Nothing,- Syntax.lambdaParametersParamNoDefault = [- Syntax.LambdaParamNoDefault p],- Syntax.lambdaParametersParamWithDefault = [],- Syntax.lambdaParametersStarEtc = Nothing},- Syntax.lambdaBody = acc})) body (Lists.reverse params)---- | Wrap an expression in Lazy(lambda: ...) for one-shot lazy memoization-makeLazy :: Syntax.Expression -> Syntax.Expression-makeLazy pbody =- Utils.functionCall (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "Lazy"))) [- wrapInNullaryLambda pbody]---- | Constructor for PyGraph record-makePyGraph :: Graph.Graph -> PythonEnvironment.PythonModuleMetadata -> PythonEnvironment.PyGraph-makePyGraph g m =- PythonEnvironment.PyGraph {- PythonEnvironment.pyGraphGraph = g,- PythonEnvironment.pyGraphMetadata = m}---- | Wrap a bare reference to a polymorphic function in an uncurried lambda-makeSimpleLambda :: Int -> Syntax.Expression -> Syntax.Expression-makeSimpleLambda arity lhs =-- let args = Lists.map (\i -> Syntax.Name (Strings.concat2 "x" (Literals.printInt32 i))) (Math.range 1 (Math.add arity 1))- in (Logic.ifElse (Equality.equal arity 0) lhs (Syntax.ExpressionLambda (Syntax.Lambda {- Syntax.lambdaParams = Syntax.LambdaParameters {- Syntax.lambdaParametersSlashNoDefault = Nothing,- Syntax.lambdaParametersParamNoDefault = (Lists.map (\a -> Syntax.LambdaParamNoDefault a) args),- Syntax.lambdaParametersParamWithDefault = [],- Syntax.lambdaParametersStarEtc = Nothing},- Syntax.lambdaBody = (Utils.functionCall (Utils.pyExpressionToPyPrimary lhs) (Lists.map (\a -> Syntax.ExpressionSimple (Syntax.Disjunction [- Syntax.Conjunction [- Syntax.InversionSimple (Syntax.Comparison {- Syntax.comparisonLhs = Syntax.BitwiseOr {- Syntax.bitwiseOrLhs = Nothing,- Syntax.bitwiseOrRhs = Syntax.BitwiseXor {- Syntax.bitwiseXorLhs = Nothing,- Syntax.bitwiseXorRhs = Syntax.BitwiseAnd {- Syntax.bitwiseAndLhs = Nothing,- Syntax.bitwiseAndRhs = Syntax.ShiftExpression {- Syntax.shiftExpressionLhs = Nothing,- Syntax.shiftExpressionRhs = Syntax.Sum {- Syntax.sumLhs = Nothing,- Syntax.sumRhs = Syntax.Term {- Syntax.termLhs = Nothing,- Syntax.termRhs = (Syntax.FactorSimple (Syntax.Power {- Syntax.powerLhs = Syntax.AwaitPrimary {- Syntax.awaitPrimaryAwait = False,- Syntax.awaitPrimaryPrimary = (Syntax.PrimarySimple (Syntax.AtomName a))},- Syntax.powerRhs = Nothing}))}}}}}},- Syntax.comparisonRhs = []})]])) args))})))---- | Create a thunk (zero-argument lambda) wrapped with lru_cache(1) for memoization-makeThunk :: Syntax.Expression -> Syntax.Expression-makeThunk pbody =- Utils.functionCall (Utils.pyExpressionToPyPrimary (Utils.functionCall (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "lru_cache"))) [- pyInt 1])) [- wrapInNullaryLambda pbody]---- | Create an uncurried lambda with multiple parameters-makeUncurriedLambda :: [Syntax.Name] -> Syntax.Expression -> Syntax.Expression-makeUncurriedLambda params body =- Syntax.ExpressionLambda (Syntax.Lambda {- Syntax.lambdaParams = Syntax.LambdaParameters {- Syntax.lambdaParametersSlashNoDefault = Nothing,- Syntax.lambdaParametersParamNoDefault = (Lists.map (\p -> Syntax.LambdaParamNoDefault p) params),- Syntax.lambdaParametersParamWithDefault = [],- Syntax.lambdaParametersStarEtc = Nothing},- Syntax.lambdaBody = body})---- | Generate domain import statements from namespace mappings-moduleDomainImports :: Util.ModuleNames Syntax.DottedName -> [Syntax.ImportStatement]-moduleDomainImports namespaces =-- let names = Lists.sort (Maps.elems (Util.moduleNamesMapping namespaces))- in (Lists.map (\ns -> Syntax.ImportStatementName (Syntax.ImportName [- Syntax.DottedAsName {- Syntax.dottedAsNameName = ns,- Syntax.dottedAsNameAs = Nothing}])) names)---- | Generate all import statements for a Python module-moduleImports :: Util.ModuleNames Syntax.DottedName -> PythonEnvironment.PythonModuleMetadata -> [Syntax.Statement]-moduleImports namespaces meta =- Lists.map (\imp -> Utils.pySimpleStatementToPyStatement (Syntax.SimpleStatementImport imp)) (Lists.concat [- moduleStandardImports meta,- (moduleDomainImports namespaces)])---- | Generate standard import statements based on module metadata-moduleStandardImports :: PythonEnvironment.PythonModuleMetadata -> [Syntax.ImportStatement]-moduleStandardImports meta =-- let pairs =- [- ("__future__", [- condImportSymbol "annotations" PythonNames.useFutureAnnotations]),- (- "collections.abc",- [- condImportSymbol "Callable" (PythonEnvironment.pythonModuleMetadataUsesCallable meta),- (condImportSymbol "Mapping" (PythonEnvironment.pythonModuleMetadataUsesFrozenDict meta)),- (condImportSymbol "Sequence" (PythonEnvironment.pythonModuleMetadataUsesFrozenList meta)),- (condImportSymbol "Set" (PythonEnvironment.pythonModuleMetadataUsesFrozenSet meta))]),- (- "dataclasses",- [- condImportSymbol "dataclass" (PythonEnvironment.pythonModuleMetadataUsesDataclass meta),- (condImportSymbol "replace" (PythonEnvironment.pythonModuleMetadataUsesDataclass meta))]),- ("decimal", [- condImportSymbol "Decimal" (PythonEnvironment.pythonModuleMetadataUsesDecimal meta)]),- ("enum", [- condImportSymbol "Enum" (PythonEnvironment.pythonModuleMetadataUsesEnum meta)]),- ("functools", [- condImportSymbol "lru_cache" (PythonEnvironment.pythonModuleMetadataUsesLruCache meta)]),- (- "hydra.overlay.python.dsl.python",- [- condImportSymbol "Either" (PythonEnvironment.pythonModuleMetadataUsesEither meta),- (condImportSymbol "Given" (PythonEnvironment.pythonModuleMetadataUsesJust meta)),- (condImportSymbol "Left" (PythonEnvironment.pythonModuleMetadataUsesLeft meta)),- (condImportSymbol "Node" (PythonEnvironment.pythonModuleMetadataUsesNode meta)),- (condImportSymbol "None_" (PythonEnvironment.pythonModuleMetadataUsesNothing meta)),- (condImportSymbol "Optional" (PythonEnvironment.pythonModuleMetadataUsesMaybe meta)),- (condImportSymbol "Right" (PythonEnvironment.pythonModuleMetadataUsesRight meta))]),- (- "hydra.overlay.python.util",- [- condImportSymbol "ConsList" (PythonEnvironment.pythonModuleMetadataUsesFrozenList meta),- (condImportSymbol "Lazy" True),- (condImportSymbol "PersistentMap" (PythonEnvironment.pythonModuleMetadataUsesFrozenDict meta)),- (condImportSymbol "PersistentSet" (PythonEnvironment.pythonModuleMetadataUsesFrozenSet meta))]),- (- "hydra.overlay.python.util._decimal",- [- condImportSymbol "decimal_node_eq" (PythonEnvironment.pythonModuleMetadataUsesDecimal meta),- (condImportSymbol "decimal_node_hash" (PythonEnvironment.pythonModuleMetadataUsesDecimal meta))]),- (- "typing",- [- condImportSymbol "Annotated" (PythonEnvironment.pythonModuleMetadataUsesAnnotated meta),- (condImportSymbol "Generic" (PythonEnvironment.pythonModuleMetadataUsesGeneric meta)),- (condImportSymbol "TypeAlias" (PythonEnvironment.pythonModuleMetadataUsesTypeAlias meta)),- (condImportSymbol "TypeVar" (PythonEnvironment.pythonModuleMetadataUsesTypeVar meta)),- (condImportSymbol "cast" (PythonEnvironment.pythonModuleMetadataUsesCast meta))])]- simplified =- Optionals.givens (Lists.map (\p ->- let modName = Pairs.first p- symbols = Optionals.givens (Pairs.second p)- in (Logic.ifElse (Lists.isEmpty symbols) Nothing (Just (modName, symbols)))) pairs)- in (Lists.map (\p -> standardImportStatement (Pairs.first p) (Pairs.second p)) simplified)---- | Convert a Hydra module to Python source files-moduleToPython :: S.Set String -> Packaging.Module -> [Packaging.Definition] -> Typing.InferenceContext -> Graph.Graph -> Either Errors.Error (M.Map String String)-moduleToPython overlaySubs mod defs cx g =- Eithers.bind (encodePythonModule overlaySubs cx g mod defs) (\file ->- let s = Serialization.printExpr (Serialization.parenthesize (Serde.moduleToExpr file))- path = Names.moduleNameToFilePath Util.CaseConventionLowerSnake (File.FileExtension "py") (Packaging.moduleName mod)- in (Right (Maps.singleton path s)))---- | Accessor for the graph field of PyGraph-pyGraphGraph :: PythonEnvironment.PyGraph -> Graph.Graph-pyGraphGraph pyg = PythonEnvironment.pyGraphGraph pyg---- | Accessor for the metadata field of PyGraph-pyGraphMetadata :: PythonEnvironment.PyGraph -> PythonEnvironment.PythonModuleMetadata-pyGraphMetadata pyg = PythonEnvironment.pyGraphMetadata pyg---- | Create integer literal expression-pyInt :: Integer -> Syntax.Expression-pyInt n = Utils.pyAtomToPyExpression (Syntax.AtomNumber (Syntax.NumberInteger n))---- | Like bindingMetadata, but only for bindings that will actually be thunked-pythonBindingMetadata :: Graph.Graph -> Core.Binding -> Maybe Core.Term-pythonBindingMetadata g b =- Logic.ifElse (shouldThunkBinding g b) (Logic.ifElse (Predicates.isComplexBinding g b) (Just (Core.TermLiteral (Core.LiteralBoolean True))) Nothing) Nothing---- | Get the Graph from a PythonEnvironment-pythonEnvironmentGetGraph :: PythonEnvironment.PythonEnvironment -> Graph.Graph-pythonEnvironmentGetGraph env = PythonEnvironment.pythonEnvironmentGraph env---- | Set the Graph in a PythonEnvironment-pythonEnvironmentSetGraph :: Graph.Graph -> PythonEnvironment.PythonEnvironment -> PythonEnvironment.PythonEnvironment-pythonEnvironmentSetGraph tc env =- PythonEnvironment.PythonEnvironment {- PythonEnvironment.pythonEnvironmentNamespaces = (PythonEnvironment.pythonEnvironmentNamespaces env),- PythonEnvironment.pythonEnvironmentBoundTypeVariables = (PythonEnvironment.pythonEnvironmentBoundTypeVariables env),- PythonEnvironment.pythonEnvironmentGraph = tc,- PythonEnvironment.pythonEnvironmentNullaryBindings = (PythonEnvironment.pythonEnvironmentNullaryBindings env),- PythonEnvironment.pythonEnvironmentVersion = (PythonEnvironment.pythonEnvironmentVersion env),- PythonEnvironment.pythonEnvironmentSkipCasts = (PythonEnvironment.pythonEnvironmentSkipCasts env),- PythonEnvironment.pythonEnvironmentInlineVariables = (PythonEnvironment.pythonEnvironmentInlineVariables env),- PythonEnvironment.pythonEnvironmentOverlaySubs = (PythonEnvironment.pythonEnvironmentOverlaySubs env)}---- | Build a fluent builder (factory + nested Builder dataclass) for a record-recordBuilderClass :: PythonEnvironment.PythonEnvironment -> Core.Name -> [Core.FieldType] -> Maybe Syntax.Args -> Either t0 [Syntax.Statement]-recordBuilderClass env name rowType recordArgs =- Eithers.bind (Eithers.mapList (\ft -> Eithers.map (\pyType -> Utils.pyAssignmentToPyStatement (Syntax.AssignmentTyped (Syntax.TypedAssignment {- Syntax.typedAssignmentLhs = (Syntax.SingleTargetName (Syntax.Name (Strings.concat2 "_" (Syntax.unName (PythonNames.encodeFieldName env (Core.fieldTypeName ft)))))),- Syntax.typedAssignmentType = pyType,- Syntax.typedAssignmentRhs = (Just (Syntax.AnnotatedRhsStar [- Syntax.StarExpressionSimple (Utils.pyNameToPyExpression Utils.pyNone)]))}))) (encodeType env (Core.fieldTypeType ft))) rowType) (\builderFields ->- let setters = Lists.map (\ft -> recordBuilderSetter env ft) rowType- pyName = PythonNames.encodeName False Util.CaseConventionPascal env name- buildKwargs =- Lists.map (\ft -> Syntax.KwargOrStarredKwarg (Syntax.Kwarg {- Syntax.kwargName = (Syntax.Name (Syntax.unName (PythonNames.encodeFieldName env (Core.fieldTypeName ft)))),- Syntax.kwargValue = (Utils.projectFromExpression (Utils.pyNameToPyExpression (Syntax.Name "self")) (Syntax.Name (Strings.concat2 "_" (Syntax.unName (PythonNames.encodeFieldName env (Core.fieldTypeName ft))))))})) rowType- ctorCall =- Utils.pyPrimaryToPyExpression (Utils.primaryWithRhs (Utils.pyNameToPyPrimary pyName) (Syntax.PrimaryRhsCall (Syntax.Args {- Syntax.argsPositional = [],- Syntax.argsKwargOrStarred = buildKwargs,- Syntax.argsKwargOrDoubleStarred = []})))- buildMethod =- Syntax.StatementCompound (Syntax.CompoundStatementFunction (Syntax.FunctionDefinition {- Syntax.functionDefinitionDecorators = Nothing,- Syntax.functionDefinitionRaw = Syntax.FunctionDefRaw {- Syntax.functionDefRawAsync = False,- Syntax.functionDefRawName = (Syntax.Name "build"),- Syntax.functionDefRawTypeParams = [],- Syntax.functionDefRawParams = (Just (Syntax.ParametersParamNoDefault (Syntax.ParamNoDefaultParameters {- Syntax.paramNoDefaultParametersParamNoDefault = [- Syntax.ParamNoDefault {- Syntax.paramNoDefaultParam = Syntax.Param {- Syntax.paramName = (Syntax.Name "self"),- Syntax.paramAnnotation = Nothing},- Syntax.paramNoDefaultTypeComment = Nothing}],- Syntax.paramNoDefaultParametersParamWithDefault = [],- Syntax.paramNoDefaultParametersStarEtc = Nothing}))),- Syntax.functionDefRawReturnType = Nothing,- Syntax.functionDefRawFuncTypeComment = Nothing,- Syntax.functionDefRawBlock = (Utils.indentedBlock Nothing [- [- Utils.returnSingle ctorCall]])}}))- builderBody =- Utils.indentedBlock Nothing [- Lists.concat [- builderFields,- setters,- [- buildMethod]]]- builderDecs = Just (Syntax.Decorators [- dataclassDecorator])- builderClass =- Utils.pyClassDefinitionToPyStatement (Syntax.ClassDefinition {- Syntax.classDefinitionDecorators = builderDecs,- Syntax.classDefinitionName = (Syntax.Name "Builder"),- Syntax.classDefinitionTypeParams = [],- Syntax.classDefinitionArguments = recordArgs,- Syntax.classDefinitionBody = builderBody})- qualifiedBuilderName = Syntax.Name (Strings.concat2 (Syntax.unName pyName) ".Builder")- builderCall = Utils.functionCall (Utils.pyNameToPyPrimary qualifiedBuilderName) []- factoryMethod =- Syntax.StatementCompound (Syntax.CompoundStatementFunction (Syntax.FunctionDefinition {- Syntax.functionDefinitionDecorators = (Just (Syntax.Decorators [- Syntax.NamedExpressionSimple (Utils.pyNameToPyExpression (Syntax.Name "staticmethod"))])),- Syntax.functionDefinitionRaw = Syntax.FunctionDefRaw {- Syntax.functionDefRawAsync = False,- Syntax.functionDefRawName = (Syntax.Name "builder"),- Syntax.functionDefRawTypeParams = [],- Syntax.functionDefRawParams = (Just (Syntax.ParametersParamNoDefault (Syntax.ParamNoDefaultParameters {- Syntax.paramNoDefaultParametersParamNoDefault = [],- Syntax.paramNoDefaultParametersParamWithDefault = [],- Syntax.paramNoDefaultParametersStarEtc = Nothing}))),- Syntax.functionDefRawReturnType = Nothing,- Syntax.functionDefRawFuncTypeComment = Nothing,- Syntax.functionDefRawBlock = (Utils.indentedBlock Nothing [- [- Utils.returnSingle builderCall]])}}))- in (Right [- factoryMethod,- builderClass]))---- | Build a fluent setter for the nested Builder of a record-recordBuilderSetter :: PythonEnvironment.PythonEnvironment -> Core.FieldType -> Syntax.Statement-recordBuilderSetter env fieldType =-- let fname = Core.fieldTypeName fieldType- setterName = builderSetterName env fname- paramName = Syntax.Name setterName- storageName = Strings.concat2 "_" (Syntax.unName (PythonNames.encodeFieldName env (Core.fieldTypeName fieldType)))- kwarg =- Syntax.KwargOrStarredKwarg (Syntax.Kwarg {- Syntax.kwargName = (Syntax.Name storageName),- Syntax.kwargValue = (Utils.pyNameToPyExpression paramName)})- in (Syntax.StatementCompound (Syntax.CompoundStatementFunction (Syntax.FunctionDefinition {- Syntax.functionDefinitionDecorators = Nothing,- Syntax.functionDefinitionRaw = Syntax.FunctionDefRaw {- Syntax.functionDefRawAsync = False,- Syntax.functionDefRawName = (Syntax.Name setterName),- Syntax.functionDefRawTypeParams = [],- Syntax.functionDefRawParams = (Just (Syntax.ParametersParamNoDefault (Syntax.ParamNoDefaultParameters {- Syntax.paramNoDefaultParametersParamNoDefault = [- Syntax.ParamNoDefault {- Syntax.paramNoDefaultParam = Syntax.Param {- Syntax.paramName = (Syntax.Name "self"),- Syntax.paramAnnotation = Nothing},- Syntax.paramNoDefaultTypeComment = Nothing},- Syntax.ParamNoDefault {- Syntax.paramNoDefaultParam = Syntax.Param {- Syntax.paramName = paramName,- Syntax.paramAnnotation = Nothing},- Syntax.paramNoDefaultTypeComment = Nothing}],- Syntax.paramNoDefaultParametersParamWithDefault = [],- Syntax.paramNoDefaultParametersStarEtc = Nothing}))),- Syntax.functionDefRawReturnType = Nothing,- Syntax.functionDefRawFuncTypeComment = Nothing,- Syntax.functionDefRawBlock = (Utils.indentedBlock Nothing [- [- Utils.returnSingle (Utils.pyPrimaryToPyExpression (Utils.primaryWithRhs (Utils.pyNameToPyPrimary (Syntax.Name "replace")) (Syntax.PrimaryRhsCall (Syntax.Args {- Syntax.argsPositional = [- Syntax.PosArgExpression (Utils.pyNameToPyExpression (Syntax.Name "self"))],- Syntax.argsKwargOrStarred = [- kwarg],- Syntax.argsKwargOrDoubleStarred = []}))))]])}})))---- | Build a per-field copy-update method (with_<field>) for a record-recordWithMethod :: PythonEnvironment.PythonEnvironment -> Core.FieldType -> Syntax.Statement-recordWithMethod env fieldType =-- let fname = Core.fieldTypeName fieldType- snake = Syntax.unName (PythonNames.encodeFieldName env fname)- methodName = Strings.concat2 "with_" snake- kwargKey = Syntax.Name snake- paramSnake = Logic.ifElse (Equality.equal snake "self") "_self" snake- paramName = Syntax.Name paramSnake- kwarg =- Syntax.KwargOrStarredKwarg (Syntax.Kwarg {- Syntax.kwargName = kwargKey,- Syntax.kwargValue = (Utils.pyNameToPyExpression paramName)})- in (Syntax.StatementCompound (Syntax.CompoundStatementFunction (Syntax.FunctionDefinition {- Syntax.functionDefinitionDecorators = Nothing,- Syntax.functionDefinitionRaw = Syntax.FunctionDefRaw {- Syntax.functionDefRawAsync = False,- Syntax.functionDefRawName = (Syntax.Name methodName),- Syntax.functionDefRawTypeParams = [],- Syntax.functionDefRawParams = (Just (Syntax.ParametersParamNoDefault (Syntax.ParamNoDefaultParameters {- Syntax.paramNoDefaultParametersParamNoDefault = [- Syntax.ParamNoDefault {- Syntax.paramNoDefaultParam = Syntax.Param {- Syntax.paramName = (Syntax.Name "self"),- Syntax.paramAnnotation = Nothing},- Syntax.paramNoDefaultTypeComment = Nothing},- Syntax.ParamNoDefault {- Syntax.paramNoDefaultParam = Syntax.Param {- Syntax.paramName = paramName,- Syntax.paramAnnotation = Nothing},- Syntax.paramNoDefaultTypeComment = Nothing}],- Syntax.paramNoDefaultParametersParamWithDefault = [],- Syntax.paramNoDefaultParametersStarEtc = Nothing}))),- Syntax.functionDefRawReturnType = Nothing,- Syntax.functionDefRawFuncTypeComment = Nothing,- Syntax.functionDefRawBlock = (Utils.indentedBlock Nothing [- [- Utils.returnSingle (Utils.pyPrimaryToPyExpression (Utils.primaryWithRhs (Utils.pyNameToPyPrimary (Syntax.Name "replace")) (Syntax.PrimaryRhsCall (Syntax.Args {- Syntax.argsPositional = [- Syntax.PosArgExpression (Utils.pyNameToPyExpression (Syntax.Name "self"))],- Syntax.argsKwargOrStarred = [- kwarg],- Syntax.argsKwargOrDoubleStarred = []}))))]])}})))--setMetaNamespaces :: Util.ModuleNames Syntax.DottedName -> PythonEnvironment.PythonModuleMetadata -> PythonEnvironment.PythonModuleMetadata-setMetaNamespaces ns m =- PythonEnvironment.PythonModuleMetadata {- PythonEnvironment.pythonModuleMetadataNamespaces = ns,- PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),- PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),- PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),- PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),- PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),- PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),- PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),- PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),- PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),- PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),- PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),- PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),- PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),- PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),- PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),- PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),- PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),- PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),- PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),- PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),- PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),- PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaTypeVariables :: PythonEnvironment.PythonModuleMetadata -> S.Set Core.Name -> PythonEnvironment.PythonModuleMetadata-setMetaTypeVariables m tvars =- PythonEnvironment.PythonModuleMetadata {- PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),- PythonEnvironment.pythonModuleMetadataTypeVariables = tvars,- PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),- PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),- PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),- PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),- PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),- PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),- PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),- PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),- PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),- PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),- PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),- PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),- PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),- PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),- PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),- PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),- PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),- PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),- PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),- PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),- PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesAnnotated :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesAnnotated m b =- PythonEnvironment.PythonModuleMetadata {- PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),- PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),- PythonEnvironment.pythonModuleMetadataUsesAnnotated = b,- PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),- PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),- PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),- PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),- PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),- PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),- PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),- PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),- PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),- PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),- PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),- PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),- PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),- PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),- PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),- PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),- PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),- PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),- PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),- PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesCallable :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesCallable m b =- PythonEnvironment.PythonModuleMetadata {- PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),- PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),- PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),- PythonEnvironment.pythonModuleMetadataUsesCallable = b,- PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),- PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),- PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),- PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),- PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),- PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),- PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),- PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),- PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),- PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),- PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),- PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),- PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),- PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),- PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),- PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),- PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),- PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),- PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesCast :: Bool -> PythonEnvironment.PythonModuleMetadata -> PythonEnvironment.PythonModuleMetadata-setMetaUsesCast b m =- PythonEnvironment.PythonModuleMetadata {- PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),- PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),- PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),- PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),- PythonEnvironment.pythonModuleMetadataUsesCast = b,- PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),- PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),- PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),- PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),- PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),- PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),- PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),- PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),- PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),- PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),- PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),- PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),- PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),- PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),- PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),- PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),- PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),- PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesDataclass :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesDataclass m b =- PythonEnvironment.PythonModuleMetadata {- PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),- PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),- PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),- PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),- PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),- PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),- PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),- PythonEnvironment.pythonModuleMetadataUsesDataclass = b,- PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),- PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),- PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),- PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),- PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),- PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),- PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),- PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),- PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),- PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),- PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),- PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),- PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),- PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),- PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesDecimal :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesDecimal m b =- PythonEnvironment.PythonModuleMetadata {- PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),- PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),- PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),- PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),- PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),- PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),- PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),- PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),- PythonEnvironment.pythonModuleMetadataUsesDecimal = b,- PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),- PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),- PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),- PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),- PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),- PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),- PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),- PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),- PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),- PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),- PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),- PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),- PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),- PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesEither :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesEither m b =- PythonEnvironment.PythonModuleMetadata {- PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),- PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),- PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),- PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),- PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),- PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),- PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),- PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),- PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),- PythonEnvironment.pythonModuleMetadataUsesEither = b,- PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),- PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),- PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),- PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),- PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),- PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),- PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),- PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),- PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),- PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),- PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),- PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),- PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesEnum :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesEnum m b =- PythonEnvironment.PythonModuleMetadata {- PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),- PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),- PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),- PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),- PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),- PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),- PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),- PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),- PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),- PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),- PythonEnvironment.pythonModuleMetadataUsesEnum = b,- PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),- PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),- PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),- PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),- PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),- PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),- PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),- PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),- PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),- PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),- PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),- PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesFrozenDict :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesFrozenDict m b =- PythonEnvironment.PythonModuleMetadata {- PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),- PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),- PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),- PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),- PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),- PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),- PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),- PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),- PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),- PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),- PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),- PythonEnvironment.pythonModuleMetadataUsesFrozenDict = b,- PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),- PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),- PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),- PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),- PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),- PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),- PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),- PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),- PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),- PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),- PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesFrozenList :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesFrozenList m b =- PythonEnvironment.PythonModuleMetadata {- PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),- PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),- PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),- PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),- PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),- PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),- PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),- PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),- PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),- PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),- PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),- PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),- PythonEnvironment.pythonModuleMetadataUsesFrozenList = b,- PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),- PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),- PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),- PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),- PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),- PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),- PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),- PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),- PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),- PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesFrozenSet :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesFrozenSet m b =- PythonEnvironment.PythonModuleMetadata {- PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),- PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),- PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),- PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),- PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),- PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),- PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),- PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),- PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),- PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),- PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),- PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),- PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),- PythonEnvironment.pythonModuleMetadataUsesFrozenSet = b,- PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),- PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),- PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),- PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),- PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),- PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),- PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),- PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),- PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesGeneric :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesGeneric m b =- PythonEnvironment.PythonModuleMetadata {- PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),- PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),- PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),- PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),- PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),- PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),- PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),- PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),- PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),- PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),- PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),- PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),- PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),- PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),- PythonEnvironment.pythonModuleMetadataUsesGeneric = b,- PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),- PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),- PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),- PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),- PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),- PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),- PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),- PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesJust :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesJust m b =- PythonEnvironment.PythonModuleMetadata {- PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),- PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),- PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),- PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),- PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),- PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),- PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),- PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),- PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),- PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),- PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),- PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),- PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),- PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),- PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),- PythonEnvironment.pythonModuleMetadataUsesJust = b,- PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),- PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),- PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),- PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),- PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),- PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),- PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesLeft :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesLeft m b =- PythonEnvironment.PythonModuleMetadata {- PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),- PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),- PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),- PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),- PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),- PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),- PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),- PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),- PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),- PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),- PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),- PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),- PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),- PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),- PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),- PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),- PythonEnvironment.pythonModuleMetadataUsesLeft = b,- PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),- PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),- PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),- PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),- PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),- PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesLruCache :: Bool -> PythonEnvironment.PythonModuleMetadata -> PythonEnvironment.PythonModuleMetadata-setMetaUsesLruCache b m =- PythonEnvironment.PythonModuleMetadata {- PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),- PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),- PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),- PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),- PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),- PythonEnvironment.pythonModuleMetadataUsesLruCache = b,- PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),- PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),- PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),- PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),- PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),- PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),- PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),- PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),- PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),- PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),- PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),- PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),- PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),- PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),- PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),- PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),- PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesMaybe :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesMaybe m b =- PythonEnvironment.PythonModuleMetadata {- PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),- PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),- PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),- PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),- PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),- PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),- PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),- PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),- PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),- PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),- PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),- PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),- PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),- PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),- PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),- PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),- PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),- PythonEnvironment.pythonModuleMetadataUsesMaybe = b,- PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),- PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),- PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),- PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),- PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesName :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesName m b =- PythonEnvironment.PythonModuleMetadata {- PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),- PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),- PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),- PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),- PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),- PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),- PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),- PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),- PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),- PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),- PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),- PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),- PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),- PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),- PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),- PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),- PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),- PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),- PythonEnvironment.pythonModuleMetadataUsesName = b,- PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),- PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),- PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),- PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesNode :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesNode m b =- PythonEnvironment.PythonModuleMetadata {- PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),- PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),- PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),- PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),- PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),- PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),- PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),- PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),- PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),- PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),- PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),- PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),- PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),- PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),- PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),- PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),- PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),- PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),- PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),- PythonEnvironment.pythonModuleMetadataUsesNode = b,- PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),- PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),- PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesNothing :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesNothing m b =- PythonEnvironment.PythonModuleMetadata {- PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),- PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),- PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),- PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),- PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),- PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),- PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),- PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),- PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),- PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),- PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),- PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),- PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),- PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),- PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),- PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),- PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),- PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),- PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),- PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),- PythonEnvironment.pythonModuleMetadataUsesNothing = b,- PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),- PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesRight :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesRight m b =- PythonEnvironment.PythonModuleMetadata {- PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),- PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),- PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),- PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),- PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),- PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),- PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),- PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),- PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),- PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),- PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),- PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),- PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),- PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),- PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),- PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),- PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),- PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),- PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),- PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),- PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),- PythonEnvironment.pythonModuleMetadataUsesRight = b,- PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesTypeAlias :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesTypeAlias m b =- PythonEnvironment.PythonModuleMetadata {- PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),- PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),- PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),- PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),- PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),- PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),- PythonEnvironment.pythonModuleMetadataUsesTypeAlias = b,- PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),- PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),- PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),- PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),- PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),- PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),- PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),- PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),- PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),- PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),- PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),- PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),- PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),- PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),- PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),- PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesTypeVar :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesTypeVar m b =- PythonEnvironment.PythonModuleMetadata {- PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),- PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),- PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),- PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),- PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),- PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),- PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),- PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),- PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),- PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),- PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),- PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),- PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),- PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),- PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),- PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),- PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),- PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),- PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),- PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),- PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),- PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),- PythonEnvironment.pythonModuleMetadataUsesTypeVar = b}---- | Determine if a binding should be thunked based on its complexity and triviality-shouldThunkBinding :: Graph.Graph -> Core.Binding -> Bool-shouldThunkBinding g b = Logic.and (Predicates.isComplexBinding g b) (Logic.not (Predicates.isTrivialTerm (Core.bindingTerm b)))---- | Generate a single from-import statement-standardImportStatement :: String -> [String] -> Syntax.ImportStatement-standardImportStatement modName symbols =- Syntax.ImportStatementFrom (Syntax.ImportFrom {- Syntax.importFromPrefixes = [],- Syntax.importFromDottedName = (Just (Syntax.DottedName [- Syntax.Name modName])),- Syntax.importFromTargets = (Syntax.ImportFromTargetsSimple (Lists.map (\s -> Syntax.ImportFromAsName {- Syntax.importFromAsNameName = (Syntax.Name s),- Syntax.importFromAsNameAs = Nothing}) symbols))})---- | The target Python version for code generation-targetPythonVersion :: PythonEnvironment.PythonVersion-targetPythonVersion = Utils.targetPythonVersion---- | Calculate term arity with proper primitive handling-termArityWithPrimitives :: Graph.Graph -> Core.Term -> Int-termArityWithPrimitives graph term =- case (Strip.deannotateAndDetypeTerm term) of- Core.TermApplication v0 -> Ordering.max 0 (Math.sub (termArityWithPrimitives graph (Core.applicationFunction v0)) 1)- Core.TermLambda v0 -> Math.add 1 (termArityWithPrimitives graph (Core.lambdaBody v0))- Core.TermProject _ -> 1- Core.TermUnwrap _ -> 1- Core.TermCases _ -> 1- Core.TermVariable v0 -> Optionals.match (Lexical.lookupBinding graph v0) 0 (\el -> Optionals.match (Core.bindingTypeScheme el) (Arity.termArity (Core.bindingTerm el)) (\ts -> Arity.typeSchemeArity ts))- _ -> 0---- | Create a TypeVar assignment statement for a type variable name-tvarStatement :: Syntax.Name -> Syntax.Statement-tvarStatement name =- Utils.assignmentStatement name (Utils.functionCall (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "TypeVar"))) [- Utils.doubleQuotedString (Syntax.unName name)])---- | Version-aware type alias statement generation-typeAliasStatementFor :: PythonEnvironment.PythonEnvironment -> Syntax.Name -> [Syntax.TypeParameter] -> Maybe String -> Syntax.Expression -> Syntax.Statement-typeAliasStatementFor env name tparams mcomment tyexpr =- Logic.ifElse (useInlineTypeParamsFor (PythonEnvironment.pythonEnvironmentVersion env)) (Utils.typeAliasStatement name tparams mcomment tyexpr) (Utils.typeAliasStatement310 name tparams mcomment tyexpr)---- | Version-aware union type statement generation-unionTypeStatementsFor :: PythonEnvironment.PythonEnvironment -> Syntax.Name -> [Syntax.TypeParameter] -> Maybe String -> Syntax.Expression -> [Syntax.Statement] -> [Syntax.Statement]-unionTypeStatementsFor env name tparams mcomment tyexpr extraStmts =- Logic.ifElse (useInlineTypeParamsFor (PythonEnvironment.pythonEnvironmentVersion env)) (Lists.concat2 [- Utils.typeAliasStatement name tparams mcomment tyexpr] extraStmts) (Utils.unionTypeClassStatements310 name mcomment tyexpr extraStmts)---- | Create an expression that calls hydra.overlay.python.dsl.python.unsupported(message) at runtime-unsupportedExpression :: String -> Syntax.Expression-unsupportedExpression msg =- Utils.functionCall (Utils.pyExpressionToPyPrimary (Utils.projectFromExpression (Utils.projectFromExpression (Utils.projectFromExpression (Utils.projectFromExpression (Utils.projectFromExpression (Syntax.ExpressionSimple (Syntax.Disjunction [- Syntax.Conjunction [- Syntax.InversionSimple (Syntax.Comparison {- Syntax.comparisonLhs = Syntax.BitwiseOr {- Syntax.bitwiseOrLhs = Nothing,- Syntax.bitwiseOrRhs = Syntax.BitwiseXor {- Syntax.bitwiseXorLhs = Nothing,- Syntax.bitwiseXorRhs = Syntax.BitwiseAnd {- Syntax.bitwiseAndLhs = Nothing,- Syntax.bitwiseAndRhs = Syntax.ShiftExpression {- Syntax.shiftExpressionLhs = Nothing,- Syntax.shiftExpressionRhs = Syntax.Sum {- Syntax.sumLhs = Nothing,- Syntax.sumRhs = Syntax.Term {- Syntax.termLhs = Nothing,- Syntax.termRhs = (Syntax.FactorSimple (Syntax.Power {- Syntax.powerLhs = Syntax.AwaitPrimary {- Syntax.awaitPrimaryAwait = False,- Syntax.awaitPrimaryPrimary = (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "hydra")))},- Syntax.powerRhs = Nothing}))}}}}}},- Syntax.comparisonRhs = []})]])) (Syntax.Name "overlay")) (Syntax.Name "python")) (Syntax.Name "dsl")) (Syntax.Name "python")) (Syntax.Name "unsupported"))) [- Utils.stringToPyExpression Syntax.QuoteStyleDouble msg]---- | Legacy constant for backward compatibility; use useInlineTypeParamsFor in new code-useInlineTypeParams :: Bool-useInlineTypeParams = useInlineTypeParamsFor Utils.targetPythonVersion---- | Version-aware inline type parameters-useInlineTypeParamsFor :: PythonEnvironment.PythonVersion -> Bool-useInlineTypeParamsFor version = Equality.equal version PythonEnvironment.PythonVersionPython312---- | Create args for variant (Node[type], Generic[tparams])-variantArgs :: Syntax.Expression -> [Core.Name] -> Syntax.Args-variantArgs ptype tparams =- Utils.pyExpressionsToPyArgs (Optionals.givens [- Just (Utils.pyPrimaryToPyExpression (Utils.primaryWithExpressionSlices (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "Node"))) [- ptype])),- (genericArg tparams)])---- | Create a ClosedPattern for a variant based on its characteristics-variantClosedPattern :: PythonEnvironment.PythonEnvironment -> Core.Name -> Core.Name -> Syntax.Name -> t0 -> Bool -> Core.Name -> Bool -> Syntax.ClosedPattern-variantClosedPattern env typeName fieldName pyVariantName rowType isEnum varName shouldCapture =- Logic.ifElse isEnum (enumVariantPattern env typeName fieldName) (Logic.ifElse (Logic.not shouldCapture) (classVariantPatternUnit pyVariantName) (classVariantPatternWithCapture env pyVariantName varName))---- | Create a wildcard case block with a given body statement-wildcardCaseBlock :: Syntax.Statement -> Syntax.CaseBlock-wildcardCaseBlock stmt =- Syntax.CaseBlock {- Syntax.caseBlockPatterns = (Utils.pyClosedPatternToPyPatterns Syntax.ClosedPatternWildcard),- Syntax.caseBlockGuard = Nothing,- Syntax.caseBlockBody = (Utils.indentedBlock Nothing [- [- stmt]])}---- | Execute a computation with definitions in scope-withDefinitions :: PythonEnvironment.PythonEnvironment -> [Packaging.Definition] -> (PythonEnvironment.PythonEnvironment -> t0) -> t0-withDefinitions env defs body =-- let bindings =- Optionals.givens (Lists.map (\def_ -> case def_ of- Packaging.DefinitionTerm v0 -> Just (Core.Binding {- Core.bindingName = (Packaging.termDefinitionName v0),- Core.bindingTerm = (Packaging.termDefinitionBody v0),- Core.bindingTypeScheme = (Optionals.map (\sig -> Scoping.termSignatureToTypeScheme sig) (Packaging.termDefinitionSignature v0))})- Packaging.DefinitionType _ -> Nothing- _ -> Nothing) defs)- dummyLet =- Core.Let {- Core.letBindings = bindings,- Core.letBody = (Core.TermLiteral (Core.LiteralString "dummy"))}- in (withLet env dummyLet body)---- | Execute a computation with lambda context (adds lambda parameter to Graph)-withLambda :: PythonEnvironment.PythonEnvironment -> Core.Lambda -> (PythonEnvironment.PythonEnvironment -> t0) -> t0-withLambda = Environment.withLambdaContext pythonEnvironmentGetGraph pythonEnvironmentSetGraph---- | Execute a computation with let context (adds let bindings to Graph)-withLet :: PythonEnvironment.PythonEnvironment -> Core.Let -> (PythonEnvironment.PythonEnvironment -> t0) -> t0-withLet = Environment.withLetContext pythonEnvironmentGetGraph pythonEnvironmentSetGraph pythonBindingMetadata---- | Execute a computation with inline let context (for walrus operators)-withLetInline :: PythonEnvironment.PythonEnvironment -> Core.Let -> (PythonEnvironment.PythonEnvironment -> t0) -> t0-withLetInline env lt body =-- let bindingNames = Lists.map (\b -> Core.bindingName b) (Core.letBindings lt)- inlineVars = Sets.fromList bindingNames- noMetadata = \tc -> \b -> Nothing- in (Environment.withLetContext pythonEnvironmentGetGraph pythonEnvironmentSetGraph noMetadata env lt (\innerEnv ->- let updatedEnv =- PythonEnvironment.PythonEnvironment {- PythonEnvironment.pythonEnvironmentNamespaces = (PythonEnvironment.pythonEnvironmentNamespaces innerEnv),- PythonEnvironment.pythonEnvironmentBoundTypeVariables = (PythonEnvironment.pythonEnvironmentBoundTypeVariables innerEnv),- PythonEnvironment.pythonEnvironmentGraph = (PythonEnvironment.pythonEnvironmentGraph innerEnv),- PythonEnvironment.pythonEnvironmentNullaryBindings = (PythonEnvironment.pythonEnvironmentNullaryBindings innerEnv),- PythonEnvironment.pythonEnvironmentVersion = (PythonEnvironment.pythonEnvironmentVersion innerEnv),- PythonEnvironment.pythonEnvironmentSkipCasts = (PythonEnvironment.pythonEnvironmentSkipCasts innerEnv),- PythonEnvironment.pythonEnvironmentInlineVariables = (Sets.union inlineVars (PythonEnvironment.pythonEnvironmentInlineVariables innerEnv)),- PythonEnvironment.pythonEnvironmentOverlaySubs = (PythonEnvironment.pythonEnvironmentOverlaySubs innerEnv)}- in (body updatedEnv)))---- | Execute a computation with type lambda context-withTypeLambda :: PythonEnvironment.PythonEnvironment -> Core.TypeLambda -> (PythonEnvironment.PythonEnvironment -> t0) -> t0-withTypeLambda = Environment.withTypeLambdaContext pythonEnvironmentGetGraph pythonEnvironmentSetGraph---- | Wrap a Python expression in a nullary lambda (thunk) for lazy evaluation-wrapInNullaryLambda :: Syntax.Expression -> Syntax.Expression-wrapInNullaryLambda expr =- Syntax.ExpressionLambda (Syntax.Lambda {- Syntax.lambdaParams = Syntax.LambdaParameters {- Syntax.lambdaParametersSlashNoDefault = Nothing,- Syntax.lambdaParametersParamNoDefault = [],- Syntax.lambdaParametersParamWithDefault = [],- Syntax.lambdaParametersStarEtc = Nothing},- Syntax.lambdaBody = expr})---- | Wrap lazy-flagged arguments of a primitive call in nullary lambdas, per isLazy metadata (issue #391)-wrapLazyArguments :: Graph.Graph -> Core.Name -> [Syntax.Expression] -> [Syntax.Expression]+import qualified Hydra.Core.Analysis as Analysis+import qualified Hydra.Core.Annotations as Annotations+import qualified Hydra.Core.Arity as Arity+import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Checking as Checking+import qualified Hydra.Core.Classes as Classes+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Dependencies as Dependencies+import qualified Hydra.Core.Environment as CoreEnvironment+import qualified Hydra.Core.Error.Checking as ErrorChecking+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Errors as Errors+import qualified Hydra.Core.File as File+import qualified Hydra.Core.Formatting as Formatting+import qualified Hydra.Core.Graph as Graph+import qualified Hydra.Core.Inference as Inference+import qualified Hydra.Core.Json.Model as JsonModel+import qualified Hydra.Core.Lexical as Lexical+import qualified Hydra.Core.Overlay.Haskell.Lib.Eithers as Eithers+import qualified Hydra.Core.Overlay.Haskell.Lib.Equality as Equality+import qualified Hydra.Core.Overlay.Haskell.Lib.Lists as Lists+import qualified Hydra.Core.Overlay.Haskell.Lib.Literals as Literals+import qualified Hydra.Core.Overlay.Haskell.Lib.Logic as Logic+import qualified Hydra.Core.Overlay.Haskell.Lib.Maps as Maps+import qualified Hydra.Core.Overlay.Haskell.Lib.Math as Math+import qualified Hydra.Core.Overlay.Haskell.Lib.Optionals as Optionals+import qualified Hydra.Core.Overlay.Haskell.Lib.Ordering as Ordering+import qualified Hydra.Core.Overlay.Haskell.Lib.Pairs as Pairs+import qualified Hydra.Core.Overlay.Haskell.Lib.Sets as Sets+import qualified Hydra.Core.Overlay.Haskell.Lib.Strings as Strings+import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Names as CoreNames+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.Predicates as Predicates+import qualified Hydra.Core.Print.Model as PrintModel+import qualified Hydra.Core.Query as Query+import qualified Hydra.Core.Reduction as Reduction+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.Resolution as Resolution+import qualified Hydra.Core.Rewriting as Rewriting+import qualified Hydra.Core.Scoping as Scoping+import qualified Hydra.Core.Serialization as Serialization+import qualified Hydra.Core.Sorting as Sorting+import qualified Hydra.Core.Strip as Strip+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+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.Variables as Variables+import qualified Hydra.Core.Variants as Variants+import qualified Hydra.Python.Environment as PythonEnvironment+import qualified Hydra.Python.Names as PythonNames+import qualified Hydra.Python.Serde as Serde+import qualified Hydra.Python.Syntax as Syntax+import qualified Hydra.Python.Utils as Utils+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++-- | Analyze a function term with Python-specific Graph management+analyzePythonFunction :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Model.Term -> Either t0 (Typing.FunctionStructure PythonEnvironment.PythonEnvironment)+analyzePythonFunction cx env term =+ Analysis.analyzeFunctionTermWith cx pythonBindingMetadata pythonEnvironmentGetGraph pythonEnvironmentSetGraph env term++-- | Escape a builder setter name that would collide with build()/builder()/self+builderSetterName :: PythonEnvironment.PythonEnvironment -> Model.Name -> String+builderSetterName env fname =++ let base = Syntax.unName (PythonNames.encodeFieldName env fname)+ in (Logic.ifElse (Logic.or (Equality.equal base "build") (Logic.or (Equality.equal base "builder") (Equality.equal base "self"))) (Strings.concat2 base "_") base)++-- | Encode a single case (Field) into a CaseBlock for a match statement+caseBlockToExpr :: t0 -> PythonEnvironment.PythonEnvironment -> Model.Name -> [Model.FieldType] -> Bool -> (PythonEnvironment.PythonEnvironment -> Model.Term -> Either t1 [Syntax.Statement]) -> Model.CaseAlternative -> Either t1 Syntax.CaseBlock+caseBlockToExpr cx env tname rowType isEnum encodeBody field =++ let fname = Model.caseAlternativeName field+ fterm = Model.caseAlternativeHandler field+ stripped = Strip.deannotateAndDetypeTerm fterm+ effectiveLambda =+ case stripped of+ Model.TermLambda v0 -> v0+ _ ->+ let syntheticVar = Model.Name "_matchValue"+ in Model.Lambda {+ Model.lambdaParameter = syntheticVar,+ Model.lambdaDomain = Nothing,+ Model.lambdaBody = (Model.TermApplication (Model.Application {+ Model.applicationFunction = stripped,+ Model.applicationArgument = (Model.TermVariable syntheticVar)}))}+ v = Model.lambdaParameter effectiveLambda+ rawBody = Model.lambdaBody effectiveLambda+ isUnitVariant = isVariantUnitType rowType fname+ effectiveBody = Logic.ifElse isUnitVariant (eliminateUnitVar v rawBody) rawBody+ shouldCapture =+ Logic.not (Logic.or isUnitVariant (Logic.or (Variables.isFreeVariableInTerm v rawBody) (Predicates.isUnitTerm rawBody)))+ env2 = pythonEnvironmentSetGraph (Scoping.extendGraphForLambda (pythonEnvironmentGetGraph env) effectiveLambda) env+ pyVariantName = deconflictVariantName True env2 tname fname (PythonEnvironment.pythonEnvironmentGraph env2)+ pattern = variantClosedPattern env2 tname fname pyVariantName rowType isEnum v shouldCapture+ in (Eithers.bind (encodeBody env2 effectiveBody) (\stmts ->+ let pyBody = Utils.indentedBlock Nothing [+ stmts]+ in (Right (Syntax.CaseBlock {+ Syntax.caseBlockPatterns = (Utils.pyClosedPatternToPyPatterns pattern),+ Syntax.caseBlockGuard = Nothing,+ Syntax.caseBlockBody = pyBody}))))++-- | Create a class pattern for a unit variant (no value captured)+classVariantPatternUnit :: Syntax.Name -> Syntax.ClosedPattern+classVariantPatternUnit pyVariantName =+ Syntax.ClosedPatternClass (Syntax.ClassPattern {+ Syntax.classPatternNameOrAttribute = (Syntax.NameOrAttribute [+ pyVariantName]),+ Syntax.classPatternPositionalPatterns = Nothing,+ Syntax.classPatternKeywordPatterns = Nothing})++-- | Create a class pattern for a variant with captured value+classVariantPatternWithCapture :: PythonEnvironment.PythonEnvironment -> Syntax.Name -> Model.Name -> Syntax.ClosedPattern+classVariantPatternWithCapture env pyVariantName varName =++ let pyVarNameAttr = Syntax.NameOrAttribute [+ pyVariantName]+ capturePattern =+ Syntax.ClosedPatternCapture (Syntax.CapturePattern (Syntax.PatternCaptureTarget (PythonNames.encodeName False Util.CaseConventionLowerSnake env varName)))+ keywordPattern =+ Syntax.KeywordPattern {+ Syntax.keywordPatternName = (Syntax.Name "value"),+ Syntax.keywordPatternPattern = (Syntax.PatternOr (Syntax.OrPattern [+ capturePattern]))}+ in (Syntax.ClosedPatternClass (Syntax.ClassPattern {+ Syntax.classPatternNameOrAttribute = pyVarNameAttr,+ Syntax.classPatternPositionalPatterns = Nothing,+ Syntax.classPatternKeywordPatterns = (Just (Syntax.KeywordPatterns [+ keywordPattern]))}))++-- | Collect type variables from a type+collectTypeVariables :: S.Set Model.Name -> Model.Type -> S.Set Model.Name+collectTypeVariables initial typ =+ case (Strip.deannotateType typ) of+ Model.TypeForall v0 ->+ let v = Model.forallTypeParameter v0+ body = Model.forallTypeBody v0+ in (collectTypeVariables (Sets.insert v initial) body)+ _ ->+ let freeVars = Variables.freeVariablesInType typ+ isTypeVar = \n -> isTypeVariableName n+ filteredList = Lists.filter isTypeVar (Sets.toList freeVars)+ in (Sets.union initial (Sets.fromList filteredList))++-- | Conditionally include a symbol name based on a boolean flag+condImportSymbol :: t0 -> Bool -> Maybe t0+condImportSymbol name flag = Logic.ifElse flag (Just name) Nothing++-- | Create a @dataclass(frozen=True) decorator+dataclassDecorator :: Syntax.NamedExpression+dataclassDecorator =+ Syntax.NamedExpressionSimple (Utils.pyPrimaryToPyExpression (Utils.primaryWithRhs (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "dataclass"))) (Syntax.PrimaryRhsCall (Syntax.Args {+ Syntax.argsPositional = [],+ Syntax.argsKwargOrStarred = [+ Syntax.KwargOrStarredKwarg (Syntax.Kwarg {+ Syntax.kwargName = (Syntax.Name "frozen"),+ Syntax.kwargValue = (Utils.pyAtomToPyExpression Syntax.AtomTrue)})],+ Syntax.argsKwargOrDoubleStarred = []}))))++-- | Deconflict a variant name to avoid collisions with type names+deconflictVariantName :: Bool -> PythonEnvironment.PythonEnvironment -> Model.Name -> Model.Name -> Graph.Graph -> Syntax.Name+deconflictVariantName isQualified env unionName fname g =++ let candidateHydraName = Model.Name (Strings.concat2 (Model.unName unionName) (Formatting.capitalize (Model.unName fname)))+ termCollision = Maps.member candidateHydraName (Graph.graphBoundTerms g)+ typeCollision = Maps.member candidateHydraName (Graph.graphSchemaTypes g)+ collision = Logic.or termCollision typeCollision+ in (Logic.ifElse collision (Syntax.Name (Strings.concat2 (Syntax.unName (PythonNames.variantName isQualified env unionName fname)) "_")) (PythonNames.variantName isQualified env unionName fname))++-- | Rewrite case statements to avoid variable name collisions+deduplicateCaseVariables :: [Model.CaseAlternative] -> [Model.CaseAlternative]+deduplicateCaseVariables cases_ =++ let rewriteCase =+ \state -> \field ->+ let countByName = Pairs.first state+ done = Pairs.second state+ fname = Model.caseAlternativeName field+ fterm = Model.caseAlternativeHandler field+ in case (Strip.deannotateAndDetypeTerm fterm) of+ Model.TermLambda v0 ->+ let v = Model.lambdaParameter v0+ mdom = Model.lambdaDomain v0+ body = Model.lambdaBody v0+ in (Optionals.match (Maps.lookup v countByName) (Maps.insert v 1 countByName, (Lists.cons field done)) (\count ->+ let count2 = Math.add count 1+ v2 = Model.Name (Strings.concat2 (Model.unName v) (Literals.printInt32 count2))+ newBody = Reduction.alphaConvert v v2 body+ newLam =+ Model.Lambda {+ Model.lambdaParameter = v2,+ Model.lambdaDomain = mdom,+ Model.lambdaBody = newBody}+ newTerm = Model.TermLambda newLam+ newField =+ Model.CaseAlternative {+ Model.caseAlternativeName = fname,+ Model.caseAlternativeHandler = newTerm}+ in (Maps.insert v count2 countByName, (Lists.cons newField done))))+ _ -> (countByName, (Lists.cons field done))+ result = Lists.foldl rewriteCase (Maps.empty, []) cases_+ in (Lists.reverse (Pairs.second result))++-- | Recursively dig through forall types to find wrap types+digForWrap :: Bool -> PythonEnvironment.PythonModuleMetadata -> Model.Type -> PythonEnvironment.PythonModuleMetadata+digForWrap isTermAnnot meta typ =+ case (Strip.deannotateType typ) of+ Model.TypeForall v0 -> digForWrap isTermAnnot meta (Model.forallTypeBody v0)+ Model.TypeWrap _ -> Logic.ifElse isTermAnnot meta (setMetaUsesNode meta True)+ _ -> meta++-- | Substitute unit for a variable in a term (for unit variant case handling)+eliminateUnitVar :: Model.Name -> Model.Term -> Model.Term+eliminateUnitVar v term0 =++ let rewriteField =+ \rewrite -> \fld -> Model.Field {+ Model.fieldName = (Model.fieldName fld),+ Model.fieldTerm = (rewrite (Model.fieldTerm fld))}+ rewriteCaseAlternative =+ \rewrite -> \alt -> Model.CaseAlternative {+ Model.caseAlternativeName = (Model.caseAlternativeName alt),+ Model.caseAlternativeHandler = (rewrite (Model.caseAlternativeHandler alt))}+ rewriteBinding =+ \rewrite -> \bnd -> Model.Binding {+ Model.bindingName = (Model.bindingName bnd),+ Model.bindingTerm = (rewrite (Model.bindingTerm bnd)),+ Model.bindingTypeScheme = (Model.bindingTypeScheme bnd)}+ rewrite =+ \recurse -> \term -> case (Strip.deannotateAndDetypeTerm term) of+ Model.TermVariable v0 -> Logic.ifElse (Equality.equal v0 v) Model.TermUnit term+ Model.TermAnnotated v0 -> Model.TermAnnotated (Model.AnnotatedTerm {+ Model.annotatedTermBody = (recurse (Model.annotatedTermBody v0)),+ Model.annotatedTermAnnotation = (Model.annotatedTermAnnotation v0)})+ Model.TermApplication v0 -> Model.TermApplication (Model.Application {+ Model.applicationFunction = (recurse (Model.applicationFunction v0)),+ Model.applicationArgument = (recurse (Model.applicationArgument v0))})+ Model.TermLambda v0 -> Logic.ifElse (Equality.equal (Model.lambdaParameter v0) v) term (Model.TermLambda (Model.Lambda {+ Model.lambdaParameter = (Model.lambdaParameter v0),+ Model.lambdaDomain = (Model.lambdaDomain v0),+ Model.lambdaBody = (recurse (Model.lambdaBody v0))}))+ Model.TermCases v0 -> Model.TermCases (Model.CaseStatement {+ Model.caseStatementTypeName = (Model.caseStatementTypeName v0),+ Model.caseStatementDefault = (Optionals.map recurse (Model.caseStatementDefault v0)),+ Model.caseStatementCases = (Lists.map (rewriteCaseAlternative recurse) (Model.caseStatementCases v0))})+ Model.TermLet v0 -> Model.TermLet (Model.Let {+ Model.letBindings = (Lists.map (rewriteBinding recurse) (Model.letBindings v0)),+ Model.letBody = (recurse (Model.letBody v0))})+ Model.TermList v0 -> Model.TermList (Lists.map recurse v0)+ Model.TermMap v0 -> Model.TermMap (Maps.fromList (Lists.map (\kv -> (recurse (Pairs.first kv), (recurse (Pairs.second kv)))) (Maps.toList v0)))+ Model.TermRecord v0 -> Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.recordTypeName v0),+ Model.recordFields = (Lists.map (rewriteField recurse) (Model.recordFields v0))})+ Model.TermSet v0 -> Model.TermSet (Sets.map recurse v0)+ Model.TermInject v0 -> Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.injectionTypeName v0),+ Model.injectionField = (rewriteField recurse (Model.injectionField v0))})+ Model.TermOptional v0 -> Model.TermOptional (Optionals.map recurse v0)+ Model.TermPair v0 -> Model.TermPair (recurse (Pairs.first v0), (recurse (Pairs.second v0)))+ Model.TermWrap v0 -> Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.wrappedTermTypeName v0),+ Model.wrappedTermBody = (recurse (Model.wrappedTermBody v0))})+ Model.TermEither v0 -> Model.TermEither (Eithers.bimap recurse recurse v0)+ Model.TermTypeApplication v0 -> Model.TermTypeApplication (Model.TypeApplicationTerm {+ Model.typeApplicationTermBody = (recurse (Model.typeApplicationTermBody v0)),+ Model.typeApplicationTermType = (Model.typeApplicationTermType v0)})+ Model.TermTypeLambda v0 -> Model.TermTypeLambda (Model.TypeLambda {+ Model.typeLambdaParameter = (Model.typeLambdaParameter v0),+ Model.typeLambdaBody = (recurse (Model.typeLambdaBody v0))})+ _ -> term+ go = \term -> rewrite go term+ in (go term0)++-- | Create an initial empty metadata record with given namespaces+emptyMetadata :: Util.ModuleNames Syntax.DottedName -> PythonEnvironment.PythonModuleMetadata+emptyMetadata ns =+ PythonEnvironment.PythonModuleMetadata {+ PythonEnvironment.pythonModuleMetadataNamespaces = ns,+ PythonEnvironment.pythonModuleMetadataTypeVariables = Sets.empty,+ PythonEnvironment.pythonModuleMetadataUsesAnnotated = False,+ PythonEnvironment.pythonModuleMetadataUsesCallable = False,+ PythonEnvironment.pythonModuleMetadataUsesCast = False,+ PythonEnvironment.pythonModuleMetadataUsesLruCache = False,+ PythonEnvironment.pythonModuleMetadataUsesTypeAlias = False,+ PythonEnvironment.pythonModuleMetadataUsesDataclass = False,+ PythonEnvironment.pythonModuleMetadataUsesDecimal = False,+ PythonEnvironment.pythonModuleMetadataUsesEither = False,+ PythonEnvironment.pythonModuleMetadataUsesEnum = False,+ PythonEnvironment.pythonModuleMetadataUsesFrozenDict = False,+ PythonEnvironment.pythonModuleMetadataUsesFrozenList = False,+ PythonEnvironment.pythonModuleMetadataUsesFrozenSet = False,+ PythonEnvironment.pythonModuleMetadataUsesGeneric = False,+ PythonEnvironment.pythonModuleMetadataUsesJust = False,+ PythonEnvironment.pythonModuleMetadataUsesLeft = False,+ PythonEnvironment.pythonModuleMetadataUsesMaybe = False,+ PythonEnvironment.pythonModuleMetadataUsesName = False,+ PythonEnvironment.pythonModuleMetadataUsesNode = False,+ PythonEnvironment.pythonModuleMetadataUsesNothing = False,+ PythonEnvironment.pythonModuleMetadataUsesRight = False,+ PythonEnvironment.pythonModuleMetadataUsesTypeVar = False}++-- | Encode a function application to a Python expression+encodeApplication :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Model.Application -> Either Errors.Error Syntax.Expression+encodeApplication cx env app =++ let g = pythonEnvironmentGetGraph env+ term = Model.TermApplication app+ gathered = Analysis.gatherArgs term []+ fun = Pairs.first gathered+ args = Pairs.second gathered+ knownArity = termArityWithPrimitives g fun+ arity = Ordering.max knownArity (Lists.length args)+ in (Eithers.bind (Eithers.mapList (\t -> encodeTermInline cx env False t) args) (\pargs ->+ let hargs = Lists.take arity pargs+ rargs = Lists.drop arity pargs+ in (Eithers.bind (encodeApplicationInner cx env fun hargs rargs) (\result ->+ let lhs = Pairs.first result+ remainingRargs = Pairs.second result+ pyapp = Lists.foldl (\t -> \a -> Utils.functionCall (Utils.pyExpressionToPyPrimary t) [+ a]) lhs remainingRargs+ in (Right pyapp)))))++-- | Inner helper for encodeApplication+encodeApplicationInner :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Model.Term -> [Syntax.Expression] -> [Syntax.Expression] -> Either Errors.Error (Syntax.Expression, [Syntax.Expression])+encodeApplicationInner cx env fun hargs rargs =++ let firstArg = Optionals.withDefault (Utils.pyNameToPyExpression (Syntax.Name "")) (Lists.head hargs)+ restArgs = Lists.drop 1 hargs+ withRest = \e -> Logic.ifElse (Lists.isEmpty restArgs) e (Utils.functionCall (Utils.pyExpressionToPyPrimary e) restArgs)+ defaultCase =+ Eithers.bind (encodeTermInline cx env False fun) (\pfun -> Right (Utils.functionCall (Utils.pyExpressionToPyPrimary pfun) hargs, rargs))+ in case (Strip.deannotateAndDetypeTerm fun) of+ Model.TermProject v0 ->+ let fname = Model.projectionFieldName v0+ fieldExpr = Utils.projectFromExpression firstArg (PythonNames.encodeFieldName env fname)+ in (Right (withRest fieldExpr, rargs))+ Model.TermCases v0 -> Eithers.bind (encodeUnionEliminationInline cx env v0 firstArg) (\inlineExpr -> Right (withRest inlineExpr, rargs))+ Model.TermUnwrap _ ->+ let valueExpr = Utils.projectFromExpression firstArg (Syntax.Name "value")+ allArgs = Lists.concat2 restArgs rargs+ in (Logic.ifElse (Lists.isEmpty allArgs) (Right (valueExpr, [])) (Right (Utils.functionCall (Utils.pyExpressionToPyPrimary valueExpr) allArgs, [])))+ Model.TermLambda _ -> Eithers.bind (encodeTermInline cx env False fun) (\pfun -> Right (Utils.functionCall (Utils.pyExpressionToPyPrimary pfun) hargs, rargs))+ Model.TermVariable v0 ->+ let g = pythonEnvironmentGetGraph env+ allArgs = Lists.concat2 hargs rargs+ inlineVars = PythonEnvironment.pythonEnvironmentInlineVariables env+ in (Optionals.match (Maps.lookup v0 (Graph.graphPrimitives g)) (Optionals.match (Lexical.lookupBinding g v0) (Eithers.bind (encodeVariable cx env v0 hargs) (\expr -> Right (expr, rargs))) (\el -> Optionals.match (Model.bindingTypeScheme el) (Eithers.bind (encodeVariable cx env v0 hargs) (\expr -> Right (expr, rargs))) (\ts ->+ let elArity = Arity.typeSchemeArity ts+ consumeCount = Ordering.min elArity (Lists.length allArgs)+ consumedArgs = Lists.take consumeCount allArgs+ remainingArgs = Lists.drop consumeCount allArgs+ in (Logic.ifElse (Lists.isEmpty consumedArgs) (Eithers.bind (encodeVariable cx env v0 []) (\expr -> Right (expr, rargs))) (Logic.ifElse (Sets.member v0 inlineVars) (Right (+ Utils.functionCall (Utils.pyExpressionToPyPrimary (lazyDotGet (PythonNames.termVariableReference env v0))) consumedArgs,+ remainingArgs)) (Right (+ Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeName True Util.CaseConventionLowerSnake env v0)) consumedArgs,+ remainingArgs))))))) (\_prim ->+ let wrappedArgs = wrapLazyArguments g v0 hargs+ in (Eithers.bind (encodeVariable cx env v0 wrappedArgs) (\expr -> Right (expr, rargs)))))+ _ -> defaultCase++-- | Encode an application type to Python expression+encodeApplicationType :: PythonEnvironment.PythonEnvironment -> Model.ApplicationType -> Either t0 Syntax.Expression+encodeApplicationType env at =++ let gatherParams =+ \t -> \ps -> case (Strip.deannotateType t) of+ Model.TypeApplication v0 -> gatherParams (Model.applicationTypeFunction v0) (Lists.cons (Model.applicationTypeArgument v0) ps)+ Model.TypeAnnotated _ -> (t, ps)+ Model.TypeEffect _ -> (t, ps)+ Model.TypeFunction _ -> (t, ps)+ Model.TypeForall _ -> (t, ps)+ Model.TypeList _ -> (t, ps)+ Model.TypeLiteral _ -> (t, ps)+ Model.TypeMap _ -> (t, ps)+ Model.TypeOptional _ -> (t, ps)+ Model.TypeEither _ -> (t, ps)+ Model.TypePair _ -> (t, ps)+ Model.TypeRecord _ -> (t, ps)+ Model.TypeSet _ -> (t, ps)+ Model.TypeUnion _ -> (t, ps)+ Model.TypeUnit -> (t, ps)+ Model.TypeVariable _ -> (t, ps)+ Model.TypeVoid -> (t, ps)+ Model.TypeWrap _ -> (t, ps)+ bodyAndArgs = gatherParams (Model.TypeApplication at) []+ body = Pairs.first bodyAndArgs+ args = Pairs.second bodyAndArgs+ in (Eithers.bind (encodeType env body) (\pyBody -> Eithers.bind (Eithers.mapList (encodeType env) args) (\pyArgs -> Right (Utils.primaryAndParams (Utils.pyExpressionToPyPrimary pyBody) pyArgs))))++-- | Encode a binding as a Python statement (function definition or assignment)+encodeBindingAs :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Model.Binding -> Either Errors.Error Syntax.Statement+encodeBindingAs cx env binding =++ let name1 = Model.bindingName binding+ term1 = Model.bindingTerm binding+ mts = Model.bindingTypeScheme binding+ fname = PythonNames.encodeName True Util.CaseConventionLowerSnake env name1+ in (Optionals.match mts (+ let gathered = gatherLambdas term1+ lambdaParams = Pairs.first gathered+ innerBody = Pairs.second gathered+ mcsa = isCaseStatementApplication innerBody+ in (Optionals.match mcsa (+ let mcs = extractCaseElimination term1+ in (Optionals.match mcs (Eithers.bind (encodeTermMultiline cx env term1) (\stmts -> Optionals.match (Lists.head stmts) (Left (Errors.ErrorOther (Errors.OtherError "encodeTermMultiline returned no statements"))) (\x -> Right x))) (\cs ->+ let tname = Model.caseStatementTypeName cs+ dflt = Model.caseStatementDefault cs+ cases_ = Model.caseStatementCases cs+ in (Eithers.bind (Resolution.requireUnionType cx (pythonEnvironmentGetGraph env) tname) (\rt ->+ let isEnum = Predicates.isEnumRowType rt+ isFull = isCasesFull rt cases_+ innerParam =+ Syntax.Param {+ Syntax.paramName = (Syntax.Name "x"),+ Syntax.paramAnnotation = Nothing}+ param =+ Syntax.ParamNoDefault {+ Syntax.paramNoDefaultParam = innerParam,+ Syntax.paramNoDefaultTypeComment = Nothing}+ params =+ Syntax.ParametersParamNoDefault (Syntax.ParamNoDefaultParameters {+ Syntax.paramNoDefaultParametersParamNoDefault = [+ param],+ Syntax.paramNoDefaultParametersParamWithDefault = [],+ Syntax.paramNoDefaultParametersStarEtc = Nothing})+ in (Eithers.bind (Eithers.mapList (caseBlockToExpr cx env tname rt isEnum (\e -> \t -> encodeTermMultiline cx e t)) cases_) (\pyCases -> Eithers.bind (encodeDefaultCaseBlock (\t -> encodeTermInline cx env False t) isFull dflt tname) (\pyDflt ->+ let subj = Syntax.SubjectExpressionSimple (Syntax.NamedExpressionSimple (Utils.pyNameToPyExpression (Syntax.Name "x")))+ allCases = Lists.concat2 pyCases pyDflt+ matchStmt =+ Syntax.StatementCompound (Syntax.CompoundStatementMatch (Syntax.MatchStatement {+ Syntax.matchStatementSubject = subj,+ Syntax.matchStatementCases = allCases}))+ body = Utils.indentedBlock Nothing [+ [+ matchStmt]]+ funcDefRaw =+ Syntax.FunctionDefRaw {+ Syntax.functionDefRawAsync = False,+ Syntax.functionDefRawName = fname,+ Syntax.functionDefRawTypeParams = [],+ Syntax.functionDefRawParams = (Just params),+ Syntax.functionDefRawReturnType = Nothing,+ Syntax.functionDefRawFuncTypeComment = Nothing,+ Syntax.functionDefRawBlock = body}+ in (Right (Syntax.StatementCompound (Syntax.CompoundStatementFunction (Syntax.FunctionDefinition {+ Syntax.functionDefinitionDecorators = Nothing,+ Syntax.functionDefinitionRaw = funcDefRaw})))))))))))) (\csa -> Logic.ifElse (Lists.isEmpty lambdaParams) (+ let mcs = extractCaseElimination term1+ in (Optionals.match mcs (Eithers.bind (encodeTermMultiline cx env term1) (\stmts -> Optionals.match (Lists.head stmts) (Left (Errors.ErrorOther (Errors.OtherError "encodeTermMultiline returned no statements"))) (\x -> Right x))) (\cs ->+ let tname = Model.caseStatementTypeName cs+ dflt = Model.caseStatementDefault cs+ cases_ = Model.caseStatementCases cs+ in (Eithers.bind (Resolution.requireUnionType cx (pythonEnvironmentGetGraph env) tname) (\rt ->+ let isEnum = Predicates.isEnumRowType rt+ isFull = isCasesFull rt cases_+ innerParam =+ Syntax.Param {+ Syntax.paramName = (Syntax.Name "x"),+ Syntax.paramAnnotation = Nothing}+ param =+ Syntax.ParamNoDefault {+ Syntax.paramNoDefaultParam = innerParam,+ Syntax.paramNoDefaultTypeComment = Nothing}+ params =+ Syntax.ParametersParamNoDefault (Syntax.ParamNoDefaultParameters {+ Syntax.paramNoDefaultParametersParamNoDefault = [+ param],+ Syntax.paramNoDefaultParametersParamWithDefault = [],+ Syntax.paramNoDefaultParametersStarEtc = Nothing})+ in (Eithers.bind (Eithers.mapList (caseBlockToExpr cx env tname rt isEnum (\e -> \t -> encodeTermMultiline cx e t)) cases_) (\pyCases -> Eithers.bind (encodeDefaultCaseBlock (\t -> encodeTermInline cx env False t) isFull dflt tname) (\pyDflt ->+ let subj = Syntax.SubjectExpressionSimple (Syntax.NamedExpressionSimple (Utils.pyNameToPyExpression (Syntax.Name "x")))+ allCases = Lists.concat2 pyCases pyDflt+ matchStmt =+ Syntax.StatementCompound (Syntax.CompoundStatementMatch (Syntax.MatchStatement {+ Syntax.matchStatementSubject = subj,+ Syntax.matchStatementCases = allCases}))+ body = Utils.indentedBlock Nothing [+ [+ matchStmt]]+ funcDefRaw =+ Syntax.FunctionDefRaw {+ Syntax.functionDefRawAsync = False,+ Syntax.functionDefRawName = fname,+ Syntax.functionDefRawTypeParams = [],+ Syntax.functionDefRawParams = (Just params),+ Syntax.functionDefRawReturnType = Nothing,+ Syntax.functionDefRawFuncTypeComment = Nothing,+ Syntax.functionDefRawBlock = body}+ in (Right (Syntax.StatementCompound (Syntax.CompoundStatementFunction (Syntax.FunctionDefinition {+ Syntax.functionDefinitionDecorators = Nothing,+ Syntax.functionDefinitionRaw = funcDefRaw})))))))))))) (+ let tname = Pairs.first csa+ rest1 = Pairs.second csa+ dflt = Pairs.first rest1+ rest2 = Pairs.second rest1+ cases_ = Pairs.first rest2+ in (Eithers.bind (Resolution.requireUnionType cx (pythonEnvironmentGetGraph env) tname) (\rt ->+ let isEnum = Predicates.isEnumRowType rt+ isFull = isCasesFull rt cases_+ capturedVarNames = Optionals.withDefault [] (Lists.init lambdaParams)+ matchLambdaParam = Optionals.withDefault (Model.Name "") (Lists.last lambdaParams)+ capturedParams =+ Lists.map (\n -> Syntax.ParamNoDefault {+ Syntax.paramNoDefaultParam = Syntax.Param {+ Syntax.paramName = (PythonNames.encodeName False Util.CaseConventionLowerSnake env n),+ Syntax.paramAnnotation = Nothing},+ Syntax.paramNoDefaultTypeComment = Nothing}) capturedVarNames+ matchArgName = PythonNames.encodeName False Util.CaseConventionLowerSnake env matchLambdaParam+ matchParam =+ Syntax.ParamNoDefault {+ Syntax.paramNoDefaultParam = Syntax.Param {+ Syntax.paramName = matchArgName,+ Syntax.paramAnnotation = Nothing},+ Syntax.paramNoDefaultTypeComment = Nothing}+ allParams = Lists.concat2 capturedParams [+ matchParam]+ params =+ Syntax.ParametersParamNoDefault (Syntax.ParamNoDefaultParameters {+ Syntax.paramNoDefaultParametersParamNoDefault = allParams,+ Syntax.paramNoDefaultParametersParamWithDefault = [],+ Syntax.paramNoDefaultParametersStarEtc = Nothing})+ envWithParams = extendEnvWithLambdaParams env term1+ in (Eithers.bind (Eithers.mapList (caseBlockToExpr cx envWithParams tname rt isEnum (\e -> \t -> encodeTermMultiline cx e t)) cases_) (\pyCases -> Eithers.bind (encodeDefaultCaseBlock (\t -> encodeTermInline cx envWithParams False t) isFull dflt tname) (\pyDflt ->+ let subj = Syntax.SubjectExpressionSimple (Syntax.NamedExpressionSimple (Utils.pyNameToPyExpression matchArgName))+ allCases = Lists.concat2 pyCases pyDflt+ matchStmt =+ Syntax.StatementCompound (Syntax.CompoundStatementMatch (Syntax.MatchStatement {+ Syntax.matchStatementSubject = subj,+ Syntax.matchStatementCases = allCases}))+ body = Utils.indentedBlock Nothing [+ [+ matchStmt]]+ funcDefRaw =+ Syntax.FunctionDefRaw {+ Syntax.functionDefRawAsync = False,+ Syntax.functionDefRawName = fname,+ Syntax.functionDefRawTypeParams = [],+ Syntax.functionDefRawParams = (Just params),+ Syntax.functionDefRawReturnType = Nothing,+ Syntax.functionDefRawFuncTypeComment = Nothing,+ Syntax.functionDefRawBlock = body}+ in (Right (Syntax.StatementCompound (Syntax.CompoundStatementFunction (Syntax.FunctionDefinition {+ Syntax.functionDefinitionDecorators = Nothing,+ Syntax.functionDefinitionRaw = funcDefRaw}))))))))))))) (\ts -> Eithers.bind (Annotations.getTermDescription cx (pythonEnvironmentGetGraph env) term1) (\comment ->+ let normComment = Optionals.map Formatting.normalizeComment comment+ in (encodeTermAssignment cx env False name1 term1 ts normComment))))++-- | Encode a binding as a walrus operator assignment+encodeBindingAsAssignment :: Typing.InferenceContext -> Bool -> PythonEnvironment.PythonEnvironment -> Model.Binding -> Either Errors.Error Syntax.NamedExpression+encodeBindingAsAssignment cx allowThunking env binding =++ let name = Model.bindingName binding+ term = Model.bindingTerm binding+ mts = Model.bindingTypeScheme binding+ pyName = PythonNames.encodeName False Util.CaseConventionLowerSnake env name+ in (Eithers.bind (encodeTermInline cx env False term) (\pbody ->+ let tc = PythonEnvironment.pythonEnvironmentGraph env+ isComplexVar = Predicates.isComplexVariable tc name+ termIsComplex = Predicates.isComplexTerm tc term+ isTrivial = Predicates.isTrivialTerm term+ needsThunk =+ Logic.ifElse isTrivial False (Optionals.match mts (Logic.and allowThunking (Logic.or isComplexVar termIsComplex)) (\ts -> Logic.and allowThunking (Logic.and (Equality.equal (Arity.typeSchemeArity ts) 0) (Logic.or isComplexVar termIsComplex))))+ pterm = makeLazy pbody+ in (Right (Syntax.NamedExpressionAssignment (Syntax.AssignmentExpression {+ Syntax.assignmentExpressionName = pyName,+ Syntax.assignmentExpressionExpression = pterm})))))++-- | Encode bindings as function definitions+encodeBindingsAsDefs :: t0 -> (t0 -> t1 -> Either t2 t3) -> [t1] -> Either t2 [t3]+encodeBindingsAsDefs env encodeBinding bindings = Eithers.mapList (encodeBinding env) bindings++-- | Encode the default (wildcard) case block for a match statement+encodeDefaultCaseBlock :: (t0 -> Either t1 Syntax.Expression) -> Bool -> Maybe t0 -> Model.Name -> Either t1 [Syntax.CaseBlock]+encodeDefaultCaseBlock termToExpr isFull mdflt tname =+ Eithers.bind (Optionals.match mdflt (Right (Logic.ifElse isFull (Utils.raiseAssertionError "Unreachable: all variants handled") (Utils.raiseTypeError (Strings.concat2 "Unsupported " (CoreNames.localNameOf tname))))) (\d -> Eithers.bind (termToExpr d) (\pyexpr -> Right (Utils.returnSingle pyexpr)))) (\stmt ->+ let patterns = Utils.pyClosedPatternToPyPatterns Syntax.ClosedPatternWildcard+ body = Utils.indentedBlock Nothing [+ [+ stmt]]+ in (Right [+ Syntax.CaseBlock {+ Syntax.caseBlockPatterns = patterns,+ Syntax.caseBlockGuard = Nothing,+ Syntax.caseBlockBody = body}]))++-- | Encode a definition (term or type) to Python statements+encodeDefinition :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Packaging.Definition -> Either Errors.Error [[Syntax.Statement]]+encodeDefinition cx env def_ =+ case def_ of+ Packaging.DefinitionTerm v0 ->+ let name = Packaging.termDefinitionName v0+ term = Packaging.termDefinitionBody v0+ typ =+ Optionals.match (Packaging.termDefinitionSignature v0) (Model.TypeScheme {+ Model.typeSchemeVariables = [],+ Model.typeSchemeBody = (Model.TypeVariable (Model.Name "hydra.core.model.Unit")),+ Model.typeSchemeConstraints = Maps.empty}) (\sig -> Scoping.termSignatureToTypeScheme sig)+ in (Eithers.bind (Annotations.getTermDescription cx (pythonEnvironmentGetGraph env) term) (\comment ->+ let normComment = Optionals.map Formatting.normalizeComment comment+ in (Eithers.bind (encodeTermAssignment cx env True name term typ normComment) (\stmt -> Right [+ [+ stmt]]))))+ Packaging.DefinitionType v0 ->+ let name = Packaging.typeDefinitionName v0+ typ = Model.typeSchemeBody (Packaging.typeDefinitionBody v0)+ in (Eithers.bind (Annotations.getTypeDescription cx (pythonEnvironmentGetGraph env) typ) (\comment ->+ let normComment = Optionals.map Formatting.normalizeComment comment+ in (encodeTypeAssignment cx env name typ normComment)))++-- | Encode an enum value assignment statement with optional comment+encodeEnumValueAssignment :: t0 -> PythonEnvironment.PythonEnvironment -> Model.FieldType -> Either Errors.Error [Syntax.Statement]+encodeEnumValueAssignment cx env fieldType =++ let fname = Model.fieldTypeName fieldType+ ftype = Model.fieldTypeType fieldType+ in (Eithers.bind (Annotations.getTypeDescription cx (pythonEnvironmentGetGraph env) ftype) (\mcomment ->+ let pyName = PythonNames.encodeEnumValue env fname+ fnameStr = Model.unName fname+ pyValue =+ Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeName True Util.CaseConventionPascal env (Model.Name "hydra.core.model.Name"))) [+ Utils.doubleQuotedString fnameStr]+ assignStmt = Utils.assignmentStatement pyName pyValue+ in (Right (Optionals.match mcomment [+ assignStmt] (\c -> [+ assignStmt,+ (Utils.pyExpressionToPyStatement (Utils.tripleQuotedString c))])))))++-- | Encode a field (name-value pair) to a Python (Name, Expression) pair+encodeField :: t0 -> PythonEnvironment.PythonEnvironment -> Model.Field -> (Model.Term -> Either t1 t2) -> Either t1 (Syntax.Name, t2)+encodeField cx env field termToExpr =++ let fname = Model.fieldName field+ fterm = Model.fieldTerm field+ in (Eithers.bind (termToExpr fterm) (\pterm -> Right (PythonNames.encodeFieldName env fname, pterm)))++-- | Encode a field type for record definitions (field: type annotation)+encodeFieldType :: t0 -> PythonEnvironment.PythonEnvironment -> Model.FieldType -> Either Errors.Error Syntax.Statement+encodeFieldType cx env fieldType =++ let fname = Model.fieldTypeName fieldType+ ftype = Model.fieldTypeType fieldType+ in (Eithers.bind (Annotations.getTypeDescription cx (pythonEnvironmentGetGraph env) ftype) (\comment ->+ let pyName = Syntax.SingleTargetName (PythonNames.encodeFieldName env fname)+ in (Eithers.bind (encodeType env ftype) (\pyType ->+ let annotatedPyType = Utils.annotatedExpression comment pyType+ in (Right (Utils.pyAssignmentToPyStatement (Syntax.AssignmentTyped (Syntax.TypedAssignment {+ Syntax.typedAssignmentLhs = pyName,+ Syntax.typedAssignmentType = annotatedPyType,+ Syntax.typedAssignmentRhs = Nothing}))))))))++-- | Encode a float value to a Python expression+encodeFloatValue :: Model.FloatValue -> Either t0 Syntax.Expression+encodeFloatValue fv =+ case fv of+ Model.FloatValueFloat32 v0 -> encodeFloatValueEncodeFloat32 v0+ Model.FloatValueFloat64 v0 -> encodeFloatValueEncodeFloat64 v0++encodeFloatValueEncodeFloat32 :: Float -> Either t0 Syntax.Expression+encodeFloatValueEncodeFloat32 v =++ let s = Literals.printFloat32 v+ in (Logic.ifElse (Equality.equal s "NaN") (Right (encodeFloatValuePySpecialFloat "nan")) (Logic.ifElse (Equality.equal s "Infinity") (Right (encodeFloatValuePySpecialFloat "inf")) (Logic.ifElse (Equality.equal s "-Infinity") (Right (encodeFloatValuePySpecialFloat "-inf")) (Right (Utils.pyAtomToPyExpression (Syntax.AtomNumber (Syntax.NumberFloat (Literals.float32ToFloat64 v))))))))++encodeFloatValueEncodeFloat64 :: Double -> Either t0 Syntax.Expression+encodeFloatValueEncodeFloat64 v =++ let s = Literals.printFloat64 v+ in (Logic.ifElse (Equality.equal s "NaN") (Right (encodeFloatValuePySpecialFloat "nan")) (Logic.ifElse (Equality.equal s "Infinity") (Right (encodeFloatValuePySpecialFloat "inf")) (Logic.ifElse (Equality.equal s "-Infinity") (Right (encodeFloatValuePySpecialFloat "-inf")) (Logic.ifElse (Equality.equal s "-0.0") (Right (encodeFloatValuePySpecialFloat "-0.0")) (Right (Utils.pyAtomToPyExpression (Syntax.AtomNumber (Syntax.NumberFloat v))))))))++encodeFloatValuePySpecialFloat :: String -> Syntax.Expression+encodeFloatValuePySpecialFloat value =+ Utils.functionCall (Utils.pyNameToPyPrimary (Syntax.Name "float")) [+ Utils.singleQuotedString value]++-- | Encode a forall type to Python expression+encodeForallType :: PythonEnvironment.PythonEnvironment -> Model.ForallType -> Either t0 Syntax.Expression+encodeForallType env lt =++ let gatherParams =+ \t -> \ps -> case (Strip.deannotateType t) of+ Model.TypeForall v0 -> gatherParams (Model.forallTypeBody v0) (Lists.cons (Model.forallTypeParameter v0) ps)+ Model.TypeAnnotated _ -> (t, (Lists.reverse ps))+ Model.TypeApplication _ -> (t, (Lists.reverse ps))+ Model.TypeEffect _ -> (t, (Lists.reverse ps))+ Model.TypeFunction _ -> (t, (Lists.reverse ps))+ Model.TypeList _ -> (t, (Lists.reverse ps))+ Model.TypeLiteral _ -> (t, (Lists.reverse ps))+ Model.TypeMap _ -> (t, (Lists.reverse ps))+ Model.TypeOptional _ -> (t, (Lists.reverse ps))+ Model.TypeEither _ -> (t, (Lists.reverse ps))+ Model.TypePair _ -> (t, (Lists.reverse ps))+ Model.TypeRecord _ -> (t, (Lists.reverse ps))+ Model.TypeSet _ -> (t, (Lists.reverse ps))+ Model.TypeUnion _ -> (t, (Lists.reverse ps))+ Model.TypeUnit -> (t, (Lists.reverse ps))+ Model.TypeVariable _ -> (t, (Lists.reverse ps))+ Model.TypeVoid -> (t, (Lists.reverse ps))+ Model.TypeWrap _ -> (t, (Lists.reverse ps))+ bodyAndParams = gatherParams (Model.TypeForall lt) []+ body = Pairs.first bodyAndParams+ params = Pairs.second bodyAndParams+ in (Eithers.bind (encodeType env body) (\pyBody -> Right (Utils.primaryAndParams (Utils.pyExpressionToPyPrimary pyBody) (Lists.map (\n -> Syntax.ExpressionSimple (Syntax.Disjunction [+ Syntax.Conjunction [+ Syntax.InversionSimple (Syntax.Comparison {+ Syntax.comparisonLhs = Syntax.BitwiseOr {+ Syntax.bitwiseOrLhs = Nothing,+ Syntax.bitwiseOrRhs = Syntax.BitwiseXor {+ Syntax.bitwiseXorLhs = Nothing,+ Syntax.bitwiseXorRhs = Syntax.BitwiseAnd {+ Syntax.bitwiseAndLhs = Nothing,+ Syntax.bitwiseAndRhs = Syntax.ShiftExpression {+ Syntax.shiftExpressionLhs = Nothing,+ Syntax.shiftExpressionRhs = Syntax.Sum {+ Syntax.sumLhs = Nothing,+ Syntax.sumRhs = Syntax.Term {+ Syntax.termLhs = Nothing,+ Syntax.termRhs = (Syntax.FactorSimple (Syntax.Power {+ Syntax.powerLhs = Syntax.AwaitPrimary {+ Syntax.awaitPrimaryAwait = False,+ Syntax.awaitPrimaryPrimary = (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name (Model.unName n))))},+ Syntax.powerRhs = Nothing}))}}}}}},+ Syntax.comparisonRhs = []})]])) params))))++-- | Encode a function type to Python Callable expression+encodeFunctionType :: PythonEnvironment.PythonEnvironment -> Model.FunctionType -> Either t0 Syntax.Expression+encodeFunctionType env ft =++ let gatherParams =+ \rdoms -> \ftype ->+ let innerCod = Model.functionTypeCodomain ftype+ dom = Model.functionTypeDomain ftype+ in case (Strip.deannotateType innerCod) of+ Model.TypeFunction v0 -> gatherParams (Lists.cons dom rdoms) v0+ Model.TypeAnnotated _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+ Model.TypeApplication _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+ Model.TypeEffect _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+ Model.TypeForall _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+ Model.TypeList _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+ Model.TypeLiteral _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+ Model.TypeMap _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+ Model.TypeOptional _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+ Model.TypeEither _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+ Model.TypePair _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+ Model.TypeRecord _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+ Model.TypeSet _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+ Model.TypeUnion _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+ Model.TypeUnit -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+ Model.TypeVariable _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+ Model.TypeVoid -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+ Model.TypeWrap _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+ domsAndCod = gatherParams [] ft+ doms = Pairs.first domsAndCod+ cod = Pairs.second domsAndCod+ in (Eithers.bind (Eithers.mapList (encodeType env) doms) (\pydoms -> Eithers.bind (encodeType env cod) (\pycod -> Right (Utils.pyPrimaryToPyExpression (Utils.primaryWithSlices (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "Callable"))) (Utils.pyPrimaryToPySlice (Syntax.PrimarySimple (Syntax.AtomList (Utils.pyList pydoms)))) [+ Syntax.SliceOrStarredExpressionSlice (Utils.pyExpressionToPySlice pycod)])))))++-- | Encode an integer value to a Python expression+encodeIntegerValue :: Model.IntegerValue -> Either t0 Syntax.Expression+encodeIntegerValue iv =++ let toPyInt = \n -> Right (Utils.pyAtomToPyExpression (Syntax.AtomNumber (Syntax.NumberInteger n)))+ in case iv of+ Model.IntegerValueBigint v0 -> toPyInt v0+ Model.IntegerValueInt8 v0 -> toPyInt (Literals.int8ToBigint v0)+ Model.IntegerValueInt16 v0 -> toPyInt (Literals.int16ToBigint v0)+ Model.IntegerValueInt32 v0 -> toPyInt (Literals.int32ToBigint v0)+ Model.IntegerValueInt64 v0 -> toPyInt (Literals.int64ToBigint v0)+ Model.IntegerValueUint8 v0 -> toPyInt (Literals.uint8ToBigint v0)+ Model.IntegerValueUint16 v0 -> toPyInt (Literals.uint16ToBigint v0)+ Model.IntegerValueUint32 v0 -> toPyInt (Literals.uint32ToBigint v0)+ Model.IntegerValueUint64 v0 -> toPyInt (Literals.uint64ToBigint v0)++-- | Encode a literal value to a Python expression+encodeLiteral :: Model.Literal -> Either t0 Syntax.Expression+encodeLiteral lit =+ case lit of+ Model.LiteralBinary v0 ->+ let byteValues = Literals.binaryToBytes v0+ in (Right (Utils.functionCall (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "bytes"))) [+ Utils.pyAtomToPyExpression (Syntax.AtomList (Utils.pyList (Lists.map (\byteVal -> Utils.pyAtomToPyExpression (Syntax.AtomNumber (Syntax.NumberInteger (Literals.int32ToBigint byteVal)))) byteValues)))]))+ Model.LiteralBoolean v0 -> Right (Utils.pyAtomToPyExpression (Logic.ifElse v0 Syntax.AtomTrue Syntax.AtomFalse))+ Model.LiteralDecimal v0 -> Right (Utils.functionCall (Utils.pyNameToPyPrimary (Syntax.Name "Decimal")) [+ Utils.singleQuotedString (Literals.printDecimal v0)])+ Model.LiteralFloat v0 -> encodeFloatValue v0+ Model.LiteralInteger v0 -> encodeIntegerValue v0+ Model.LiteralString v0 -> Right (Utils.stringToPyExpression Syntax.QuoteStyleDouble v0)++-- | Encode a literal type to a Python type expression+encodeLiteralType :: Model.LiteralType -> Either t0 Syntax.Expression+encodeLiteralType lt =++ let findName =+ case lt of+ Model.LiteralTypeBinary -> "bytes"+ Model.LiteralTypeBoolean -> "bool"+ Model.LiteralTypeDecimal -> "Decimal"+ Model.LiteralTypeFloat v0 -> case v0 of+ Model.FloatTypeFloat32 -> "float"+ Model.FloatTypeFloat64 -> "float"+ Model.LiteralTypeInteger _ -> "int"+ Model.LiteralTypeString -> "str"+ in (Right (Syntax.ExpressionSimple (Syntax.Disjunction [+ Syntax.Conjunction [+ Syntax.InversionSimple (Syntax.Comparison {+ Syntax.comparisonLhs = Syntax.BitwiseOr {+ Syntax.bitwiseOrLhs = Nothing,+ Syntax.bitwiseOrRhs = Syntax.BitwiseXor {+ Syntax.bitwiseXorLhs = Nothing,+ Syntax.bitwiseXorRhs = Syntax.BitwiseAnd {+ Syntax.bitwiseAndLhs = Nothing,+ Syntax.bitwiseAndRhs = Syntax.ShiftExpression {+ Syntax.shiftExpressionLhs = Nothing,+ Syntax.shiftExpressionRhs = Syntax.Sum {+ Syntax.sumLhs = Nothing,+ Syntax.sumRhs = Syntax.Term {+ Syntax.termLhs = Nothing,+ Syntax.termRhs = (Syntax.FactorSimple (Syntax.Power {+ Syntax.powerLhs = Syntax.AwaitPrimary {+ Syntax.awaitPrimaryAwait = False,+ Syntax.awaitPrimaryPrimary = (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name findName)))},+ Syntax.powerRhs = Nothing}))}}}}}},+ Syntax.comparisonRhs = []})]])))++-- | Generate name constants for a type as class-level attributes+encodeNameConstants :: PythonEnvironment.PythonEnvironment -> Model.Name -> [Model.FieldType] -> [Syntax.Statement]+encodeNameConstants env name fields =++ let toStmt =+ \pair -> Utils.assignmentStatement (Pairs.first pair) (Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeName True Util.CaseConventionPascal env (Model.Name "hydra.core.model.Name"))) [+ Utils.doubleQuotedString (Model.unName (Pairs.second pair))])+ namePair = (PythonNames.encodeConstantForTypeName env name, name)+ fieldPairs =+ Lists.map (\field -> (PythonNames.encodeConstantForFieldName env name (Model.fieldTypeName field), (Model.fieldTypeName field))) fields+ in (Lists.map toStmt (Lists.cons namePair fieldPairs))++-- | Encode a Hydra module to a Python module AST, given the on-disk overlay-existence set (#630) driving emission-time primitive-reference redirects+encodePythonModule :: S.Set String -> Typing.InferenceContext -> Graph.Graph -> Packaging.Module -> [Packaging.Definition] -> Either Errors.Error Syntax.Module+encodePythonModule overlaySubs cx g mod defs0 =++ let defs = CoreEnvironment.reorderDefs defs0+ meta0 = gatherMetadata overlaySubs (Packaging.moduleName mod) defs+ namespaces0 = PythonEnvironment.pythonModuleMetadataNamespaces meta0+ env0 = initialEnvironment namespaces0 g overlaySubs+ isTypeMod = isTypeModuleCheck defs0+ in (withDefinitions env0 defs (\env -> Eithers.bind (Eithers.map (\xs -> Lists.concat xs) (Eithers.mapList (\d -> encodeDefinition cx env d) defs)) (\defStmts ->+ let meta2 = Logic.ifElse (Logic.and (Logic.not isTypeMod) useInlineTypeParams) (setMetaUsesTypeVar meta0 False) meta0+ meta =+ Logic.ifElse (Logic.and isTypeMod (Equality.equal targetPythonVersion PythonEnvironment.PythonVersionPython310)) (setMetaUsesTypeAlias meta2 True) meta2+ namespaces = PythonEnvironment.pythonModuleMetadataNamespaces meta0+ commentStmts =+ Optionals.match (Optionals.map Formatting.normalizeComment (Optionals.bind (Packaging.moduleMetadata mod) (\em -> Packaging.entityMetadataDescription em))) [] (\c -> [+ Utils.commentStatement c])+ importStmts = moduleImports namespaces meta+ tvars =+ Logic.ifElse (Logic.or isTypeMod (Logic.not useInlineTypeParams)) (PythonEnvironment.pythonModuleMetadataTypeVariables meta) Sets.empty+ tvarStmts = Lists.map (\tv -> tvarStatement (PythonNames.encodeTypeVariable tv)) (Sets.toList tvars)+ body =+ Lists.filter (\group -> Logic.not (Lists.isEmpty group)) (Lists.concat [+ [+ commentStmts,+ importStmts,+ tvarStmts],+ defStmts])+ in (Right (Syntax.Module body)))))++-- | Encode a record type as a Python dataclass+encodeRecordType :: t0 -> PythonEnvironment.PythonEnvironment -> Model.Name -> [Model.FieldType] -> Maybe String -> Either Errors.Error Syntax.Statement+encodeRecordType cx env name rowType comment =+ Eithers.bind (Eithers.mapList (encodeFieldType cx env) rowType) (\pyFields ->+ let constStmts = encodeNameConstants env name rowType+ withMethods = Lists.map (recordWithMethod env) rowType+ boundVars = PythonEnvironment.pythonEnvironmentBoundTypeVariables env+ tparamList = Pairs.first boundVars+ mGenericArg = genericArg tparamList+ args = Optionals.match mGenericArg Nothing (\a -> Just (Utils.pyExpressionsToPyArgs [+ a]))+ decs = Just (Syntax.Decorators [+ dataclassDecorator])+ pyName = PythonNames.encodeName False Util.CaseConventionPascal env name+ noTypeParams = []+ in (Eithers.bind (recordBuilderClass env name rowType args) (\builderStmts ->+ let body =+ Utils.indentedBlock comment [+ pyFields,+ constStmts,+ withMethods,+ builderStmts]+ in (Right (Utils.pyClassDefinitionToPyStatement (Syntax.ClassDefinition {+ Syntax.classDefinitionDecorators = decs,+ Syntax.classDefinitionName = pyName,+ Syntax.classDefinitionTypeParams = noTypeParams,+ Syntax.classDefinitionArguments = args,+ Syntax.classDefinitionBody = body}))))))++-- | Encode a term assignment to a Python statement+encodeTermAssignment :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Bool -> Model.Name -> Model.Term -> Model.TypeScheme -> Maybe String -> Either Errors.Error Syntax.Statement+encodeTermAssignment cx env topLevel name term ts comment =+ Eithers.bind (analyzePythonFunction cx env term) (\fs ->+ let tparams = Typing.functionStructureTypeParams fs+ params = Typing.functionStructureParams fs+ bindings = Typing.functionStructureBindings fs+ body = Typing.functionStructureBody fs+ domsRaw = Typing.functionStructureDomains fs+ sigTermSig = Scoping.typeSchemeToTermSignature ts+ sigParamTypes = Lists.map (\p -> Typing.parameterType p) (Typing.termSignatureParameters sigTermSig)+ sigResult = Typing.termSignatureResult sigTermSig+ sigCod = Typing.resultType sigResult+ doms = fillDomsFromSignature domsRaw sigParamTypes+ mcod = Just sigCod+ env2 = Typing.functionStructureEnvironment fs+ tc = PythonEnvironment.pythonEnvironmentGraph env2+ binding =+ Model.Binding {+ Model.bindingName = name,+ Model.bindingTerm = term,+ Model.bindingTypeScheme = (Just ts)}+ isComplex = Predicates.isComplexBinding tc binding+ isTrivial = Predicates.isTrivialTerm term+ in (Logic.ifElse (Logic.and isComplex (Logic.not isTrivial)) (Logic.ifElse (Logic.and (Logic.not topLevel) (Lists.isEmpty params)) (Eithers.bind (encodeTermInline cx env2 False term) (\bodyExpr ->+ let pyName = PythonNames.encodeName False Util.CaseConventionLowerSnake env2 name+ lazyExpr = makeLazy bodyExpr+ in (Right (Utils.annotatedStatement comment (Utils.assignmentStatement pyName lazyExpr))))) (Eithers.bind (Eithers.mapList (encodeBindingAs cx env2) bindings) (\bindingStmts -> functionDefinitionToExpr cx env2 name tparams params body doms mcod comment bindingStmts))) (Eithers.bind (encodeTermInline cx env2 False body) (\bodyExpr ->+ let pyName = PythonNames.encodeName False Util.CaseConventionLowerSnake env2 name+ in (Right (Utils.annotatedStatement comment (Utils.assignmentStatement pyName bodyExpr)))))))++-- | Encode a term to a Python expression (inline form)+encodeTermInline :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Bool -> Model.Term -> Either Errors.Error Syntax.Expression+encodeTermInline cx env noCast term =++ let encode = \t -> encodeTermInline cx env False t+ stripTypeApps =+ \t -> case t of+ Model.TermAnnotated v0 -> stripTypeApps (Model.annotatedTermBody v0)+ Model.TermTypeApplication v0 -> stripTypeApps (Model.typeApplicationTermBody v0)+ _ -> t+ withCast =+ \pyexp -> Logic.ifElse (Logic.or noCast (PythonEnvironment.pythonEnvironmentSkipCasts env)) (Right pyexp) (+ let tc = PythonEnvironment.pythonEnvironmentGraph env+ mtyp = Eithers.map (\_r -> Pairs.first _r) (Checking.typeOf cx tc [] term)+ in (Eithers.either (\_ -> Right pyexp) (\typ -> Eithers.either (\_ -> Right pyexp) (\pytyp -> Right (Utils.castTo pytyp pyexp)) (encodeType env typ)) mtyp))+ in case (Strip.deannotateAndDetypeTerm term) of+ Model.TermApplication v0 -> encodeApplication cx env v0+ Model.TermEither v0 -> Eithers.either (\t1 -> Eithers.bind (encode t1) (\pyexp -> withCast (Utils.functionCall (Utils.pyNameToPyPrimary (Syntax.Name "Left")) [+ pyexp]))) (\t1 -> Eithers.bind (encode t1) (\pyexp -> withCast (Utils.functionCall (Utils.pyNameToPyPrimary (Syntax.Name "Right")) [+ pyexp]))) v0+ Model.TermLambda v0 -> Eithers.bind (analyzePythonFunction cx env (Model.TermLambda v0)) (\fs ->+ let params = Typing.functionStructureParams fs+ bindings = Typing.functionStructureBindings fs+ innerBody = Typing.functionStructureBody fs+ innerEnv0 = Typing.functionStructureEnvironment fs+ bindingNames = Lists.map (\b -> Model.bindingName b) bindings+ innerEnv =+ PythonEnvironment.PythonEnvironment {+ PythonEnvironment.pythonEnvironmentNamespaces = (PythonEnvironment.pythonEnvironmentNamespaces innerEnv0),+ PythonEnvironment.pythonEnvironmentBoundTypeVariables = (PythonEnvironment.pythonEnvironmentBoundTypeVariables innerEnv0),+ PythonEnvironment.pythonEnvironmentGraph = (PythonEnvironment.pythonEnvironmentGraph innerEnv0),+ PythonEnvironment.pythonEnvironmentNullaryBindings = (PythonEnvironment.pythonEnvironmentNullaryBindings innerEnv0),+ PythonEnvironment.pythonEnvironmentVersion = (PythonEnvironment.pythonEnvironmentVersion innerEnv0),+ PythonEnvironment.pythonEnvironmentSkipCasts = (PythonEnvironment.pythonEnvironmentSkipCasts innerEnv0),+ PythonEnvironment.pythonEnvironmentInlineVariables = (Sets.union (Sets.fromList bindingNames) (PythonEnvironment.pythonEnvironmentInlineVariables innerEnv0)),+ PythonEnvironment.pythonEnvironmentOverlaySubs = (PythonEnvironment.pythonEnvironmentOverlaySubs innerEnv0)}+ in (Eithers.bind (encodeTermInline cx innerEnv False innerBody) (\pbody ->+ let pparams = Lists.map (PythonNames.encodeName False Util.CaseConventionLowerSnake innerEnv) params+ in (Logic.ifElse (Lists.isEmpty bindings) (Right (makeUncurriedLambda pparams pbody)) (Eithers.bind (Eithers.mapList (encodeBindingAsAssignment cx False innerEnv) bindings) (\pbindingExprs ->+ let pbindingStarExprs = Lists.map (\ne -> Syntax.StarNamedExpressionSimple ne) pbindingExprs+ pbodyStarExpr = Utils.pyExpressionToPyStarNamedExpression pbody+ tupleElements = Lists.concat2 pbindingStarExprs [+ pbodyStarExpr]+ tupleExpr = Utils.pyAtomToPyExpression (Syntax.AtomTuple (Syntax.Tuple tupleElements))+ indexValue =+ Utils.pyAtomToPyExpression (Syntax.AtomNumber (Syntax.NumberInteger (Literals.int32ToBigint (Lists.length bindings))))+ indexedExpr = Utils.primaryWithExpressionSlices (Utils.pyExpressionToPyPrimary tupleExpr) [+ indexValue]+ in (Right (makeUncurriedLambda pparams (Utils.pyPrimaryToPyExpression indexedExpr)))))))))+ Model.TermProject v0 ->+ let fname = Model.projectionFieldName v0+ in (Right (makeCurriedLambda [+ Syntax.Name "v1"] (Utils.projectFromExpression (Syntax.ExpressionSimple (Syntax.Disjunction [+ Syntax.Conjunction [+ Syntax.InversionSimple (Syntax.Comparison {+ Syntax.comparisonLhs = Syntax.BitwiseOr {+ Syntax.bitwiseOrLhs = Nothing,+ Syntax.bitwiseOrRhs = Syntax.BitwiseXor {+ Syntax.bitwiseXorLhs = Nothing,+ Syntax.bitwiseXorRhs = Syntax.BitwiseAnd {+ Syntax.bitwiseAndLhs = Nothing,+ Syntax.bitwiseAndRhs = Syntax.ShiftExpression {+ Syntax.shiftExpressionLhs = Nothing,+ Syntax.shiftExpressionRhs = Syntax.Sum {+ Syntax.sumLhs = Nothing,+ Syntax.sumRhs = Syntax.Term {+ Syntax.termLhs = Nothing,+ Syntax.termRhs = (Syntax.FactorSimple (Syntax.Power {+ Syntax.powerLhs = Syntax.AwaitPrimary {+ Syntax.awaitPrimaryAwait = False,+ Syntax.awaitPrimaryPrimary = (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "v1")))},+ Syntax.powerRhs = Nothing}))}}}}}},+ Syntax.comparisonRhs = []})]])) (PythonNames.encodeFieldName env fname))))+ Model.TermUnwrap _ -> Right (makeCurriedLambda [+ Syntax.Name "v1"] (Utils.projectFromExpression (Syntax.ExpressionSimple (Syntax.Disjunction [+ Syntax.Conjunction [+ Syntax.InversionSimple (Syntax.Comparison {+ Syntax.comparisonLhs = Syntax.BitwiseOr {+ Syntax.bitwiseOrLhs = Nothing,+ Syntax.bitwiseOrRhs = Syntax.BitwiseXor {+ Syntax.bitwiseXorLhs = Nothing,+ Syntax.bitwiseXorRhs = Syntax.BitwiseAnd {+ Syntax.bitwiseAndLhs = Nothing,+ Syntax.bitwiseAndRhs = Syntax.ShiftExpression {+ Syntax.shiftExpressionLhs = Nothing,+ Syntax.shiftExpressionRhs = Syntax.Sum {+ Syntax.sumLhs = Nothing,+ Syntax.sumRhs = Syntax.Term {+ Syntax.termLhs = Nothing,+ Syntax.termRhs = (Syntax.FactorSimple (Syntax.Power {+ Syntax.powerLhs = Syntax.AwaitPrimary {+ Syntax.awaitPrimaryAwait = False,+ Syntax.awaitPrimaryPrimary = (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "v1")))},+ Syntax.powerRhs = Nothing}))}}}}}},+ Syntax.comparisonRhs = []})]])) (Syntax.Name "value")))+ Model.TermCases _ -> Right (unsupportedExpression "case expressions as values are not yet supported")+ Model.TermLet v0 ->+ let bindings = Model.letBindings v0+ body = Model.letBody v0+ in (Logic.ifElse (Lists.isEmpty bindings) (encodeTermInline cx env False body) (withLetInline env v0 (\innerEnv -> Eithers.bind (Eithers.mapList (encodeBindingAsAssignment cx False innerEnv) bindings) (\pbindingExprs -> Eithers.bind (encodeTermInline cx innerEnv False body) (\pbody ->+ let pbindingStarExprs = Lists.map (\ne -> Syntax.StarNamedExpressionSimple ne) pbindingExprs+ pbodyStarExpr = Utils.pyExpressionToPyStarNamedExpression pbody+ tupleElements = Lists.concat2 pbindingStarExprs [+ pbodyStarExpr]+ tupleExpr = Utils.pyAtomToPyExpression (Syntax.AtomTuple (Syntax.Tuple tupleElements))+ indexValue =+ Utils.pyAtomToPyExpression (Syntax.AtomNumber (Syntax.NumberInteger (Literals.int32ToBigint (Lists.length bindings))))+ indexedExpr = Utils.primaryWithExpressionSlices (Utils.pyExpressionToPyPrimary tupleExpr) [+ indexValue]+ in (Right (Utils.pyPrimaryToPyExpression indexedExpr)))))))+ Model.TermList v0 -> Eithers.bind (Eithers.mapList encode v0) (\pyExprs ->+ let consListOf = Utils.projectFromExpression (Utils.pyNameToPyExpression (Syntax.Name "ConsList")) (Syntax.Name "of")+ in (Right (Utils.functionCall (Utils.pyExpressionToPyPrimary consListOf) pyExprs)))+ Model.TermLiteral v0 -> encodeLiteral v0+ Model.TermMap v0 -> Eithers.bind (Eithers.mapList (\kv ->+ let k = Pairs.first kv+ v = Pairs.second kv+ in (Eithers.bind (encode k) (\pyK -> Eithers.bind (encode v) (\pyV -> Right (Utils.pyAtomToPyExpression (Syntax.AtomTuple (Syntax.Tuple [+ Utils.pyExpressionToPyStarNamedExpression pyK,+ (Utils.pyExpressionToPyStarNamedExpression pyV)]))))))) (Maps.toList v0)) (\tuplePairs ->+ let pmapOfEntries =+ Utils.projectFromExpression (Utils.pyNameToPyExpression (Syntax.Name "PersistentMap")) (Syntax.Name "of_entries")+ in (Right (Utils.functionCall (Utils.pyExpressionToPyPrimary pmapOfEntries) tuplePairs)))+ Model.TermOptional v0 -> Optionals.match v0 (Right (Utils.functionCall (Utils.pyNameToPyPrimary (Syntax.Name "None_")) [])) (\t1 -> Eithers.bind (encode t1) (\pyexp -> withCast (Utils.functionCall (Utils.pyNameToPyPrimary (Syntax.Name "Given")) [+ pyexp])))+ Model.TermPair v0 ->+ let t1 = Pairs.first v0+ t2 = Pairs.second v0+ in (Eithers.bind (encode t1) (\pyExpr1 -> Eithers.bind (encode t2) (\pyExpr2 -> Right (Utils.pyAtomToPyExpression (Syntax.AtomTuple (Syntax.Tuple [+ Utils.pyExpressionToPyStarNamedExpression pyExpr1,+ (Utils.pyExpressionToPyStarNamedExpression pyExpr2)]))))))+ Model.TermRecord v0 ->+ let tname = Model.recordTypeName v0+ fields = Model.recordFields v0+ in (Eithers.bind (Eithers.mapList (\fld -> encode (Model.fieldTerm fld)) fields) (\pargs -> Right (Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeNameQualified env tname)) pargs)))+ Model.TermSet v0 -> Eithers.bind (Eithers.mapList encode (Sets.toList v0)) (\pyEls ->+ let psetOf = Utils.projectFromExpression (Utils.pyNameToPyExpression (Syntax.Name "PersistentSet")) (Syntax.Name "of")+ in (Right (Utils.functionCall (Utils.pyExpressionToPyPrimary psetOf) pyEls)))+ Model.TermTypeApplication v0 ->+ let body = Model.typeApplicationTermBody v0+ in (Eithers.bind (encodeTermInline cx env True (stripTypeApps body)) (\pybase -> withCast pybase))+ Model.TermTypeLambda v0 ->+ let body = Model.typeLambdaBody v0+ in (withTypeLambda env v0 (\env2 -> encodeTermInline cx env2 noCast body))+ Model.TermInject v0 ->+ let tname = Model.injectionTypeName v0+ field = Model.injectionField v0+ in (Eithers.bind (Resolution.requireUnionType cx (pythonEnvironmentGetGraph env) tname) (\rt -> Logic.ifElse (Predicates.isEnumRowType rt) (Right (Utils.projectFromExpression (Utils.pyNameToPyExpression (PythonNames.encodeNameQualified env tname)) (PythonNames.encodeEnumValue env (Model.fieldName field)))) (+ let fname = Model.fieldName field+ isUnitVariant =+ Optionals.match (Lists.find (\ft -> Equality.equal (Model.unName (Model.fieldTypeName ft)) (Model.unName fname)) rt) False (\ft -> Predicates.isUnitType (Strip.deannotateType (Model.fieldTypeType ft)))+ in (Eithers.bind (Logic.ifElse (Logic.or (Predicates.isUnitTerm (Model.fieldTerm field)) isUnitVariant) (Right []) (Eithers.bind (encode (Model.fieldTerm field)) (\parg -> Right [+ parg]))) (\args ->+ let deconflictedName = deconflictVariantName True env tname fname (PythonEnvironment.pythonEnvironmentGraph env)+ in (Right (Utils.castTo (PythonNames.typeVariableReference env tname) (Utils.functionCall (Utils.pyNameToPyPrimary deconflictedName) args))))))))+ Model.TermUnit -> Right (Utils.pyNameToPyExpression Utils.pyNone)+ Model.TermVariable v0 -> encodeVariable cx env v0 []+ Model.TermWrap v0 ->+ let tname = Model.wrappedTermTypeName v0+ inner = Model.wrappedTermBody v0+ in (Eithers.bind (encode inner) (\parg -> Right (Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeNameQualified env tname)) [+ parg])))++-- | Encode a term to a list of statements with return as final statement+encodeTermMultiline :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Model.Term -> Either Errors.Error [Syntax.Statement]+encodeTermMultiline cx env term =++ let dfltLogic =+ Eithers.bind (analyzePythonFunction cx env term) (\fs ->+ let params = Typing.functionStructureParams fs+ bindings = Typing.functionStructureBindings fs+ innerBody = Typing.functionStructureBody fs+ env2 = Typing.functionStructureEnvironment fs+ in (Logic.ifElse (Lists.isEmpty bindings) (Eithers.bind (encodeTermInline cx env False term) (\expr -> Right [+ Utils.returnSingle expr])) (Eithers.bind (Eithers.mapList (encodeBindingAs cx env2) bindings) (\bindingStmts -> Eithers.bind (encodeTermMultiline cx env2 innerBody) (\bodyStmts -> Right (Lists.concat2 bindingStmts bodyStmts))))))+ gathered = Analysis.gatherApplications term+ args = Pairs.first gathered+ body = Pairs.second gathered+ in (Logic.ifElse (Equality.equal (Lists.length args) 1) (+ let arg = Optionals.withDefault Model.TermUnit (Lists.head args)+ in case (Strip.deannotateAndDetypeTerm body) of+ Model.TermCases v0 ->+ let tname = Model.caseStatementTypeName v0+ dflt = Model.caseStatementDefault v0+ cases_ = Model.caseStatementCases v0+ in (Eithers.bind (Resolution.requireUnionType cx (pythonEnvironmentGetGraph env) tname) (\rt ->+ let isEnum = Predicates.isEnumRowType rt+ isFull = isCasesFull rt cases_+ in (Eithers.bind (encodeTermInline cx env False arg) (\pyArg -> Eithers.bind (Eithers.mapList (caseBlockToExpr cx env tname rt isEnum (\e -> \t -> encodeTermMultiline cx e t)) (deduplicateCaseVariables cases_)) (\pyCases -> Eithers.bind (encodeDefaultCaseBlock (\t -> encodeTermInline cx env False t) isFull dflt tname) (\pyDflt ->+ let subj = Syntax.SubjectExpressionSimple (Syntax.NamedExpressionSimple pyArg)+ matchStmt =+ Syntax.StatementCompound (Syntax.CompoundStatementMatch (Syntax.MatchStatement {+ Syntax.matchStatementSubject = subj,+ Syntax.matchStatementCases = (Lists.concat2 pyCases pyDflt)}))+ in (Right [+ matchStmt])))))))+ _ -> dfltLogic) dfltLogic)++-- | Encode a term body for TCO: tail self-calls become param reassignment + continue+encodeTermMultilineTCO :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Model.Name -> [Model.Name] -> Model.Term -> Either Errors.Error [Syntax.Statement]+encodeTermMultilineTCO cx env funcName paramNames term =++ let stripped = Strip.deannotateAndDetypeTerm term+ gathered = Analysis.gatherApplications stripped+ gatherArgs = Pairs.first gathered+ gatherFun = Pairs.second gathered+ strippedFun = Strip.deannotateAndDetypeTerm gatherFun+ isSelfCall =+ case strippedFun of+ Model.TermVariable v0 -> Equality.equal v0 funcName+ _ -> False+ in (Logic.ifElse (Logic.and isSelfCall (Equality.equal (Lists.length gatherArgs) (Lists.length paramNames))) (Eithers.bind (Eithers.mapList (\a -> encodeTermInline cx env False a) gatherArgs) (\pyArgs ->+ let assignments =+ Lists.map (\pair ->+ let paramName = Pairs.first pair+ pyArg = Pairs.second pair+ in (Utils.assignmentStatement (PythonNames.encodeName False Util.CaseConventionLowerSnake env paramName) pyArg)) (Lists.zip paramNames pyArgs)+ continueStmt = Syntax.StatementSimple [+ Syntax.SimpleStatementContinue]+ in (Right (Lists.concat2 assignments [+ continueStmt])))) (+ let gathered2 = Analysis.gatherApplications term+ args2 = Pairs.first gathered2+ body2 = Pairs.second gathered2+ in (Logic.ifElse (Equality.equal (Lists.length args2) 1) (+ let arg = Optionals.withDefault Model.TermUnit (Lists.head args2)+ in case (Strip.deannotateAndDetypeTerm body2) of+ Model.TermCases v0 ->+ let tname = Model.caseStatementTypeName v0+ dflt = Model.caseStatementDefault v0+ cases_ = Model.caseStatementCases v0+ in (Eithers.bind (Resolution.requireUnionType cx (pythonEnvironmentGetGraph env) tname) (\rt ->+ let isEnum = Predicates.isEnumRowType rt+ isFull = isCasesFull rt cases_+ in (Eithers.bind (encodeTermInline cx env False arg) (\pyArg -> Eithers.bind (Eithers.mapList (caseBlockToExpr cx env tname rt isEnum (\e2 -> \t2 -> encodeTermMultilineTCO cx e2 funcName paramNames t2)) (deduplicateCaseVariables cases_)) (\pyCases -> Eithers.bind (encodeDefaultCaseBlock (\t2 -> encodeTermInline cx env False t2) isFull dflt tname) (\pyDflt ->+ let subj = Syntax.SubjectExpressionSimple (Syntax.NamedExpressionSimple pyArg)+ matchStmt =+ Syntax.StatementCompound (Syntax.CompoundStatementMatch (Syntax.MatchStatement {+ Syntax.matchStatementSubject = subj,+ Syntax.matchStatementCases = (Lists.concat2 pyCases pyDflt)}))+ in (Right [+ matchStmt])))))))+ _ -> Eithers.bind (encodeTermInline cx env False term) (\expr -> Right [+ Utils.returnSingle expr])) (Eithers.bind (encodeTermInline cx env False term) (\expr -> Right [+ Utils.returnSingle expr])))))++-- | Encode a Hydra type to a Python type expression+encodeType :: PythonEnvironment.PythonEnvironment -> Model.Type -> Either t0 Syntax.Expression+encodeType env typ =++ let dflt = Right (Utils.doubleQuotedString (Strings.concat2 "type = " (PrintModel.type_ (Strip.deannotateType typ))))+ in case (Strip.deannotateType typ) of+ Model.TypeApplication v0 -> encodeApplicationType env v0+ Model.TypeFunction v0 -> encodeFunctionType env v0+ Model.TypeForall v0 -> encodeForallType env v0+ Model.TypeList v0 -> Eithers.bind (encodeType env v0) (\pyet -> Right (Utils.nameAndParams (Syntax.Name "Sequence") [+ pyet]))+ Model.TypeMap v0 -> Eithers.bind (encodeType env (Model.mapTypeKeys v0)) (\pykt -> Eithers.bind (encodeType env (Model.mapTypeValues v0)) (\pyvt -> Right (Utils.nameAndParams (Syntax.Name "Mapping") [+ pykt,+ pyvt])))+ Model.TypeLiteral v0 -> encodeLiteralType v0+ Model.TypeOptional v0 -> Eithers.bind (encodeType env v0) (\ptype -> Right (Utils.pyPrimaryToPyExpression (Utils.primaryWithExpressionSlices (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "Optional"))) [+ ptype])))+ Model.TypeEither v0 -> Eithers.bind (encodeType env (Model.eitherTypeLeft v0)) (\pyleft -> Eithers.bind (encodeType env (Model.eitherTypeRight v0)) (\pyright -> Right (Utils.pyPrimaryToPyExpression (Utils.primaryWithExpressionSlices (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "Either"))) [+ pyleft,+ pyright]))))+ Model.TypePair v0 -> Eithers.bind (encodeType env (Model.pairTypeFirst v0)) (\pyFirst -> Eithers.bind (encodeType env (Model.pairTypeSecond v0)) (\pySecond -> Right (Utils.nameAndParams (Syntax.Name "tuple") [+ pyFirst,+ pySecond])))+ Model.TypeRecord _ -> dflt+ Model.TypeSet v0 -> Eithers.bind (encodeType env v0) (\pyet -> Right (Utils.nameAndParams (Syntax.Name "Set") [+ pyet]))+ Model.TypeUnion _ -> dflt+ Model.TypeUnit -> Right (Utils.pyNameToPyExpression Utils.pyNone)+ Model.TypeVoid -> Right (Utils.pyNameToPyExpression Utils.pyNone)+ Model.TypeVariable v0 -> Right (PythonNames.typeVariableReference env v0)+ Model.TypeWrap _ -> dflt+ Model.TypeAnnotated _ -> dflt+ Model.TypeEffect v0 -> encodeType env v0++-- | Encode a type definition, dispatching based on type structure+encodeTypeAssignment :: t0 -> PythonEnvironment.PythonEnvironment -> Model.Name -> Model.Type -> Maybe String -> Either Errors.Error [[Syntax.Statement]]+encodeTypeAssignment cx env name typ comment =+ Eithers.bind (encodeTypeAssignmentInner cx env name typ comment) (\defStmts -> Right (Lists.map (\s -> [+ s]) defStmts))++-- | Encode the inner type definition, unwrapping forall types+encodeTypeAssignmentInner :: t0 -> PythonEnvironment.PythonEnvironment -> Model.Name -> Model.Type -> Maybe String -> Either Errors.Error [Syntax.Statement]+encodeTypeAssignmentInner cx env name typ comment =++ let stripped = Strip.deannotateType typ+ dflt = Eithers.bind (encodeType env typ) (\typeExpr -> Right (encodeTypeDefSingle env name comment typeExpr))+ in case stripped of+ Model.TypeForall v0 ->+ let tvar = Model.forallTypeParameter v0+ body = Model.forallTypeBody v0+ newEnv = extendEnvWithTypeVar env tvar+ in (encodeTypeAssignmentInner cx newEnv name body comment)+ Model.TypeRecord v0 -> Eithers.map (\s -> [+ s]) (encodeRecordType cx env name v0 comment)+ Model.TypeUnion v0 -> encodeUnionType cx env name v0 comment+ Model.TypeWrap v0 -> encodeWrappedType env name v0 comment+ _ -> dflt++-- | Encode a simple type alias definition+encodeTypeDefSingle :: PythonEnvironment.PythonEnvironment -> Model.Name -> Maybe String -> Syntax.Expression -> [Syntax.Statement]+encodeTypeDefSingle env name comment typeExpr =++ let pyName = PythonNames.encodeName False Util.CaseConventionPascal env name+ tparams = environmentTypeParameters env+ in [+ typeAliasStatementFor env pyName tparams comment typeExpr]++-- | Encode a type to a Python expression, quoting if the type has free variables+encodeTypeQuoted :: PythonEnvironment.PythonEnvironment -> Model.Type -> Either t0 Syntax.Expression+encodeTypeQuoted env typ =+ Eithers.bind (encodeType env typ) (\pytype -> Right (Logic.ifElse (Sets.isEmpty (Variables.freeVariablesInType typ)) pytype (Utils.doubleQuotedString (Serialization.printExpr (Serde.expressionToExpr pytype)))))++-- | Encode a union elimination as an inline conditional chain (isinstance-based ternary)+encodeUnionEliminationInline :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Model.CaseStatement -> Syntax.Expression -> Either Errors.Error Syntax.Expression+encodeUnionEliminationInline cx env cs pyArg =++ let tname = Model.caseStatementTypeName cs+ mdefault = Model.caseStatementDefault cs+ cases_ = Model.caseStatementCases cs+ in (Eithers.bind (Resolution.requireUnionType cx (pythonEnvironmentGetGraph env) tname) (\rt ->+ let isEnum = Predicates.isEnumRowType rt+ valueExpr = Utils.projectFromExpression pyArg (Syntax.Name "value")+ isinstancePrimary = Utils.pyNameToPyPrimary (Syntax.Name "isinstance")+ in (Eithers.bind (Optionals.match mdefault (Right (unsupportedExpression "no matching case in inline union elimination")) (\dflt -> encodeTermInline cx env False dflt)) (\pyDefault ->+ let encodeBranch =+ \field ->+ let fname = Model.caseAlternativeName field+ fterm = Model.caseAlternativeHandler field+ isUnitVariant = isVariantUnitType rt fname+ pyVariantName = deconflictVariantName True env tname fname (PythonEnvironment.pythonEnvironmentGraph env)+ pyTypeName = PythonNames.encodeName True Util.CaseConventionPascal env tname+ pyEnumValue = PythonNames.encodeEnumValue env fname+ enumMemberExpr =+ Utils.pyPrimaryToPyExpression (Syntax.PrimaryCompound (Syntax.PrimaryWithRhs {+ Syntax.primaryWithRhsPrimary = (Utils.pyNameToPyPrimary pyTypeName),+ Syntax.primaryWithRhsRhs = (Syntax.PrimaryRhsProject pyEnumValue)}))+ isinstanceCheck =+ Logic.ifElse isEnum (Syntax.ExpressionSimple (Syntax.Disjunction [+ Syntax.Conjunction [+ Syntax.InversionSimple (Syntax.Comparison {+ Syntax.comparisonLhs = (Utils.pyExpressionToBitwiseOr pyArg),+ Syntax.comparisonRhs = [+ Syntax.CompareOpBitwiseOrPair {+ Syntax.compareOpBitwiseOrPairOperator = Syntax.CompareOpEq,+ Syntax.compareOpBitwiseOrPairRhs = (Utils.pyExpressionToBitwiseOr enumMemberExpr)}]})]])) (Utils.functionCall isinstancePrimary [+ pyArg,+ (Utils.pyNameToPyExpression pyVariantName)])+ in (Eithers.bind (encodeTermInline cx env False fterm) (\pyBranch ->+ let pyResult =+ Logic.ifElse isEnum (Utils.functionCall (Utils.pyExpressionToPyPrimary pyBranch) [+ pyArg]) (Logic.ifElse isUnitVariant (Utils.functionCall (Utils.pyExpressionToPyPrimary pyBranch) [+ pyArg]) (Utils.functionCall (Utils.pyExpressionToPyPrimary pyBranch) [+ valueExpr]))+ in (Right (isinstanceCheck, pyResult))))+ in (Eithers.bind (Eithers.mapList encodeBranch cases_) (\encodedBranches ->+ let buildChain =+ \elseExpr -> \branchPair ->+ let checkExpr = Pairs.first branchPair+ resultExpr = Pairs.second branchPair+ in (Syntax.ExpressionConditional (Syntax.Conditional {+ Syntax.conditionalBody = (Utils.pyExpressionToDisjunction resultExpr),+ Syntax.conditionalIf = (Utils.pyExpressionToDisjunction checkExpr),+ Syntax.conditionalElse = elseExpr}))+ in (Right (Lists.foldl buildChain pyDefault (Lists.reverse encodedBranches)))))))))++-- | Encode a union field as a variant class+encodeUnionField :: t0 -> PythonEnvironment.PythonEnvironment -> Model.Name -> Model.FieldType -> Either Errors.Error Syntax.Statement+encodeUnionField cx env unionName fieldType =++ let fname = Model.fieldTypeName fieldType+ ftype = Model.fieldTypeType fieldType+ in (Eithers.bind (Annotations.getTypeDescription cx (pythonEnvironmentGetGraph env) ftype) (\fcomment ->+ let isUnit = Equality.equal (Strip.deannotateType ftype) Model.TypeUnit+ isDecimal = Equality.equal (Strip.deannotateType ftype) (Model.TypeLiteral Model.LiteralTypeDecimal)+ varName = deconflictVariantName False env unionName fname (PythonEnvironment.pythonEnvironmentGraph env)+ tparamNames = findTypeParams env ftype+ tparamPyNames = Lists.map PythonNames.encodeTypeVariable tparamNames+ fieldParams = Lists.map Utils.pyNameToPyTypeParameter tparamPyNames+ body =+ Logic.ifElse isUnit (Utils.indentedBlock fcomment [+ Utils.unitVariantMethods varName]) (Logic.ifElse isDecimal (Utils.indentedBlock fcomment [+ Utils.decimalVariantMethods]) (Utils.indentedBlock fcomment []))+ in (Eithers.bind (Logic.ifElse isUnit (Right Nothing) (Eithers.bind (encodeTypeQuoted env ftype) (\quotedType -> Right (Just (variantArgs quotedType []))))) (\margs -> Right (Utils.pyClassDefinitionToPyStatement (Syntax.ClassDefinition {+ Syntax.classDefinitionDecorators = Nothing,+ Syntax.classDefinitionName = varName,+ Syntax.classDefinitionTypeParams = fieldParams,+ Syntax.classDefinitionArguments = margs,+ Syntax.classDefinitionBody = body}))))))++-- | Encode a union field as a primary expression for | alternatives+encodeUnionFieldAlt :: PythonEnvironment.PythonEnvironment -> Model.Name -> Model.FieldType -> Syntax.Primary+encodeUnionFieldAlt env unionName fieldType =++ let fname = Model.fieldTypeName fieldType+ ftype = Model.fieldTypeType fieldType+ tparamNames = findTypeParams env ftype+ tparams = Lists.map PythonNames.encodeTypeVariable tparamNames+ namePrim = Utils.pyNameToPyPrimary (PythonNames.variantName False env unionName fname)+ in (Logic.ifElse (Lists.isEmpty tparams) namePrim (+ let tparamExprs = Lists.map Utils.pyNameToPyExpression tparams+ in (Utils.primaryWithExpressionSlices namePrim tparamExprs)))++-- | Encode a union type as an enum (for unit-only fields) or variant classes+encodeUnionType :: t0 -> PythonEnvironment.PythonEnvironment -> Model.Name -> [Model.FieldType] -> Maybe String -> Either Errors.Error [Syntax.Statement]+encodeUnionType cx env name rowType comment =+ Logic.ifElse (Predicates.isEnumRowType rowType) (Eithers.bind (Eithers.mapList (encodeEnumValueAssignment cx env) rowType) (\vals ->+ let body = Utils.indentedBlock comment vals+ enumName = Syntax.Name "Enum"+ args = Just (Utils.pyExpressionsToPyArgs [+ Utils.pyNameToPyExpression enumName])+ pyName = PythonNames.encodeName False Util.CaseConventionPascal env name+ typeConstStmt =+ Utils.dottedAssignmentStatement pyName (PythonNames.encodeConstantForTypeName env name) (Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeName True Util.CaseConventionPascal env (Model.Name "hydra.core.model.Name"))) [+ Utils.doubleQuotedString (Model.unName name)])+ in (Right [+ Utils.pyClassDefinitionToPyStatement (Syntax.ClassDefinition {+ Syntax.classDefinitionDecorators = Nothing,+ Syntax.classDefinitionName = pyName,+ Syntax.classDefinitionTypeParams = [],+ Syntax.classDefinitionArguments = args,+ Syntax.classDefinitionBody = body}),+ typeConstStmt]))) (+ let constStmts = encodeNameConstants env name rowType+ in (Eithers.bind (Eithers.mapList (encodeUnionField cx env name) rowType) (\fieldStmts ->+ let tparams = environmentTypeParameters env+ unionAlts = Lists.map (encodeUnionFieldAlt env name) rowType+ unionStmts =+ unionTypeStatementsFor env (PythonNames.encodeName False Util.CaseConventionPascal env name) tparams comment (Utils.orExpression unionAlts) constStmts+ in (Right (Lists.concat2 fieldStmts unionStmts)))))++-- | Encode a variable reference to a Python expression+encodeVariable :: t0 -> PythonEnvironment.PythonEnvironment -> Model.Name -> [Syntax.Expression] -> Either Errors.Error Syntax.Expression+encodeVariable cx env name args =++ let g = pythonEnvironmentGetGraph env+ tc = PythonEnvironment.pythonEnvironmentGraph env+ tcTypes = Graph.graphBoundTypes tc+ tcLambdaVars = Graph.graphLambdaVariables tc+ tcMetadata = Graph.graphMetadata tc+ inlineVars = PythonEnvironment.pythonEnvironmentInlineVariables env+ mTypScheme = Maps.lookup name tcTypes+ mTyp = Optionals.map (\ts_ -> Model.typeSchemeBody ts_) mTypScheme+ asVariable = PythonNames.termVariableReference env name+ asFunctionCall =+ Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeName True Util.CaseConventionLowerSnake env name)) args+ asLazyCall = Utils.functionCall (Utils.pyExpressionToPyPrimary (lazyDotGet asVariable)) args+ in (Logic.ifElse (Logic.not (Lists.isEmpty args)) (Logic.ifElse (Sets.member name inlineVars) (Right asLazyCall) (Optionals.match (Lexical.lookupPrimitive g name) (Right asFunctionCall) (\prim ->+ let primArity = Arity.primitiveArity prim+ in (Logic.ifElse (Equality.equal primArity (Lists.length args)) (Right asFunctionCall) (+ let numRemaining = Math.sub primArity (Lists.length args)+ remainingParams =+ Lists.map (\i -> Syntax.Name (Strings.concat2 "x" (Literals.printInt32 i))) (Math.range 1 (Math.add numRemaining 1))+ remainingExprs =+ Lists.map (\n -> Syntax.ExpressionSimple (Syntax.Disjunction [+ Syntax.Conjunction [+ Syntax.InversionSimple (Syntax.Comparison {+ Syntax.comparisonLhs = Syntax.BitwiseOr {+ Syntax.bitwiseOrLhs = Nothing,+ Syntax.bitwiseOrRhs = Syntax.BitwiseXor {+ Syntax.bitwiseXorLhs = Nothing,+ Syntax.bitwiseXorRhs = Syntax.BitwiseAnd {+ Syntax.bitwiseAndLhs = Nothing,+ Syntax.bitwiseAndRhs = Syntax.ShiftExpression {+ Syntax.shiftExpressionLhs = Nothing,+ Syntax.shiftExpressionRhs = Syntax.Sum {+ Syntax.sumLhs = Nothing,+ Syntax.sumRhs = Syntax.Term {+ Syntax.termLhs = Nothing,+ Syntax.termRhs = (Syntax.FactorSimple (Syntax.Power {+ Syntax.powerLhs = Syntax.AwaitPrimary {+ Syntax.awaitPrimaryAwait = False,+ Syntax.awaitPrimaryPrimary = (Syntax.PrimarySimple (Syntax.AtomName n))},+ Syntax.powerRhs = Nothing}))}}}}}},+ Syntax.comparisonRhs = []})]])) remainingParams+ allArgs = Lists.concat2 args remainingExprs+ fullCall =+ Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeName True Util.CaseConventionLowerSnake env name)) allArgs+ in (Right (makeUncurriedLambda remainingParams fullCall))))))) (Optionals.match mTyp (Logic.ifElse (Sets.member name tcLambdaVars) (Right asVariable) (Logic.ifElse (Sets.member name inlineVars) (Right (lazyDotGet asVariable)) (Optionals.match (Lexical.lookupPrimitive g name) (Optionals.match (Lexical.lookupBinding g name) (Optionals.match (Maps.lookup name tcMetadata) (Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "Unknown variable: " (Model.unName name))))) (\_ -> Right asFunctionCall)) (\el ->+ let elTrivial1 = Predicates.isTrivialTerm (Model.bindingTerm el)+ in (Optionals.match (Model.bindingTypeScheme el) (Right asVariable) (\ts -> Logic.ifElse (Logic.and (Logic.and (Equality.equal (Arity.typeSchemeArity ts) 0) (Predicates.isComplexBinding tc el)) (Logic.not elTrivial1)) (Right asFunctionCall) (+ let asFunctionRef =+ Logic.ifElse (Logic.not (Lists.isEmpty (Model.typeSchemeVariables ts))) (makeSimpleLambda (Arity.typeArity (Model.typeSchemeBody ts)) asVariable) asVariable+ in (Right asFunctionRef)))))) (\prim ->+ let primArity = Arity.primitiveArity prim+ in (Logic.ifElse (Equality.equal primArity 0) (Right asFunctionCall) (+ let ts = Scoping.termSignatureToTypeScheme (Packaging.primitiveDefinitionSignature (Graph.primitiveDefinition prim))+ asFunctionRef =+ Logic.ifElse (Logic.not (Lists.isEmpty (Model.typeSchemeVariables ts))) (makeSimpleLambda (Arity.typeArity (Model.typeSchemeBody ts)) asVariable) asVariable+ in (Right asFunctionRef))))))) (\typ -> Logic.ifElse (Sets.member name tcLambdaVars) (Right asVariable) (Logic.ifElse (Sets.member name inlineVars) (+ let unwrapped = lazyDotGet asVariable+ asFunctionRef =+ Logic.ifElse (Logic.not (Sets.isEmpty (Variables.freeVariablesInType typ))) (makeSimpleLambda (Arity.typeArity typ) unwrapped) unwrapped+ in (Right asFunctionRef)) (Logic.ifElse (Logic.not (Maps.member name tcMetadata)) (Optionals.match (Lexical.lookupBinding g name) (+ let asFunctionRef =+ Logic.ifElse (Logic.not (Sets.isEmpty (Variables.freeVariablesInType typ))) (makeSimpleLambda (Arity.typeArity typ) asVariable) asVariable+ in (Right asFunctionRef)) (\el ->+ let elTrivial = Predicates.isTrivialTerm (Model.bindingTerm el)+ in (Optionals.match (Model.bindingTypeScheme el) (Logic.ifElse (Logic.and (Equality.equal (Arity.typeArity typ) 0) (Logic.not elTrivial)) (Right asFunctionCall) (+ let asFunctionRef =+ Logic.ifElse (Logic.not (Sets.isEmpty (Variables.freeVariablesInType typ))) (makeSimpleLambda (Arity.typeArity typ) asVariable) asVariable+ in (Right asFunctionRef))) (\ts -> Logic.ifElse (Logic.and (Logic.and (Equality.equal (Arity.typeArity typ) 0) (Predicates.isComplexBinding tc el)) (Logic.not elTrivial)) (Right asFunctionCall) (+ let asFunctionRef =+ Logic.ifElse (Logic.not (Sets.isEmpty (Variables.freeVariablesInType typ))) (makeSimpleLambda (Arity.typeArity typ) asVariable) asVariable+ in (Right asFunctionRef)))))) (Logic.ifElse (Logic.and (Equality.equal (Arity.typeArity typ) 0) (Predicates.isComplexVariable tc name)) (Right asFunctionCall) (+ let asFunctionRef =+ Logic.ifElse (Logic.not (Sets.isEmpty (Variables.freeVariablesInType typ))) (makeSimpleLambda (Arity.typeArity typ) asVariable) asVariable+ in (Right asFunctionRef))))))))++-- | Encode a wrapped type (newtype) to a Python class definition+encodeWrappedType :: PythonEnvironment.PythonEnvironment -> Model.Name -> Model.Type -> Maybe String -> Either t0 [Syntax.Statement]+encodeWrappedType env name typ comment =++ let tparamList = Pairs.first (PythonEnvironment.pythonEnvironmentBoundTypeVariables env)+ in (Eithers.bind (encodeTypeQuoted env typ) (\ptypeQuoted ->+ let pyName = PythonNames.encodeName False Util.CaseConventionPascal env name+ body = Utils.indentedBlock comment []+ typeConstStmt =+ Utils.dottedAssignmentStatement pyName (PythonNames.encodeConstantForTypeName env name) (Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeName True Util.CaseConventionPascal env (Model.Name "hydra.core.model.Name"))) [+ Utils.doubleQuotedString (Model.unName name)])+ in (Right [+ Utils.pyClassDefinitionToPyStatement (Syntax.ClassDefinition {+ Syntax.classDefinitionDecorators = Nothing,+ Syntax.classDefinitionName = pyName,+ Syntax.classDefinitionTypeParams = (Lists.map (\arg_ -> Utils.pyNameToPyTypeParameter (PythonNames.encodeTypeVariable arg_)) (findTypeParams env typ)),+ Syntax.classDefinitionArguments = (Just (variantArgs ptypeQuoted tparamList)),+ Syntax.classDefinitionBody = body}),+ typeConstStmt])))++-- | Create a value pattern for an enum variant+enumVariantPattern :: PythonEnvironment.PythonEnvironment -> Model.Name -> Model.Name -> Syntax.ClosedPattern+enumVariantPattern env typeName fieldName =+ Syntax.ClosedPatternValue (Syntax.ValuePattern (Syntax.Attribute [+ PythonNames.encodeName True Util.CaseConventionPascal env typeName,+ (PythonNames.encodeEnumValue env fieldName)]))++-- | Get type parameters from environment as Python TypeParameters+environmentTypeParameters :: PythonEnvironment.PythonEnvironment -> [Syntax.TypeParameter]+environmentTypeParameters env =+ Lists.map (\arg_ -> Utils.pyNameToPyTypeParameter (PythonNames.encodeTypeVariable arg_)) (Pairs.first (PythonEnvironment.pythonEnvironmentBoundTypeVariables env))++-- | Extend environment with lambda parameters from a term+extendEnvWithLambdaParams :: PythonEnvironment.PythonEnvironment -> Model.Term -> PythonEnvironment.PythonEnvironment+extendEnvWithLambdaParams env term =++ let go =+ \e -> \t -> case (Strip.deannotateAndDetypeTerm t) of+ Model.TermLambda v0 ->+ let newTc = Scoping.extendGraphForLambda (pythonEnvironmentGetGraph e) v0+ newEnv = pythonEnvironmentSetGraph newTc e+ in (go newEnv (Model.lambdaBody v0))+ _ -> e+ in (go env term)++-- | Extend a PythonEnvironment with a new bound type variable+extendEnvWithTypeVar :: PythonEnvironment.PythonEnvironment -> Model.Name -> PythonEnvironment.PythonEnvironment+extendEnvWithTypeVar env var_ =++ let oldBound = PythonEnvironment.pythonEnvironmentBoundTypeVariables env+ tparamList = Pairs.first oldBound+ tparamMap = Pairs.second oldBound+ newList = Lists.concat2 tparamList [+ var_]+ newMap = Maps.insert var_ (PythonNames.encodeTypeVariable var_) tparamMap+ in PythonEnvironment.PythonEnvironment {+ PythonEnvironment.pythonEnvironmentNamespaces = (PythonEnvironment.pythonEnvironmentNamespaces env),+ PythonEnvironment.pythonEnvironmentBoundTypeVariables = (newList, newMap),+ PythonEnvironment.pythonEnvironmentGraph = (PythonEnvironment.pythonEnvironmentGraph env),+ PythonEnvironment.pythonEnvironmentNullaryBindings = (PythonEnvironment.pythonEnvironmentNullaryBindings env),+ PythonEnvironment.pythonEnvironmentVersion = (PythonEnvironment.pythonEnvironmentVersion env),+ PythonEnvironment.pythonEnvironmentSkipCasts = (PythonEnvironment.pythonEnvironmentSkipCasts env),+ PythonEnvironment.pythonEnvironmentInlineVariables = (PythonEnvironment.pythonEnvironmentInlineVariables env),+ PythonEnvironment.pythonEnvironmentOverlaySubs = (PythonEnvironment.pythonEnvironmentOverlaySubs env)}++-- | Extend metadata based on a term (used during module encoding)+extendMetaForTerm :: Bool -> PythonEnvironment.PythonModuleMetadata -> Model.Term -> PythonEnvironment.PythonModuleMetadata+extendMetaForTerm topLevel meta0 term =++ let step =+ \meta -> \t -> case t of+ Model.TermEither v0 ->+ let metaWithCast = setMetaUsesCast True meta+ in (Eithers.either (\_ -> setMetaUsesLeft metaWithCast True) (\_ -> setMetaUsesRight metaWithCast True) v0)+ Model.TermLambda v0 -> Optionals.match (Model.lambdaDomain v0) meta (\dom -> Logic.ifElse topLevel (extendMetaForType True False dom meta) meta)+ Model.TermLet v0 ->+ let bindings = Model.letBindings v0+ in (Lists.foldl (+ let forBinding =+ \m -> \b -> Optionals.match (Model.bindingTypeScheme b) m (\ts ->+ let term1 = Model.bindingTerm b+ in (Logic.ifElse (Analysis.isSimpleAssignment term1) m (extendMetaForType True True (Model.typeSchemeBody ts) m)))+ in forBinding) meta bindings)+ Model.TermLiteral v0 -> case v0 of+ Model.LiteralDecimal _ -> setMetaUsesDecimal meta True+ _ -> meta+ Model.TermList _ -> setMetaUsesFrozenList meta True+ Model.TermMap _ -> setMetaUsesFrozenDict meta True+ Model.TermSet _ -> setMetaUsesFrozenSet meta True+ Model.TermOptional v0 -> Optionals.match v0 (setMetaUsesNothing meta True) (\_ -> setMetaUsesJust meta True)+ Model.TermInject _ -> setMetaUsesCast True meta+ _ -> meta+ in (Rewriting.foldOverTerm Coders.TraversalOrderPre step meta0 term)++-- | Extend metadata based on a type (used during module encoding)+extendMetaForType :: Bool -> Bool -> Model.Type -> PythonEnvironment.PythonModuleMetadata -> PythonEnvironment.PythonModuleMetadata+extendMetaForType topLevel isTermAnnot typ meta =++ let currentTvars = PythonEnvironment.pythonModuleMetadataTypeVariables meta+ newTvars = collectTypeVariables currentTvars typ+ metaWithTvars = setMetaTypeVariables meta newTvars+ metaWithSubtypes = Lists.foldl (\m -> \t -> extendMetaForType False isTermAnnot t m) metaWithTvars (Rewriting.subtypes typ)+ in case (Strip.deannotateType typ) of+ Model.TypeFunction _ -> Logic.ifElse (Logic.and isTermAnnot topLevel) metaWithSubtypes (setMetaUsesCallable metaWithSubtypes True)+ Model.TypeList _ -> setMetaUsesFrozenList metaWithSubtypes True+ Model.TypeMap _ -> setMetaUsesFrozenDict metaWithSubtypes True+ Model.TypeSet _ -> setMetaUsesFrozenSet metaWithSubtypes True+ Model.TypeOptional _ -> setMetaUsesMaybe metaWithSubtypes True+ Model.TypeEither _ -> setMetaUsesEither metaWithSubtypes True+ Model.TypeLiteral v0 -> case v0 of+ Model.LiteralTypeDecimal -> setMetaUsesDecimal metaWithSubtypes True+ _ -> metaWithSubtypes+ Model.TypeUnion v0 -> Logic.ifElse (Predicates.isEnumRowType v0) (setMetaUsesEnum metaWithSubtypes True) (Logic.ifElse (Logic.not (Lists.isEmpty v0)) (setMetaUsesNode metaWithSubtypes True) metaWithSubtypes)+ Model.TypeForall v0 ->+ let body = Model.forallTypeBody v0+ metaForWrap = digForWrap isTermAnnot metaWithSubtypes body+ in case (Strip.deannotateType body) of+ Model.TypeRecord _ -> setMetaUsesGeneric metaForWrap True+ _ -> metaForWrap+ Model.TypeRecord v0 ->+ let hasAnnotated = Lists.foldl (\b -> \ft -> Logic.or b (Annotations.hasTypeDescription (Model.fieldTypeType ft))) False v0+ meta1 = Logic.ifElse (Lists.isEmpty v0) metaWithSubtypes (setMetaUsesDataclass metaWithSubtypes True)+ in (Logic.ifElse hasAnnotated (setMetaUsesAnnotated meta1 True) meta1)+ Model.TypeWrap _ -> Logic.ifElse isTermAnnot metaWithSubtypes (setMetaUsesNode metaWithSubtypes True)+ _ -> metaWithSubtypes++-- | Extend metadata for a list of types+extendMetaForTypes :: [Model.Type] -> PythonEnvironment.PythonModuleMetadata -> PythonEnvironment.PythonModuleMetadata+extendMetaForTypes types meta =++ let names = Sets.unions (Lists.map (\t -> Dependencies.typeDependencyNames False t) types)+ currentNs = PythonEnvironment.pythonModuleMetadataNamespaces meta+ updatedNs = Analysis.addNamesToModuleNames (PythonNames.encodeNamespaceWithOverrides Sets.empty) names currentNs+ meta1 = setMetaNamespaces updatedNs meta+ in (Lists.foldl (\m -> \t -> extendMetaForType True False t m) meta1 types)++-- | Extract CaseStatement from a case elimination term+extractCaseElimination :: Model.Term -> Maybe Model.CaseStatement+extractCaseElimination term =+ case (Strip.deannotateAndDetypeTerm term) of+ Model.TermCases v0 -> Just v0+ _ -> Nothing++-- | Prefer signature parameter types over analysis-captured lambda domains when both are available in equal length (#488).+fillDomsFromSignature :: [t0] -> [t0] -> [t0]+fillDomsFromSignature doms sigParamTypes =+ Logic.ifElse (Equality.equal (Lists.length doms) (Lists.length sigParamTypes)) sigParamTypes doms++-- | Find type parameters in a type that are bound in the environment+findTypeParams :: PythonEnvironment.PythonEnvironment -> Model.Type -> [Model.Name]+findTypeParams env typ =++ let boundVars = Pairs.second (PythonEnvironment.pythonEnvironmentBoundTypeVariables env)+ isBound = \v -> Optionals.isGiven (Maps.lookup v boundVars)+ in (Lists.filter isBound (Sets.toList (Variables.freeVariablesInType typ)))++-- | Encode a function definition with parameters and body+functionDefinitionToExpr :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Model.Name -> [Model.Name] -> [Model.Name] -> Model.Term -> [Model.Type] -> Maybe Model.Type -> Maybe String -> [Syntax.Statement] -> Either Errors.Error Syntax.Statement+functionDefinitionToExpr cx env name tparams args body doms mcod comment prefixes =+ Eithers.bind (Eithers.mapList (\pair ->+ let argName = Pairs.first pair+ typ = Pairs.second pair+ in (Eithers.bind (encodeType env typ) (\pyTyp -> Right (Syntax.ParamNoDefault {+ Syntax.paramNoDefaultParam = Syntax.Param {+ Syntax.paramName = (PythonNames.encodeName False Util.CaseConventionLowerSnake env argName),+ Syntax.paramAnnotation = (Just (Syntax.Annotation pyTyp))},+ Syntax.paramNoDefaultTypeComment = Nothing})))) (Lists.zip args doms)) (\pyArgs ->+ let pyParams =+ Syntax.ParametersParamNoDefault (Syntax.ParamNoDefaultParameters {+ Syntax.paramNoDefaultParametersParamNoDefault = pyArgs,+ Syntax.paramNoDefaultParametersParamWithDefault = [],+ Syntax.paramNoDefaultParametersStarEtc = Nothing})+ isTCO = Logic.and (Logic.not (Lists.isEmpty args)) (Analysis.isSelfTailRecursive name body)+ in (Eithers.bind (Logic.ifElse isTCO (Eithers.bind (encodeTermMultilineTCO cx env name args body) (\tcoStmts ->+ let trueExpr = Syntax.NamedExpressionSimple (Utils.pyAtomToPyExpression Syntax.AtomTrue)+ whileBody = Utils.indentedBlock Nothing [+ Lists.concat2 prefixes tcoStmts]+ whileStmt =+ Syntax.StatementCompound (Syntax.CompoundStatementWhile (Syntax.WhileStatement {+ Syntax.whileStatementCondition = trueExpr,+ Syntax.whileStatementBody = whileBody,+ Syntax.whileStatementElse = Nothing}))+ in (Right (Utils.indentedBlock comment [+ [+ whileStmt]])))) (Eithers.bind (encodeTermMultiline cx env body) (\stmts -> Right (Utils.indentedBlock comment [+ Lists.concat2 prefixes stmts])))) (\block -> Eithers.bind (Optionals.match mcod (Right Nothing) (\cod -> Eithers.bind (encodeType env cod) (\pytyp -> Right (Just pytyp)))) (\mreturnType ->+ let pyTparams =+ Logic.ifElse useInlineTypeParams (Lists.map (\arg_ -> Utils.pyNameToPyTypeParameter (PythonNames.encodeTypeVariable arg_)) tparams) []+ isThunk = Lists.isEmpty args+ mDecorators = Logic.ifElse isThunk (Just (Syntax.Decorators [+ lruCacheDecorator])) Nothing+ pyName = PythonNames.encodeName False Util.CaseConventionLowerSnake env name+ in (Right (Syntax.StatementCompound (Syntax.CompoundStatementFunction (Syntax.FunctionDefinition {+ Syntax.functionDefinitionDecorators = mDecorators,+ Syntax.functionDefinitionRaw = Syntax.FunctionDefRaw {+ Syntax.functionDefRawAsync = False,+ Syntax.functionDefRawName = pyName,+ Syntax.functionDefRawTypeParams = pyTparams,+ Syntax.functionDefRawParams = (Just pyParams),+ Syntax.functionDefRawReturnType = mreturnType,+ Syntax.functionDefRawFuncTypeComment = Nothing,+ Syntax.functionDefRawBlock = block}}))))))))++-- | Extract lambdas and their bodies from a term+gatherLambdas :: Model.Term -> ([Model.Name], Model.Term)+gatherLambdas term =++ let go =+ \params -> \t -> case (Strip.deannotateAndDetypeTerm t) of+ Model.TermLambda v0 -> go (Lists.concat2 params [+ Model.lambdaParameter v0]) (Model.lambdaBody v0)+ _ -> (params, t)+ in (go [] term)++-- | Gather metadata from definitions+gatherMetadata :: S.Set String -> Packaging.ModuleName -> [Packaging.Definition] -> PythonEnvironment.PythonModuleMetadata+gatherMetadata overlaySubs focusNs defs =++ let start = emptyMetadata (Utils.findNamespaces overlaySubs focusNs defs)+ addDef =+ \meta -> \def -> case def of+ Packaging.DefinitionTerm v0 ->+ let term = Packaging.termDefinitionBody v0+ typ =+ Optionals.match (Packaging.termDefinitionSignature v0) (Model.TypeVariable (Model.Name "hydra.core.model.Unit")) (\sig -> Model.typeSchemeBody (Scoping.termSignatureToTypeScheme sig))+ meta2 = extendMetaForType True True typ meta+ in (extendMetaForTerm True meta2 term)+ Packaging.DefinitionType v0 ->+ let typ = Model.typeSchemeBody (Packaging.typeDefinitionBody v0)+ meta2 = setMetaUsesName meta True+ in (Rewriting.foldOverType Coders.TraversalOrderPre (\m -> \t -> extendMetaForType True False t m) meta2 typ)+ result = Lists.foldl addDef start defs+ tvars = PythonEnvironment.pythonModuleMetadataTypeVariables result+ result2 = setMetaUsesCast True (setMetaUsesLruCache True result)+ in (setMetaUsesTypeVar result2 (Logic.not (Sets.isEmpty tvars)))++-- | Create Generic[...] argument expression for class definition+genericArg :: [Model.Name] -> Maybe Syntax.Expression+genericArg tparamList =+ Logic.ifElse (Lists.isEmpty tparamList) Nothing (Just (Utils.pyPrimaryToPyExpression (Utils.primaryWithExpressionSlices (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "Generic"))) (Lists.map (\n -> Syntax.ExpressionSimple (Syntax.Disjunction [+ Syntax.Conjunction [+ Syntax.InversionSimple (Syntax.Comparison {+ Syntax.comparisonLhs = Syntax.BitwiseOr {+ Syntax.bitwiseOrLhs = Nothing,+ Syntax.bitwiseOrRhs = Syntax.BitwiseXor {+ Syntax.bitwiseXorLhs = Nothing,+ Syntax.bitwiseXorRhs = Syntax.BitwiseAnd {+ Syntax.bitwiseAndLhs = Nothing,+ Syntax.bitwiseAndRhs = Syntax.ShiftExpression {+ Syntax.shiftExpressionLhs = Nothing,+ Syntax.shiftExpressionRhs = Syntax.Sum {+ Syntax.sumLhs = Nothing,+ Syntax.sumRhs = Syntax.Term {+ Syntax.termLhs = Nothing,+ Syntax.termRhs = (Syntax.FactorSimple (Syntax.Power {+ Syntax.powerLhs = Syntax.AwaitPrimary {+ Syntax.awaitPrimaryAwait = False,+ Syntax.awaitPrimaryPrimary = (Syntax.PrimarySimple (Syntax.AtomName (PythonNames.encodeTypeVariable n)))},+ Syntax.powerRhs = Nothing}))}}}}}},+ Syntax.comparisonRhs = []})]])) tparamList))))++-- | Create an initial Python environment for code generation, given the on-disk overlay-existence set (#630) driving emission-time primitive-reference redirects+initialEnvironment :: Util.ModuleNames Syntax.DottedName -> Graph.Graph -> S.Set String -> PythonEnvironment.PythonEnvironment+initialEnvironment namespaces tcontext overlaySubs =+ PythonEnvironment.PythonEnvironment {+ PythonEnvironment.pythonEnvironmentNamespaces = namespaces,+ PythonEnvironment.pythonEnvironmentBoundTypeVariables = ([], Maps.empty),+ PythonEnvironment.pythonEnvironmentGraph = tcontext,+ PythonEnvironment.pythonEnvironmentNullaryBindings = Sets.empty,+ PythonEnvironment.pythonEnvironmentVersion = targetPythonVersion,+ PythonEnvironment.pythonEnvironmentSkipCasts = True,+ PythonEnvironment.pythonEnvironmentInlineVariables = Sets.empty,+ PythonEnvironment.pythonEnvironmentOverlaySubs = overlaySubs}++-- | Create initial empty metadata for a Python module+initialMetadata :: Packaging.ModuleName -> PythonEnvironment.PythonModuleMetadata+initialMetadata ns =++ let dottedNs = PythonNames.encodeNamespace ns+ emptyNs =+ Util.ModuleNames {+ Util.moduleNamesFocus = (ns, dottedNs),+ Util.moduleNamesMapping = Maps.empty}+ in PythonEnvironment.PythonModuleMetadata {+ PythonEnvironment.pythonModuleMetadataNamespaces = emptyNs,+ PythonEnvironment.pythonModuleMetadataTypeVariables = Sets.empty,+ PythonEnvironment.pythonModuleMetadataUsesAnnotated = False,+ PythonEnvironment.pythonModuleMetadataUsesCallable = False,+ PythonEnvironment.pythonModuleMetadataUsesCast = False,+ PythonEnvironment.pythonModuleMetadataUsesLruCache = False,+ PythonEnvironment.pythonModuleMetadataUsesTypeAlias = False,+ PythonEnvironment.pythonModuleMetadataUsesDataclass = False,+ PythonEnvironment.pythonModuleMetadataUsesDecimal = False,+ PythonEnvironment.pythonModuleMetadataUsesEither = False,+ PythonEnvironment.pythonModuleMetadataUsesEnum = False,+ PythonEnvironment.pythonModuleMetadataUsesFrozenDict = False,+ PythonEnvironment.pythonModuleMetadataUsesFrozenList = False,+ PythonEnvironment.pythonModuleMetadataUsesFrozenSet = False,+ PythonEnvironment.pythonModuleMetadataUsesGeneric = False,+ PythonEnvironment.pythonModuleMetadataUsesJust = False,+ PythonEnvironment.pythonModuleMetadataUsesLeft = False,+ PythonEnvironment.pythonModuleMetadataUsesMaybe = False,+ PythonEnvironment.pythonModuleMetadataUsesName = False,+ PythonEnvironment.pythonModuleMetadataUsesNode = False,+ PythonEnvironment.pythonModuleMetadataUsesNothing = False,+ PythonEnvironment.pythonModuleMetadataUsesRight = False,+ PythonEnvironment.pythonModuleMetadataUsesTypeVar = False}++-- | Check if a term is a case statement applied to exactly one argument+isCaseStatementApplication :: Model.Term -> Maybe (Model.Name, (Maybe Model.Term, ([Model.CaseAlternative], Model.Term)))+isCaseStatementApplication term =++ let gathered = Analysis.gatherApplications term+ args = Pairs.first gathered+ body = Pairs.second gathered+ in (Logic.ifElse (Logic.not (Equality.equal (Lists.length args) 1)) Nothing (+ let arg = Optionals.withDefault Model.TermUnit (Lists.head args)+ in case (Strip.deannotateAndDetypeTerm body) of+ Model.TermCases v0 -> Just (Model.caseStatementTypeName v0, (Model.caseStatementDefault v0, (Model.caseStatementCases v0, arg)))+ _ -> Nothing))++-- | Check if union cases are fully covered+isCasesFull :: [t0] -> [t1] -> Bool+isCasesFull rowType cases_ =++ let numCases = Lists.length cases_+ numFields = Lists.length rowType+ in (Logic.not (Ordering.lt numCases numFields))++-- | Check whether a list of definitions contains any type definitions+isTypeModuleCheck :: [Packaging.Definition] -> Bool+isTypeModuleCheck defs =+ Logic.not (Lists.isEmpty (Lists.filter (\d -> case d of+ Packaging.DefinitionType _ -> True+ _ -> False) defs))++-- | Check if a name is a type variable (unqualified - no dots)+isTypeVariableName :: Model.Name -> Bool+isTypeVariableName name = Equality.equal 1 (Lists.length (Strings.splitOn "." (Model.unName name)))++-- | Check if a variant field has unit type+isVariantUnitType :: [Model.FieldType] -> Model.Name -> Bool+isVariantUnitType rowType fieldName =++ let mfield = Lists.find (\ft -> Equality.equal (Model.fieldTypeName ft) fieldName) rowType+ in (Optionals.withDefault False (Optionals.map (\ft -> Predicates.isUnitType (Strip.deannotateType (Model.fieldTypeType ft))) mfield))++-- | Wrap an expression in a .get() method call (for Lazy unwrap at use sites)+lazyDotGet :: Syntax.Expression -> Syntax.Expression+lazyDotGet expr = Utils.functionCall (Utils.pyExpressionToPyPrimary (Utils.projectFromExpression expr (Syntax.Name "get"))) []++-- | Per-parameter isLazy flags of a primitive (by name), or empty if not a primitive. Single source of truth for which arguments coders thunk; replaces hard-coded name tables (issue #391).+lazyFlagsForPrimitive :: Graph.Graph -> Model.Name -> [Bool]+lazyFlagsForPrimitive g name =+ Optionals.match (Maps.lookup name (Graph.graphPrimitives g)) [] (\prim ->+ let def0 = Graph.primitiveDefinition prim+ sig = Packaging.primitiveDefinitionSignature def0+ in (Lists.map (\p -> Typing.parameterIsLazy p) (Typing.termSignatureParameters sig)))++-- | Decorator for @lru_cache(1) to memoize zero-argument function results+lruCacheDecorator :: Syntax.NamedExpression+lruCacheDecorator =+ Syntax.NamedExpressionSimple (Utils.functionCall (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "lru_cache"))) [+ pyInt 1])++-- | Create a curried lambda chain from a list of parameter names and a body+makeCurriedLambda :: [Syntax.Name] -> Syntax.Expression -> Syntax.Expression+makeCurriedLambda params body =+ Lists.foldl (\acc -> \p -> Syntax.ExpressionLambda (Syntax.Lambda {+ Syntax.lambdaParams = Syntax.LambdaParameters {+ Syntax.lambdaParametersSlashNoDefault = Nothing,+ Syntax.lambdaParametersParamNoDefault = [+ Syntax.LambdaParamNoDefault p],+ Syntax.lambdaParametersParamWithDefault = [],+ Syntax.lambdaParametersStarEtc = Nothing},+ Syntax.lambdaBody = acc})) body (Lists.reverse params)++-- | Wrap an expression in Lazy(lambda: ...) for one-shot lazy memoization+makeLazy :: Syntax.Expression -> Syntax.Expression+makeLazy pbody =+ Utils.functionCall (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "Lazy"))) [+ wrapInNullaryLambda pbody]++-- | Constructor for PyGraph record+makePyGraph :: Graph.Graph -> PythonEnvironment.PythonModuleMetadata -> PythonEnvironment.PyGraph+makePyGraph g m =+ PythonEnvironment.PyGraph {+ PythonEnvironment.pyGraphGraph = g,+ PythonEnvironment.pyGraphMetadata = m}++-- | Wrap a bare reference to a polymorphic function in an uncurried lambda+makeSimpleLambda :: Int -> Syntax.Expression -> Syntax.Expression+makeSimpleLambda arity lhs =++ let args = Lists.map (\i -> Syntax.Name (Strings.concat2 "x" (Literals.printInt32 i))) (Math.range 1 (Math.add arity 1))+ in (Logic.ifElse (Equality.equal arity 0) lhs (Syntax.ExpressionLambda (Syntax.Lambda {+ Syntax.lambdaParams = Syntax.LambdaParameters {+ Syntax.lambdaParametersSlashNoDefault = Nothing,+ Syntax.lambdaParametersParamNoDefault = (Lists.map (\a -> Syntax.LambdaParamNoDefault a) args),+ Syntax.lambdaParametersParamWithDefault = [],+ Syntax.lambdaParametersStarEtc = Nothing},+ Syntax.lambdaBody = (Utils.functionCall (Utils.pyExpressionToPyPrimary lhs) (Lists.map (\a -> Syntax.ExpressionSimple (Syntax.Disjunction [+ Syntax.Conjunction [+ Syntax.InversionSimple (Syntax.Comparison {+ Syntax.comparisonLhs = Syntax.BitwiseOr {+ Syntax.bitwiseOrLhs = Nothing,+ Syntax.bitwiseOrRhs = Syntax.BitwiseXor {+ Syntax.bitwiseXorLhs = Nothing,+ Syntax.bitwiseXorRhs = Syntax.BitwiseAnd {+ Syntax.bitwiseAndLhs = Nothing,+ Syntax.bitwiseAndRhs = Syntax.ShiftExpression {+ Syntax.shiftExpressionLhs = Nothing,+ Syntax.shiftExpressionRhs = Syntax.Sum {+ Syntax.sumLhs = Nothing,+ Syntax.sumRhs = Syntax.Term {+ Syntax.termLhs = Nothing,+ Syntax.termRhs = (Syntax.FactorSimple (Syntax.Power {+ Syntax.powerLhs = Syntax.AwaitPrimary {+ Syntax.awaitPrimaryAwait = False,+ Syntax.awaitPrimaryPrimary = (Syntax.PrimarySimple (Syntax.AtomName a))},+ Syntax.powerRhs = Nothing}))}}}}}},+ Syntax.comparisonRhs = []})]])) args))})))++-- | Create a thunk (zero-argument lambda) wrapped with lru_cache(1) for memoization+makeThunk :: Syntax.Expression -> Syntax.Expression+makeThunk pbody =+ Utils.functionCall (Utils.pyExpressionToPyPrimary (Utils.functionCall (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "lru_cache"))) [+ pyInt 1])) [+ wrapInNullaryLambda pbody]++-- | Create an uncurried lambda with multiple parameters+makeUncurriedLambda :: [Syntax.Name] -> Syntax.Expression -> Syntax.Expression+makeUncurriedLambda params body =+ Syntax.ExpressionLambda (Syntax.Lambda {+ Syntax.lambdaParams = Syntax.LambdaParameters {+ Syntax.lambdaParametersSlashNoDefault = Nothing,+ Syntax.lambdaParametersParamNoDefault = (Lists.map (\p -> Syntax.LambdaParamNoDefault p) params),+ Syntax.lambdaParametersParamWithDefault = [],+ Syntax.lambdaParametersStarEtc = Nothing},+ Syntax.lambdaBody = body})++-- | Generate domain import statements from namespace mappings+moduleDomainImports :: Util.ModuleNames Syntax.DottedName -> [Syntax.ImportStatement]+moduleDomainImports namespaces =++ let names = Lists.sort (Maps.elems (Util.moduleNamesMapping namespaces))+ in (Lists.map (\ns -> Syntax.ImportStatementName (Syntax.ImportName [+ Syntax.DottedAsName {+ Syntax.dottedAsNameName = ns,+ Syntax.dottedAsNameAs = Nothing}])) names)++-- | Generate all import statements for a Python module+moduleImports :: Util.ModuleNames Syntax.DottedName -> PythonEnvironment.PythonModuleMetadata -> [Syntax.Statement]+moduleImports namespaces meta =+ Lists.map (\imp -> Utils.pySimpleStatementToPyStatement (Syntax.SimpleStatementImport imp)) (Lists.concat [+ moduleStandardImports meta,+ (moduleDomainImports namespaces)])++-- | Generate standard import statements based on module metadata+moduleStandardImports :: PythonEnvironment.PythonModuleMetadata -> [Syntax.ImportStatement]+moduleStandardImports meta =++ let pairs =+ [+ ("__future__", [+ condImportSymbol "annotations" PythonNames.useFutureAnnotations]),+ (+ "collections.abc",+ [+ condImportSymbol "Callable" (PythonEnvironment.pythonModuleMetadataUsesCallable meta),+ (condImportSymbol "Mapping" (PythonEnvironment.pythonModuleMetadataUsesFrozenDict meta)),+ (condImportSymbol "Sequence" (PythonEnvironment.pythonModuleMetadataUsesFrozenList meta)),+ (condImportSymbol "Set" (PythonEnvironment.pythonModuleMetadataUsesFrozenSet meta))]),+ (+ "dataclasses",+ [+ condImportSymbol "dataclass" (PythonEnvironment.pythonModuleMetadataUsesDataclass meta),+ (condImportSymbol "replace" (PythonEnvironment.pythonModuleMetadataUsesDataclass meta))]),+ ("decimal", [+ condImportSymbol "Decimal" (PythonEnvironment.pythonModuleMetadataUsesDecimal meta)]),+ ("enum", [+ condImportSymbol "Enum" (PythonEnvironment.pythonModuleMetadataUsesEnum meta)]),+ ("functools", [+ condImportSymbol "lru_cache" (PythonEnvironment.pythonModuleMetadataUsesLruCache meta)]),+ (+ "hydra.core.overlay.python.dsl.python",+ [+ condImportSymbol "Either" (PythonEnvironment.pythonModuleMetadataUsesEither meta),+ (condImportSymbol "Given" (PythonEnvironment.pythonModuleMetadataUsesJust meta)),+ (condImportSymbol "Left" (PythonEnvironment.pythonModuleMetadataUsesLeft meta)),+ (condImportSymbol "Node" (PythonEnvironment.pythonModuleMetadataUsesNode meta)),+ (condImportSymbol "None_" (PythonEnvironment.pythonModuleMetadataUsesNothing meta)),+ (condImportSymbol "Optional" (PythonEnvironment.pythonModuleMetadataUsesMaybe meta)),+ (condImportSymbol "Right" (PythonEnvironment.pythonModuleMetadataUsesRight meta))]),+ (+ "hydra.core.overlay.python.util",+ [+ condImportSymbol "ConsList" (PythonEnvironment.pythonModuleMetadataUsesFrozenList meta),+ (condImportSymbol "Lazy" True),+ (condImportSymbol "PersistentMap" (PythonEnvironment.pythonModuleMetadataUsesFrozenDict meta)),+ (condImportSymbol "PersistentSet" (PythonEnvironment.pythonModuleMetadataUsesFrozenSet meta))]),+ (+ "hydra.core.overlay.python.util._decimal",+ [+ condImportSymbol "decimal_node_eq" (PythonEnvironment.pythonModuleMetadataUsesDecimal meta),+ (condImportSymbol "decimal_node_hash" (PythonEnvironment.pythonModuleMetadataUsesDecimal meta))]),+ (+ "typing",+ [+ condImportSymbol "Annotated" (PythonEnvironment.pythonModuleMetadataUsesAnnotated meta),+ (condImportSymbol "Generic" (PythonEnvironment.pythonModuleMetadataUsesGeneric meta)),+ (condImportSymbol "TypeAlias" (PythonEnvironment.pythonModuleMetadataUsesTypeAlias meta)),+ (condImportSymbol "TypeVar" (PythonEnvironment.pythonModuleMetadataUsesTypeVar meta)),+ (condImportSymbol "cast" (PythonEnvironment.pythonModuleMetadataUsesCast meta))])]+ simplified =+ Optionals.givens (Lists.map (\p ->+ let modName = Pairs.first p+ symbols = Optionals.givens (Pairs.second p)+ in (Logic.ifElse (Lists.isEmpty symbols) Nothing (Just (modName, symbols)))) pairs)+ in (Lists.map (\p -> standardImportStatement (Pairs.first p) (Pairs.second p)) simplified)++-- | Convert a Hydra module to Python source files+moduleToPython :: S.Set String -> Packaging.Module -> [Packaging.Definition] -> Typing.InferenceContext -> Graph.Graph -> Either Errors.Error (M.Map String String)+moduleToPython overlaySubs mod defs cx g =+ Eithers.bind (encodePythonModule overlaySubs cx g mod defs) (\file ->+ let s = Serialization.printExpr (Serialization.parenthesize (Serde.moduleToExpr file))+ path = CoreNames.moduleNameToFilePath Util.CaseConventionLowerSnake (File.FileExtension "py") (Packaging.moduleName mod)+ in (Right (Maps.singleton path s)))++-- | Accessor for the graph field of PyGraph+pyGraphGraph :: PythonEnvironment.PyGraph -> Graph.Graph+pyGraphGraph pyg = PythonEnvironment.pyGraphGraph pyg++-- | Accessor for the metadata field of PyGraph+pyGraphMetadata :: PythonEnvironment.PyGraph -> PythonEnvironment.PythonModuleMetadata+pyGraphMetadata pyg = PythonEnvironment.pyGraphMetadata pyg++-- | Create integer literal expression+pyInt :: Integer -> Syntax.Expression+pyInt n = Utils.pyAtomToPyExpression (Syntax.AtomNumber (Syntax.NumberInteger n))++-- | Like bindingMetadata, but only for bindings that will actually be thunked+pythonBindingMetadata :: Graph.Graph -> Model.Binding -> Maybe Model.Term+pythonBindingMetadata g b =+ Logic.ifElse (shouldThunkBinding g b) (Logic.ifElse (Predicates.isComplexBinding g b) (Just (Model.TermLiteral (Model.LiteralBoolean True))) Nothing) Nothing++-- | Get the Graph from a PythonEnvironment+pythonEnvironmentGetGraph :: PythonEnvironment.PythonEnvironment -> Graph.Graph+pythonEnvironmentGetGraph env = PythonEnvironment.pythonEnvironmentGraph env++-- | Set the Graph in a PythonEnvironment+pythonEnvironmentSetGraph :: Graph.Graph -> PythonEnvironment.PythonEnvironment -> PythonEnvironment.PythonEnvironment+pythonEnvironmentSetGraph tc env =+ PythonEnvironment.PythonEnvironment {+ PythonEnvironment.pythonEnvironmentNamespaces = (PythonEnvironment.pythonEnvironmentNamespaces env),+ PythonEnvironment.pythonEnvironmentBoundTypeVariables = (PythonEnvironment.pythonEnvironmentBoundTypeVariables env),+ PythonEnvironment.pythonEnvironmentGraph = tc,+ PythonEnvironment.pythonEnvironmentNullaryBindings = (PythonEnvironment.pythonEnvironmentNullaryBindings env),+ PythonEnvironment.pythonEnvironmentVersion = (PythonEnvironment.pythonEnvironmentVersion env),+ PythonEnvironment.pythonEnvironmentSkipCasts = (PythonEnvironment.pythonEnvironmentSkipCasts env),+ PythonEnvironment.pythonEnvironmentInlineVariables = (PythonEnvironment.pythonEnvironmentInlineVariables env),+ PythonEnvironment.pythonEnvironmentOverlaySubs = (PythonEnvironment.pythonEnvironmentOverlaySubs env)}++-- | Build a fluent builder (factory + nested Builder dataclass) for a record+recordBuilderClass :: PythonEnvironment.PythonEnvironment -> Model.Name -> [Model.FieldType] -> Maybe Syntax.Args -> Either t0 [Syntax.Statement]+recordBuilderClass env name rowType recordArgs =+ Eithers.bind (Eithers.mapList (\ft -> Eithers.map (\pyType -> Utils.pyAssignmentToPyStatement (Syntax.AssignmentTyped (Syntax.TypedAssignment {+ Syntax.typedAssignmentLhs = (Syntax.SingleTargetName (Syntax.Name (Strings.concat2 "_" (Syntax.unName (PythonNames.encodeFieldName env (Model.fieldTypeName ft)))))),+ Syntax.typedAssignmentType = pyType,+ Syntax.typedAssignmentRhs = (Just (Syntax.AnnotatedRhsStar [+ Syntax.StarExpressionSimple (Utils.pyNameToPyExpression Utils.pyNone)]))}))) (encodeType env (Model.fieldTypeType ft))) rowType) (\builderFields ->+ let setters = Lists.map (\ft -> recordBuilderSetter env ft) rowType+ pyName = PythonNames.encodeName False Util.CaseConventionPascal env name+ buildKwargs =+ Lists.map (\ft -> Syntax.KwargOrStarredKwarg (Syntax.Kwarg {+ Syntax.kwargName = (Syntax.Name (Syntax.unName (PythonNames.encodeFieldName env (Model.fieldTypeName ft)))),+ Syntax.kwargValue = (Utils.projectFromExpression (Utils.pyNameToPyExpression (Syntax.Name "self")) (Syntax.Name (Strings.concat2 "_" (Syntax.unName (PythonNames.encodeFieldName env (Model.fieldTypeName ft))))))})) rowType+ ctorCall =+ Utils.pyPrimaryToPyExpression (Utils.primaryWithRhs (Utils.pyNameToPyPrimary pyName) (Syntax.PrimaryRhsCall (Syntax.Args {+ Syntax.argsPositional = [],+ Syntax.argsKwargOrStarred = buildKwargs,+ Syntax.argsKwargOrDoubleStarred = []})))+ buildMethod =+ Syntax.StatementCompound (Syntax.CompoundStatementFunction (Syntax.FunctionDefinition {+ Syntax.functionDefinitionDecorators = Nothing,+ Syntax.functionDefinitionRaw = Syntax.FunctionDefRaw {+ Syntax.functionDefRawAsync = False,+ Syntax.functionDefRawName = (Syntax.Name "build"),+ Syntax.functionDefRawTypeParams = [],+ Syntax.functionDefRawParams = (Just (Syntax.ParametersParamNoDefault (Syntax.ParamNoDefaultParameters {+ Syntax.paramNoDefaultParametersParamNoDefault = [+ Syntax.ParamNoDefault {+ Syntax.paramNoDefaultParam = Syntax.Param {+ Syntax.paramName = (Syntax.Name "self"),+ Syntax.paramAnnotation = Nothing},+ Syntax.paramNoDefaultTypeComment = Nothing}],+ Syntax.paramNoDefaultParametersParamWithDefault = [],+ Syntax.paramNoDefaultParametersStarEtc = Nothing}))),+ Syntax.functionDefRawReturnType = Nothing,+ Syntax.functionDefRawFuncTypeComment = Nothing,+ Syntax.functionDefRawBlock = (Utils.indentedBlock Nothing [+ [+ Utils.returnSingle ctorCall]])}}))+ builderBody =+ Utils.indentedBlock Nothing [+ Lists.concat [+ builderFields,+ setters,+ [+ buildMethod]]]+ builderDecs = Just (Syntax.Decorators [+ dataclassDecorator])+ builderClass =+ Utils.pyClassDefinitionToPyStatement (Syntax.ClassDefinition {+ Syntax.classDefinitionDecorators = builderDecs,+ Syntax.classDefinitionName = (Syntax.Name "Builder"),+ Syntax.classDefinitionTypeParams = [],+ Syntax.classDefinitionArguments = recordArgs,+ Syntax.classDefinitionBody = builderBody})+ qualifiedBuilderName = Syntax.Name (Strings.concat2 (Syntax.unName pyName) ".Builder")+ builderCall = Utils.functionCall (Utils.pyNameToPyPrimary qualifiedBuilderName) []+ factoryMethod =+ Syntax.StatementCompound (Syntax.CompoundStatementFunction (Syntax.FunctionDefinition {+ Syntax.functionDefinitionDecorators = (Just (Syntax.Decorators [+ Syntax.NamedExpressionSimple (Utils.pyNameToPyExpression (Syntax.Name "staticmethod"))])),+ Syntax.functionDefinitionRaw = Syntax.FunctionDefRaw {+ Syntax.functionDefRawAsync = False,+ Syntax.functionDefRawName = (Syntax.Name "builder"),+ Syntax.functionDefRawTypeParams = [],+ Syntax.functionDefRawParams = (Just (Syntax.ParametersParamNoDefault (Syntax.ParamNoDefaultParameters {+ Syntax.paramNoDefaultParametersParamNoDefault = [],+ Syntax.paramNoDefaultParametersParamWithDefault = [],+ Syntax.paramNoDefaultParametersStarEtc = Nothing}))),+ Syntax.functionDefRawReturnType = Nothing,+ Syntax.functionDefRawFuncTypeComment = Nothing,+ Syntax.functionDefRawBlock = (Utils.indentedBlock Nothing [+ [+ Utils.returnSingle builderCall]])}}))+ in (Right [+ factoryMethod,+ builderClass]))++-- | Build a fluent setter for the nested Builder of a record+recordBuilderSetter :: PythonEnvironment.PythonEnvironment -> Model.FieldType -> Syntax.Statement+recordBuilderSetter env fieldType =++ let fname = Model.fieldTypeName fieldType+ setterName = builderSetterName env fname+ paramName = Syntax.Name setterName+ storageName = Strings.concat2 "_" (Syntax.unName (PythonNames.encodeFieldName env (Model.fieldTypeName fieldType)))+ kwarg =+ Syntax.KwargOrStarredKwarg (Syntax.Kwarg {+ Syntax.kwargName = (Syntax.Name storageName),+ Syntax.kwargValue = (Utils.pyNameToPyExpression paramName)})+ in (Syntax.StatementCompound (Syntax.CompoundStatementFunction (Syntax.FunctionDefinition {+ Syntax.functionDefinitionDecorators = Nothing,+ Syntax.functionDefinitionRaw = Syntax.FunctionDefRaw {+ Syntax.functionDefRawAsync = False,+ Syntax.functionDefRawName = (Syntax.Name setterName),+ Syntax.functionDefRawTypeParams = [],+ Syntax.functionDefRawParams = (Just (Syntax.ParametersParamNoDefault (Syntax.ParamNoDefaultParameters {+ Syntax.paramNoDefaultParametersParamNoDefault = [+ Syntax.ParamNoDefault {+ Syntax.paramNoDefaultParam = Syntax.Param {+ Syntax.paramName = (Syntax.Name "self"),+ Syntax.paramAnnotation = Nothing},+ Syntax.paramNoDefaultTypeComment = Nothing},+ Syntax.ParamNoDefault {+ Syntax.paramNoDefaultParam = Syntax.Param {+ Syntax.paramName = paramName,+ Syntax.paramAnnotation = Nothing},+ Syntax.paramNoDefaultTypeComment = Nothing}],+ Syntax.paramNoDefaultParametersParamWithDefault = [],+ Syntax.paramNoDefaultParametersStarEtc = Nothing}))),+ Syntax.functionDefRawReturnType = Nothing,+ Syntax.functionDefRawFuncTypeComment = Nothing,+ Syntax.functionDefRawBlock = (Utils.indentedBlock Nothing [+ [+ Utils.returnSingle (Utils.pyPrimaryToPyExpression (Utils.primaryWithRhs (Utils.pyNameToPyPrimary (Syntax.Name "replace")) (Syntax.PrimaryRhsCall (Syntax.Args {+ Syntax.argsPositional = [+ Syntax.PosArgExpression (Utils.pyNameToPyExpression (Syntax.Name "self"))],+ Syntax.argsKwargOrStarred = [+ kwarg],+ Syntax.argsKwargOrDoubleStarred = []}))))]])}})))++-- | Build a per-field copy-update method (with_<field>) for a record+recordWithMethod :: PythonEnvironment.PythonEnvironment -> Model.FieldType -> Syntax.Statement+recordWithMethod env fieldType =++ let fname = Model.fieldTypeName fieldType+ snake = Syntax.unName (PythonNames.encodeFieldName env fname)+ methodName = Strings.concat2 "with_" snake+ kwargKey = Syntax.Name snake+ paramSnake = Logic.ifElse (Equality.equal snake "self") "_self" snake+ paramName = Syntax.Name paramSnake+ kwarg =+ Syntax.KwargOrStarredKwarg (Syntax.Kwarg {+ Syntax.kwargName = kwargKey,+ Syntax.kwargValue = (Utils.pyNameToPyExpression paramName)})+ in (Syntax.StatementCompound (Syntax.CompoundStatementFunction (Syntax.FunctionDefinition {+ Syntax.functionDefinitionDecorators = Nothing,+ Syntax.functionDefinitionRaw = Syntax.FunctionDefRaw {+ Syntax.functionDefRawAsync = False,+ Syntax.functionDefRawName = (Syntax.Name methodName),+ Syntax.functionDefRawTypeParams = [],+ Syntax.functionDefRawParams = (Just (Syntax.ParametersParamNoDefault (Syntax.ParamNoDefaultParameters {+ Syntax.paramNoDefaultParametersParamNoDefault = [+ Syntax.ParamNoDefault {+ Syntax.paramNoDefaultParam = Syntax.Param {+ Syntax.paramName = (Syntax.Name "self"),+ Syntax.paramAnnotation = Nothing},+ Syntax.paramNoDefaultTypeComment = Nothing},+ Syntax.ParamNoDefault {+ Syntax.paramNoDefaultParam = Syntax.Param {+ Syntax.paramName = paramName,+ Syntax.paramAnnotation = Nothing},+ Syntax.paramNoDefaultTypeComment = Nothing}],+ Syntax.paramNoDefaultParametersParamWithDefault = [],+ Syntax.paramNoDefaultParametersStarEtc = Nothing}))),+ Syntax.functionDefRawReturnType = Nothing,+ Syntax.functionDefRawFuncTypeComment = Nothing,+ Syntax.functionDefRawBlock = (Utils.indentedBlock Nothing [+ [+ Utils.returnSingle (Utils.pyPrimaryToPyExpression (Utils.primaryWithRhs (Utils.pyNameToPyPrimary (Syntax.Name "replace")) (Syntax.PrimaryRhsCall (Syntax.Args {+ Syntax.argsPositional = [+ Syntax.PosArgExpression (Utils.pyNameToPyExpression (Syntax.Name "self"))],+ Syntax.argsKwargOrStarred = [+ kwarg],+ Syntax.argsKwargOrDoubleStarred = []}))))]])}})))++setMetaNamespaces :: Util.ModuleNames Syntax.DottedName -> PythonEnvironment.PythonModuleMetadata -> PythonEnvironment.PythonModuleMetadata+setMetaNamespaces ns m =+ PythonEnvironment.PythonModuleMetadata {+ PythonEnvironment.pythonModuleMetadataNamespaces = ns,+ PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+ PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+ PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+ PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+ PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+ PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+ PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+ PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+ PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+ PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+ PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+ PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+ PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+ PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+ PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+ PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+ PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+ PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+ PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaTypeVariables :: PythonEnvironment.PythonModuleMetadata -> S.Set Model.Name -> PythonEnvironment.PythonModuleMetadata+setMetaTypeVariables m tvars =+ PythonEnvironment.PythonModuleMetadata {+ PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+ PythonEnvironment.pythonModuleMetadataTypeVariables = tvars,+ PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+ PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+ PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+ PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+ PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+ PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+ PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+ PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+ PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+ PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+ PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+ PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+ PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+ PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+ PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+ PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+ PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+ PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesAnnotated :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesAnnotated m b =+ PythonEnvironment.PythonModuleMetadata {+ PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+ PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+ PythonEnvironment.pythonModuleMetadataUsesAnnotated = b,+ PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+ PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+ PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+ PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+ PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+ PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+ PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+ PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+ PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+ PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+ PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+ PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+ PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+ PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+ PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+ PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+ PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesCallable :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesCallable m b =+ PythonEnvironment.PythonModuleMetadata {+ PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+ PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+ PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+ PythonEnvironment.pythonModuleMetadataUsesCallable = b,+ PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+ PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+ PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+ PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+ PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+ PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+ PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+ PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+ PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+ PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+ PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+ PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+ PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+ PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+ PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+ PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesCast :: Bool -> PythonEnvironment.PythonModuleMetadata -> PythonEnvironment.PythonModuleMetadata+setMetaUsesCast b m =+ PythonEnvironment.PythonModuleMetadata {+ PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+ PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+ PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+ PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+ PythonEnvironment.pythonModuleMetadataUsesCast = b,+ PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+ PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+ PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+ PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+ PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+ PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+ PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+ PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+ PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+ PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+ PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+ PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+ PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+ PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+ PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesDataclass :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesDataclass m b =+ PythonEnvironment.PythonModuleMetadata {+ PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+ PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+ PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+ PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+ PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+ PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+ PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+ PythonEnvironment.pythonModuleMetadataUsesDataclass = b,+ PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+ PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+ PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+ PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+ PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+ PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+ PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+ PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+ PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+ PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+ PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+ PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesDecimal :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesDecimal m b =+ PythonEnvironment.PythonModuleMetadata {+ PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+ PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+ PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+ PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+ PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+ PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+ PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+ PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+ PythonEnvironment.pythonModuleMetadataUsesDecimal = b,+ PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+ PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+ PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+ PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+ PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+ PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+ PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+ PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+ PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+ PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+ PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesEither :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesEither m b =+ PythonEnvironment.PythonModuleMetadata {+ PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+ PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+ PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+ PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+ PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+ PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+ PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+ PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+ PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+ PythonEnvironment.pythonModuleMetadataUsesEither = b,+ PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+ PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+ PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+ PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+ PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+ PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+ PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+ PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+ PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+ PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesEnum :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesEnum m b =+ PythonEnvironment.PythonModuleMetadata {+ PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+ PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+ PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+ PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+ PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+ PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+ PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+ PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+ PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+ PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+ PythonEnvironment.pythonModuleMetadataUsesEnum = b,+ PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+ PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+ PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+ PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+ PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+ PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+ PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+ PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+ PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+ PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesFrozenDict :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesFrozenDict m b =+ PythonEnvironment.PythonModuleMetadata {+ PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+ PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+ PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+ PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+ PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+ PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+ PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+ PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+ PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+ PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+ PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenDict = b,+ PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+ PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+ PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+ PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+ PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+ PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+ PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+ PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+ PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+ PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesFrozenList :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesFrozenList m b =+ PythonEnvironment.PythonModuleMetadata {+ PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+ PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+ PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+ PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+ PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+ PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+ PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+ PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+ PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+ PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+ PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenList = b,+ PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+ PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+ PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+ PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+ PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+ PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+ PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+ PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+ PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+ PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesFrozenSet :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesFrozenSet m b =+ PythonEnvironment.PythonModuleMetadata {+ PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+ PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+ PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+ PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+ PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+ PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+ PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+ PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+ PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+ PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+ PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenSet = b,+ PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+ PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+ PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+ PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+ PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+ PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+ PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+ PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+ PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesGeneric :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesGeneric m b =+ PythonEnvironment.PythonModuleMetadata {+ PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+ PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+ PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+ PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+ PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+ PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+ PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+ PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+ PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+ PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+ PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+ PythonEnvironment.pythonModuleMetadataUsesGeneric = b,+ PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+ PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+ PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+ PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+ PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+ PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+ PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+ PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesJust :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesJust m b =+ PythonEnvironment.PythonModuleMetadata {+ PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+ PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+ PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+ PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+ PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+ PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+ PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+ PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+ PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+ PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+ PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+ PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+ PythonEnvironment.pythonModuleMetadataUsesJust = b,+ PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+ PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+ PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+ PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+ PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+ PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+ PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesLeft :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesLeft m b =+ PythonEnvironment.PythonModuleMetadata {+ PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+ PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+ PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+ PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+ PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+ PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+ PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+ PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+ PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+ PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+ PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+ PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+ PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+ PythonEnvironment.pythonModuleMetadataUsesLeft = b,+ PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+ PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+ PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+ PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+ PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+ PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesLruCache :: Bool -> PythonEnvironment.PythonModuleMetadata -> PythonEnvironment.PythonModuleMetadata+setMetaUsesLruCache b m =+ PythonEnvironment.PythonModuleMetadata {+ PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+ PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+ PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+ PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+ PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+ PythonEnvironment.pythonModuleMetadataUsesLruCache = b,+ PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+ PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+ PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+ PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+ PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+ PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+ PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+ PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+ PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+ PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+ PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+ PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+ PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+ PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesMaybe :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesMaybe m b =+ PythonEnvironment.PythonModuleMetadata {+ PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+ PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+ PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+ PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+ PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+ PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+ PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+ PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+ PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+ PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+ PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+ PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+ PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+ PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+ PythonEnvironment.pythonModuleMetadataUsesMaybe = b,+ PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+ PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+ PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+ PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+ PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesName :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesName m b =+ PythonEnvironment.PythonModuleMetadata {+ PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+ PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+ PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+ PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+ PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+ PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+ PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+ PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+ PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+ PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+ PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+ PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+ PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+ PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+ PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+ PythonEnvironment.pythonModuleMetadataUsesName = b,+ PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+ PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+ PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+ PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesNode :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesNode m b =+ PythonEnvironment.PythonModuleMetadata {+ PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+ PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+ PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+ PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+ PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+ PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+ PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+ PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+ PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+ PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+ PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+ PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+ PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+ PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+ PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+ PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+ PythonEnvironment.pythonModuleMetadataUsesNode = b,+ PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+ PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+ PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesNothing :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesNothing m b =+ PythonEnvironment.PythonModuleMetadata {+ PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+ PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+ PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+ PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+ PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+ PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+ PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+ PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+ PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+ PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+ PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+ PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+ PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+ PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+ PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+ PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+ PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+ PythonEnvironment.pythonModuleMetadataUsesNothing = b,+ PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+ PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesRight :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesRight m b =+ PythonEnvironment.PythonModuleMetadata {+ PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+ PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+ PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+ PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+ PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+ PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+ PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+ PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+ PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+ PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+ PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+ PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+ PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+ PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+ PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+ PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+ PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+ PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+ PythonEnvironment.pythonModuleMetadataUsesRight = b,+ PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesTypeAlias :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesTypeAlias m b =+ PythonEnvironment.PythonModuleMetadata {+ PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+ PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+ PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+ PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+ PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+ PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+ PythonEnvironment.pythonModuleMetadataUsesTypeAlias = b,+ PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+ PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+ PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+ PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+ PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+ PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+ PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+ PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+ PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+ PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+ PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+ PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+ PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesTypeVar :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesTypeVar m b =+ PythonEnvironment.PythonModuleMetadata {+ PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+ PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+ PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+ PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+ PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+ PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+ PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+ PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+ PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+ PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+ PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+ PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+ PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+ PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+ PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+ PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+ PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+ PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+ PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+ PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+ PythonEnvironment.pythonModuleMetadataUsesTypeVar = b}++-- | Determine if a binding should be thunked based on its complexity and triviality+shouldThunkBinding :: Graph.Graph -> Model.Binding -> Bool+shouldThunkBinding g b =+ Logic.and (Predicates.isComplexBinding g b) (Logic.not (Predicates.isTrivialTerm (Model.bindingTerm b)))++-- | Generate a single from-import statement+standardImportStatement :: String -> [String] -> Syntax.ImportStatement+standardImportStatement modName symbols =+ Syntax.ImportStatementFrom (Syntax.ImportFrom {+ Syntax.importFromPrefixes = [],+ Syntax.importFromDottedName = (Just (Syntax.DottedName [+ Syntax.Name modName])),+ Syntax.importFromTargets = (Syntax.ImportFromTargetsSimple (Lists.map (\s -> Syntax.ImportFromAsName {+ Syntax.importFromAsNameName = (Syntax.Name s),+ Syntax.importFromAsNameAs = Nothing}) symbols))})++-- | The target Python version for code generation+targetPythonVersion :: PythonEnvironment.PythonVersion+targetPythonVersion = Utils.targetPythonVersion++-- | Calculate term arity with proper primitive handling+termArityWithPrimitives :: Graph.Graph -> Model.Term -> Int+termArityWithPrimitives graph term =+ case (Strip.deannotateAndDetypeTerm term) of+ Model.TermApplication v0 -> Ordering.max 0 (Math.sub (termArityWithPrimitives graph (Model.applicationFunction v0)) 1)+ Model.TermLambda v0 -> Math.add 1 (termArityWithPrimitives graph (Model.lambdaBody v0))+ Model.TermProject _ -> 1+ Model.TermUnwrap _ -> 1+ Model.TermCases _ -> 1+ Model.TermVariable v0 -> Optionals.match (Lexical.lookupBinding graph v0) 0 (\el -> Optionals.match (Model.bindingTypeScheme el) (Arity.termArity (Model.bindingTerm el)) (\ts -> Arity.typeSchemeArity ts))+ _ -> 0++-- | Create a TypeVar assignment statement for a type variable name+tvarStatement :: Syntax.Name -> Syntax.Statement+tvarStatement name =+ Utils.assignmentStatement name (Utils.functionCall (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "TypeVar"))) [+ Utils.doubleQuotedString (Syntax.unName name)])++-- | Version-aware type alias statement generation+typeAliasStatementFor :: PythonEnvironment.PythonEnvironment -> Syntax.Name -> [Syntax.TypeParameter] -> Maybe String -> Syntax.Expression -> Syntax.Statement+typeAliasStatementFor env name tparams mcomment tyexpr =+ Logic.ifElse (useInlineTypeParamsFor (PythonEnvironment.pythonEnvironmentVersion env)) (Utils.typeAliasStatement name tparams mcomment tyexpr) (Utils.typeAliasStatement310 name tparams mcomment tyexpr)++-- | Version-aware union type statement generation+unionTypeStatementsFor :: PythonEnvironment.PythonEnvironment -> Syntax.Name -> [Syntax.TypeParameter] -> Maybe String -> Syntax.Expression -> [Syntax.Statement] -> [Syntax.Statement]+unionTypeStatementsFor env name tparams mcomment tyexpr extraStmts =+ Logic.ifElse (useInlineTypeParamsFor (PythonEnvironment.pythonEnvironmentVersion env)) (Lists.concat2 [+ Utils.typeAliasStatement name tparams mcomment tyexpr] extraStmts) (Utils.unionTypeClassStatements310 name mcomment tyexpr extraStmts)++-- | Create an expression that calls hydra.core.overlay.python.dsl.python.unsupported(message) at runtime+unsupportedExpression :: String -> Syntax.Expression+unsupportedExpression msg =+ Utils.functionCall (Utils.pyExpressionToPyPrimary (Utils.projectFromExpression (Utils.projectFromExpression (Utils.projectFromExpression (Utils.projectFromExpression (Utils.projectFromExpression (Utils.projectFromExpression (Syntax.ExpressionSimple (Syntax.Disjunction [+ Syntax.Conjunction [+ Syntax.InversionSimple (Syntax.Comparison {+ Syntax.comparisonLhs = Syntax.BitwiseOr {+ Syntax.bitwiseOrLhs = Nothing,+ Syntax.bitwiseOrRhs = Syntax.BitwiseXor {+ Syntax.bitwiseXorLhs = Nothing,+ Syntax.bitwiseXorRhs = Syntax.BitwiseAnd {+ Syntax.bitwiseAndLhs = Nothing,+ Syntax.bitwiseAndRhs = Syntax.ShiftExpression {+ Syntax.shiftExpressionLhs = Nothing,+ Syntax.shiftExpressionRhs = Syntax.Sum {+ Syntax.sumLhs = Nothing,+ Syntax.sumRhs = Syntax.Term {+ Syntax.termLhs = Nothing,+ Syntax.termRhs = (Syntax.FactorSimple (Syntax.Power {+ Syntax.powerLhs = Syntax.AwaitPrimary {+ Syntax.awaitPrimaryAwait = False,+ Syntax.awaitPrimaryPrimary = (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "hydra")))},+ Syntax.powerRhs = Nothing}))}}}}}},+ Syntax.comparisonRhs = []})]])) (Syntax.Name "core")) (Syntax.Name "overlay")) (Syntax.Name "python")) (Syntax.Name "dsl")) (Syntax.Name "python")) (Syntax.Name "unsupported"))) [+ Utils.stringToPyExpression Syntax.QuoteStyleDouble msg]++-- | Legacy constant for backward compatibility; use useInlineTypeParamsFor in new code+useInlineTypeParams :: Bool+useInlineTypeParams = useInlineTypeParamsFor Utils.targetPythonVersion++-- | Version-aware inline type parameters+useInlineTypeParamsFor :: PythonEnvironment.PythonVersion -> Bool+useInlineTypeParamsFor version = Equality.equal version PythonEnvironment.PythonVersionPython312++-- | Create args for variant (Node[type], Generic[tparams])+variantArgs :: Syntax.Expression -> [Model.Name] -> Syntax.Args+variantArgs ptype tparams =+ Utils.pyExpressionsToPyArgs (Optionals.givens [+ Just (Utils.pyPrimaryToPyExpression (Utils.primaryWithExpressionSlices (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "Node"))) [+ ptype])),+ (genericArg tparams)])++-- | Create a ClosedPattern for a variant based on its characteristics+variantClosedPattern :: PythonEnvironment.PythonEnvironment -> Model.Name -> Model.Name -> Syntax.Name -> t0 -> Bool -> Model.Name -> Bool -> Syntax.ClosedPattern+variantClosedPattern env typeName fieldName pyVariantName rowType isEnum varName shouldCapture =+ Logic.ifElse isEnum (enumVariantPattern env typeName fieldName) (Logic.ifElse (Logic.not shouldCapture) (classVariantPatternUnit pyVariantName) (classVariantPatternWithCapture env pyVariantName varName))++-- | Create a wildcard case block with a given body statement+wildcardCaseBlock :: Syntax.Statement -> Syntax.CaseBlock+wildcardCaseBlock stmt =+ Syntax.CaseBlock {+ Syntax.caseBlockPatterns = (Utils.pyClosedPatternToPyPatterns Syntax.ClosedPatternWildcard),+ Syntax.caseBlockGuard = Nothing,+ Syntax.caseBlockBody = (Utils.indentedBlock Nothing [+ [+ stmt]])}++-- | Execute a computation with definitions in scope+withDefinitions :: PythonEnvironment.PythonEnvironment -> [Packaging.Definition] -> (PythonEnvironment.PythonEnvironment -> t0) -> t0+withDefinitions env defs body =++ let bindings =+ Optionals.givens (Lists.map (\def_ -> case def_ of+ Packaging.DefinitionTerm v0 -> Just (Model.Binding {+ Model.bindingName = (Packaging.termDefinitionName v0),+ Model.bindingTerm = (Packaging.termDefinitionBody v0),+ Model.bindingTypeScheme = (Optionals.map (\sig -> Scoping.termSignatureToTypeScheme sig) (Packaging.termDefinitionSignature v0))})+ Packaging.DefinitionType _ -> Nothing+ _ -> Nothing) defs)+ dummyLet =+ Model.Let {+ Model.letBindings = bindings,+ Model.letBody = (Model.TermLiteral (Model.LiteralString "dummy"))}+ in (withLet env dummyLet body)++-- | Execute a computation with lambda context (adds lambda parameter to Graph)+withLambda :: PythonEnvironment.PythonEnvironment -> Model.Lambda -> (PythonEnvironment.PythonEnvironment -> t0) -> t0+withLambda = CoreEnvironment.withLambdaContext pythonEnvironmentGetGraph pythonEnvironmentSetGraph++-- | Execute a computation with let context (adds let bindings to Graph)+withLet :: PythonEnvironment.PythonEnvironment -> Model.Let -> (PythonEnvironment.PythonEnvironment -> t0) -> t0+withLet = CoreEnvironment.withLetContext pythonEnvironmentGetGraph pythonEnvironmentSetGraph pythonBindingMetadata++-- | Execute a computation with inline let context (for walrus operators)+withLetInline :: PythonEnvironment.PythonEnvironment -> Model.Let -> (PythonEnvironment.PythonEnvironment -> t0) -> t0+withLetInline env lt body =++ let bindingNames = Lists.map (\b -> Model.bindingName b) (Model.letBindings lt)+ inlineVars = Sets.fromList bindingNames+ noMetadata = \tc -> \b -> Nothing+ in (CoreEnvironment.withLetContext pythonEnvironmentGetGraph pythonEnvironmentSetGraph noMetadata env lt (\innerEnv ->+ let updatedEnv =+ PythonEnvironment.PythonEnvironment {+ PythonEnvironment.pythonEnvironmentNamespaces = (PythonEnvironment.pythonEnvironmentNamespaces innerEnv),+ PythonEnvironment.pythonEnvironmentBoundTypeVariables = (PythonEnvironment.pythonEnvironmentBoundTypeVariables innerEnv),+ PythonEnvironment.pythonEnvironmentGraph = (PythonEnvironment.pythonEnvironmentGraph innerEnv),+ PythonEnvironment.pythonEnvironmentNullaryBindings = (PythonEnvironment.pythonEnvironmentNullaryBindings innerEnv),+ PythonEnvironment.pythonEnvironmentVersion = (PythonEnvironment.pythonEnvironmentVersion innerEnv),+ PythonEnvironment.pythonEnvironmentSkipCasts = (PythonEnvironment.pythonEnvironmentSkipCasts innerEnv),+ PythonEnvironment.pythonEnvironmentInlineVariables = (Sets.union inlineVars (PythonEnvironment.pythonEnvironmentInlineVariables innerEnv)),+ PythonEnvironment.pythonEnvironmentOverlaySubs = (PythonEnvironment.pythonEnvironmentOverlaySubs innerEnv)}+ in (body updatedEnv)))++-- | Execute a computation with type lambda context+withTypeLambda :: PythonEnvironment.PythonEnvironment -> Model.TypeLambda -> (PythonEnvironment.PythonEnvironment -> t0) -> t0+withTypeLambda = CoreEnvironment.withTypeLambdaContext pythonEnvironmentGetGraph pythonEnvironmentSetGraph++-- | Wrap a Python expression in a nullary lambda (thunk) for lazy evaluation+wrapInNullaryLambda :: Syntax.Expression -> Syntax.Expression+wrapInNullaryLambda expr =+ Syntax.ExpressionLambda (Syntax.Lambda {+ Syntax.lambdaParams = Syntax.LambdaParameters {+ Syntax.lambdaParametersSlashNoDefault = Nothing,+ Syntax.lambdaParametersParamNoDefault = [],+ Syntax.lambdaParametersParamWithDefault = [],+ Syntax.lambdaParametersStarEtc = Nothing},+ Syntax.lambdaBody = expr})++-- | Wrap lazy-flagged arguments of a primitive call in nullary lambdas, per isLazy metadata (issue #391)+wrapLazyArguments :: Graph.Graph -> Model.Name -> [Syntax.Expression] -> [Syntax.Expression] wrapLazyArguments g name args = let lazyFlags = lazyFlagsForPrimitive g name
+ src/main/haskell/Hydra/Python/Dsl/Environment.hs view
@@ -0,0 +1,4749 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.python.environment++module Hydra.Python.Dsl.Environment where++import qualified Hydra.Core.Graph as Graph+import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Packaging as Packaging+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Core.Typing as Typing+import qualified Hydra.Core.Util as Util+import qualified Hydra.Python.Dsl.Syntax as DslSyntax+import qualified Hydra.Python.Environment as Environment+import qualified Hydra.Python.Syntax as Syntax+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 constructor for hydra.python.environment.PyGraph+pyGraph :: Typed.TypedTerm Graph.Graph -> Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Environment.PyGraph+pyGraph graph metadata =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PyGraph"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "graph"),+ Model.fieldTerm = (Typed.unTypedTerm graph)},+ Model.Field {+ Model.fieldName = (Model.Name "metadata"),+ Model.fieldTerm = (Typed.unTypedTerm metadata)}]}))++-- | DSL accessor for the graph field of hydra.python.environment.PyGraph+pyGraphGraph :: Typed.TypedTerm Environment.PyGraph -> Typed.TypedTerm Graph.Graph+pyGraphGraph x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PyGraph"),+ Model.projectionFieldName = (Model.Name "graph")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the metadata field of hydra.python.environment.PyGraph+pyGraphMetadata :: Typed.TypedTerm Environment.PyGraph -> Typed.TypedTerm Environment.PythonModuleMetadata+pyGraphMetadata x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PyGraph"),+ Model.projectionFieldName = (Model.Name "metadata")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.environment.PyGraph+pyGraphPyGraph :: Typed.TypedName Environment.PyGraph+pyGraphPyGraph = Typed.TypedName (Model.Name "hydra.python.environment.PyGraph")++-- | DSL updater for the graph field of hydra.python.environment.PyGraph+pyGraphWithGraph :: Typed.TypedTerm Environment.PyGraph -> Typed.TypedTerm Graph.Graph -> Typed.TypedTerm Environment.PyGraph+pyGraphWithGraph original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PyGraph"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "graph"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "metadata"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PyGraph"),+ Model.projectionFieldName = (Model.Name "metadata")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the metadata field of hydra.python.environment.PyGraph+pyGraphWithMetadata :: Typed.TypedTerm Environment.PyGraph -> Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Environment.PyGraph+pyGraphWithMetadata original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PyGraph"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "graph"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PyGraph"),+ Model.projectionFieldName = (Model.Name "graph")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "metadata"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.environment.PythonEnvironment+pythonEnvironment :: Typed.TypedTerm (Util.ModuleNames Syntax.DottedName) -> Typed.TypedTerm ([Model.Name], (M.Map Model.Name Syntax.Name)) -> Typed.TypedTerm Graph.Graph -> Typed.TypedTerm (S.Set Model.Name) -> Typed.TypedTerm Environment.PythonVersion -> Typed.TypedTerm Bool -> Typed.TypedTerm (S.Set Model.Name) -> Typed.TypedTerm (S.Set String) -> Typed.TypedTerm Environment.PythonEnvironment+pythonEnvironment namespaces boundTypeVariables graph nullaryBindings version skipCasts inlineVariables overlaySubs =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Typed.unTypedTerm namespaces)},+ Model.Field {+ Model.fieldName = (Model.Name "boundTypeVariables"),+ Model.fieldTerm = (Typed.unTypedTerm boundTypeVariables)},+ Model.Field {+ Model.fieldName = (Model.Name "graph"),+ Model.fieldTerm = (Typed.unTypedTerm graph)},+ Model.Field {+ Model.fieldName = (Model.Name "nullaryBindings"),+ Model.fieldTerm = (Typed.unTypedTerm nullaryBindings)},+ Model.Field {+ Model.fieldName = (Model.Name "version"),+ Model.fieldTerm = (Typed.unTypedTerm version)},+ Model.Field {+ Model.fieldName = (Model.Name "skipCasts"),+ Model.fieldTerm = (Typed.unTypedTerm skipCasts)},+ Model.Field {+ Model.fieldName = (Model.Name "inlineVariables"),+ Model.fieldTerm = (Typed.unTypedTerm inlineVariables)},+ Model.Field {+ Model.fieldName = (Model.Name "overlaySubs"),+ Model.fieldTerm = (Typed.unTypedTerm overlaySubs)}]}))++-- | DSL accessor for the boundTypeVariables field of hydra.python.environment.PythonEnvironment+pythonEnvironmentBoundTypeVariables :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm ([Model.Name], (M.Map Model.Name Syntax.Name))+pythonEnvironmentBoundTypeVariables x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "boundTypeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the graph field of hydra.python.environment.PythonEnvironment+pythonEnvironmentGraph :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Graph.Graph+pythonEnvironmentGraph x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "graph")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the inlineVariables field of hydra.python.environment.PythonEnvironment+pythonEnvironmentInlineVariables :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm (S.Set Model.Name)+pythonEnvironmentInlineVariables x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "inlineVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the namespaces field of hydra.python.environment.PythonEnvironment+pythonEnvironmentNamespaces :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm (Util.ModuleNames Syntax.DottedName)+pythonEnvironmentNamespaces x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the nullaryBindings field of hydra.python.environment.PythonEnvironment+pythonEnvironmentNullaryBindings :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm (S.Set Model.Name)+pythonEnvironmentNullaryBindings x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "nullaryBindings")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the overlaySubs field of hydra.python.environment.PythonEnvironment+pythonEnvironmentOverlaySubs :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm (S.Set String)+pythonEnvironmentOverlaySubs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "overlaySubs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.environment.PythonEnvironment+pythonEnvironmentPythonEnvironment :: Typed.TypedName Environment.PythonEnvironment+pythonEnvironmentPythonEnvironment = Typed.TypedName (Model.Name "hydra.python.environment.PythonEnvironment")++-- | DSL accessor for the skipCasts field of hydra.python.environment.PythonEnvironment+pythonEnvironmentSkipCasts :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Bool+pythonEnvironmentSkipCasts x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "skipCasts")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the version field of hydra.python.environment.PythonEnvironment+pythonEnvironmentVersion :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Environment.PythonVersion+pythonEnvironmentVersion x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "version")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the boundTypeVariables field of hydra.python.environment.PythonEnvironment+pythonEnvironmentWithBoundTypeVariables :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm ([Model.Name], (M.Map Model.Name Syntax.Name)) -> Typed.TypedTerm Environment.PythonEnvironment+pythonEnvironmentWithBoundTypeVariables original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "boundTypeVariables"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "graph"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "graph")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "nullaryBindings"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "nullaryBindings")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "version"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "version")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "skipCasts"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "skipCasts")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "inlineVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "inlineVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "overlaySubs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "overlaySubs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the graph field of hydra.python.environment.PythonEnvironment+pythonEnvironmentWithGraph :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Graph.Graph -> Typed.TypedTerm Environment.PythonEnvironment+pythonEnvironmentWithGraph original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "boundTypeVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "boundTypeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "graph"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "nullaryBindings"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "nullaryBindings")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "version"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "version")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "skipCasts"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "skipCasts")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "inlineVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "inlineVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "overlaySubs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "overlaySubs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the inlineVariables field of hydra.python.environment.PythonEnvironment+pythonEnvironmentWithInlineVariables :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm (S.Set Model.Name) -> Typed.TypedTerm Environment.PythonEnvironment+pythonEnvironmentWithInlineVariables original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "boundTypeVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "boundTypeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "graph"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "graph")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "nullaryBindings"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "nullaryBindings")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "version"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "version")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "skipCasts"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "skipCasts")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "inlineVariables"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "overlaySubs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "overlaySubs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the namespaces field of hydra.python.environment.PythonEnvironment+pythonEnvironmentWithNamespaces :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm (Util.ModuleNames Syntax.DottedName) -> Typed.TypedTerm Environment.PythonEnvironment+pythonEnvironmentWithNamespaces original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "boundTypeVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "boundTypeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "graph"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "graph")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "nullaryBindings"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "nullaryBindings")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "version"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "version")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "skipCasts"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "skipCasts")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "inlineVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "inlineVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "overlaySubs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "overlaySubs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the nullaryBindings field of hydra.python.environment.PythonEnvironment+pythonEnvironmentWithNullaryBindings :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm (S.Set Model.Name) -> Typed.TypedTerm Environment.PythonEnvironment+pythonEnvironmentWithNullaryBindings original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "boundTypeVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "boundTypeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "graph"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "graph")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "nullaryBindings"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "version"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "version")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "skipCasts"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "skipCasts")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "inlineVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "inlineVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "overlaySubs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "overlaySubs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the overlaySubs field of hydra.python.environment.PythonEnvironment+pythonEnvironmentWithOverlaySubs :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm (S.Set String) -> Typed.TypedTerm Environment.PythonEnvironment+pythonEnvironmentWithOverlaySubs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "boundTypeVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "boundTypeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "graph"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "graph")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "nullaryBindings"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "nullaryBindings")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "version"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "version")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "skipCasts"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "skipCasts")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "inlineVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "inlineVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "overlaySubs"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the skipCasts field of hydra.python.environment.PythonEnvironment+pythonEnvironmentWithSkipCasts :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonEnvironment+pythonEnvironmentWithSkipCasts original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "boundTypeVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "boundTypeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "graph"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "graph")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "nullaryBindings"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "nullaryBindings")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "version"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "version")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "skipCasts"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "inlineVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "inlineVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "overlaySubs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "overlaySubs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the version field of hydra.python.environment.PythonEnvironment+pythonEnvironmentWithVersion :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Environment.PythonVersion -> Typed.TypedTerm Environment.PythonEnvironment+pythonEnvironmentWithVersion original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "boundTypeVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "boundTypeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "graph"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "graph")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "nullaryBindings"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "nullaryBindings")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "version"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "skipCasts"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "skipCasts")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "inlineVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "inlineVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "overlaySubs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+ Model.projectionFieldName = (Model.Name "overlaySubs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.python.environment.PythonModuleMetadata+pythonModuleMetadata :: Typed.TypedTerm (Util.ModuleNames Syntax.DottedName) -> Typed.TypedTerm (S.Set Model.Name) -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadata namespaces typeVariables usesAnnotated usesCallable usesCast usesLruCache usesTypeAlias usesDataclass usesDecimal usesEither usesEnum usesFrozenDict usesFrozenList usesFrozenSet usesGeneric usesJust usesLeft usesMaybe usesName usesNode usesNothing usesRight usesTypeVar =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Typed.unTypedTerm namespaces)},+ Model.Field {+ Model.fieldName = (Model.Name "typeVariables"),+ Model.fieldTerm = (Typed.unTypedTerm typeVariables)},+ Model.Field {+ Model.fieldName = (Model.Name "usesAnnotated"),+ Model.fieldTerm = (Typed.unTypedTerm usesAnnotated)},+ Model.Field {+ Model.fieldName = (Model.Name "usesCallable"),+ Model.fieldTerm = (Typed.unTypedTerm usesCallable)},+ Model.Field {+ Model.fieldName = (Model.Name "usesCast"),+ Model.fieldTerm = (Typed.unTypedTerm usesCast)},+ Model.Field {+ Model.fieldName = (Model.Name "usesLruCache"),+ Model.fieldTerm = (Typed.unTypedTerm usesLruCache)},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeAlias"),+ Model.fieldTerm = (Typed.unTypedTerm usesTypeAlias)},+ Model.Field {+ Model.fieldName = (Model.Name "usesDataclass"),+ Model.fieldTerm = (Typed.unTypedTerm usesDataclass)},+ Model.Field {+ Model.fieldName = (Model.Name "usesDecimal"),+ Model.fieldTerm = (Typed.unTypedTerm usesDecimal)},+ Model.Field {+ Model.fieldName = (Model.Name "usesEither"),+ Model.fieldTerm = (Typed.unTypedTerm usesEither)},+ Model.Field {+ Model.fieldName = (Model.Name "usesEnum"),+ Model.fieldTerm = (Typed.unTypedTerm usesEnum)},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenDict"),+ Model.fieldTerm = (Typed.unTypedTerm usesFrozenDict)},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenList"),+ Model.fieldTerm = (Typed.unTypedTerm usesFrozenList)},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenSet"),+ Model.fieldTerm = (Typed.unTypedTerm usesFrozenSet)},+ Model.Field {+ Model.fieldName = (Model.Name "usesGeneric"),+ Model.fieldTerm = (Typed.unTypedTerm usesGeneric)},+ Model.Field {+ Model.fieldName = (Model.Name "usesJust"),+ Model.fieldTerm = (Typed.unTypedTerm usesJust)},+ Model.Field {+ Model.fieldName = (Model.Name "usesLeft"),+ Model.fieldTerm = (Typed.unTypedTerm usesLeft)},+ Model.Field {+ Model.fieldName = (Model.Name "usesMaybe"),+ Model.fieldTerm = (Typed.unTypedTerm usesMaybe)},+ Model.Field {+ Model.fieldName = (Model.Name "usesName"),+ Model.fieldTerm = (Typed.unTypedTerm usesName)},+ Model.Field {+ Model.fieldName = (Model.Name "usesNode"),+ Model.fieldTerm = (Typed.unTypedTerm usesNode)},+ Model.Field {+ Model.fieldName = (Model.Name "usesNothing"),+ Model.fieldTerm = (Typed.unTypedTerm usesNothing)},+ Model.Field {+ Model.fieldName = (Model.Name "usesRight"),+ Model.fieldTerm = (Typed.unTypedTerm usesRight)},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeVar"),+ Model.fieldTerm = (Typed.unTypedTerm usesTypeVar)}]}))++-- | DSL accessor for the namespaces field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataNamespaces :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm (Util.ModuleNames Syntax.DottedName)+pythonModuleMetadataNamespaces x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataPythonModuleMetadata :: Typed.TypedName Environment.PythonModuleMetadata+pythonModuleMetadataPythonModuleMetadata = Typed.TypedName (Model.Name "hydra.python.environment.PythonModuleMetadata")++-- | DSL accessor for the typeVariables field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataTypeVariables :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm (S.Set Model.Name)+pythonModuleMetadataTypeVariables x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "typeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesAnnotated field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesAnnotated :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesAnnotated x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesAnnotated")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesCallable field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesCallable :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesCallable x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCallable")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesCast field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesCast :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesCast x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCast")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesDataclass field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesDataclass :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesDataclass x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDataclass")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesDecimal field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesDecimal :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesDecimal x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDecimal")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesEither field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesEither :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesEither x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEither")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesEnum field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesEnum :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesEnum x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEnum")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesFrozenDict field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesFrozenDict :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesFrozenDict x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesFrozenList field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesFrozenList :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesFrozenList x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenList")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesFrozenSet field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesFrozenSet :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesFrozenSet x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesGeneric field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesGeneric :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesGeneric x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesGeneric")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesJust field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesJust :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesJust x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesJust")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesLeft field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesLeft :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesLeft x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLeft")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesLruCache field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesLruCache :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesLruCache x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLruCache")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesMaybe field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesMaybe :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesMaybe x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesMaybe")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesName field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesName :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesName")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesNode field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesNode :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesNode x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNode")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesNothing field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesNothing :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesNothing x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNothing")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesRight field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesRight :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesRight x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesRight")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesTypeAlias field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesTypeAlias :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesTypeAlias x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesTypeVar field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesTypeVar :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesTypeVar x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeVar")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the namespaces field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithNamespaces :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm (Util.ModuleNames Syntax.DottedName) -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithNamespaces original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "typeVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "typeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesAnnotated"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesAnnotated")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCallable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCallable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCast"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCast")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLruCache"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLruCache")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeAlias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDataclass"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDataclass")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDecimal"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDecimal")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEither"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEither")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEnum"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEnum")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenDict"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenList"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenList")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesGeneric"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesGeneric")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesJust"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesJust")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLeft"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLeft")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesMaybe"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesMaybe")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNode"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNode")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNothing"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNothing")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesRight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesRight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeVar"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeVar")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeVariables field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithTypeVariables :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm (S.Set Model.Name) -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithTypeVariables original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVariables"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "usesAnnotated"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesAnnotated")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCallable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCallable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCast"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCast")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLruCache"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLruCache")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeAlias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDataclass"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDataclass")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDecimal"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDecimal")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEither"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEither")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEnum"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEnum")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenDict"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenList"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenList")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesGeneric"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesGeneric")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesJust"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesJust")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLeft"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLeft")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesMaybe"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesMaybe")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNode"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNode")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNothing"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNothing")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesRight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesRight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeVar"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeVar")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesAnnotated field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesAnnotated :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesAnnotated original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "typeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesAnnotated"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "usesCallable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCallable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCast"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCast")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLruCache"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLruCache")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeAlias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDataclass"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDataclass")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDecimal"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDecimal")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEither"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEither")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEnum"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEnum")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenDict"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenList"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenList")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesGeneric"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesGeneric")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesJust"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesJust")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLeft"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLeft")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesMaybe"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesMaybe")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNode"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNode")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNothing"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNothing")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesRight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesRight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeVar"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeVar")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesCallable field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesCallable :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesCallable original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "typeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesAnnotated"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesAnnotated")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCallable"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "usesCast"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCast")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLruCache"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLruCache")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeAlias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDataclass"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDataclass")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDecimal"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDecimal")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEither"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEither")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEnum"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEnum")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenDict"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenList"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenList")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesGeneric"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesGeneric")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesJust"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesJust")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLeft"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLeft")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesMaybe"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesMaybe")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNode"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNode")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNothing"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNothing")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesRight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesRight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeVar"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeVar")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesCast field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesCast :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesCast original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "typeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesAnnotated"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesAnnotated")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCallable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCallable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCast"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "usesLruCache"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLruCache")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeAlias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDataclass"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDataclass")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDecimal"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDecimal")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEither"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEither")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEnum"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEnum")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenDict"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenList"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenList")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesGeneric"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesGeneric")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesJust"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesJust")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLeft"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLeft")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesMaybe"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesMaybe")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNode"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNode")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNothing"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNothing")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesRight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesRight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeVar"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeVar")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesDataclass field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesDataclass :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesDataclass original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "typeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesAnnotated"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesAnnotated")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCallable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCallable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCast"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCast")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLruCache"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLruCache")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeAlias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDataclass"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "usesDecimal"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDecimal")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEither"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEither")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEnum"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEnum")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenDict"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenList"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenList")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesGeneric"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesGeneric")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesJust"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesJust")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLeft"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLeft")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesMaybe"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesMaybe")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNode"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNode")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNothing"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNothing")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesRight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesRight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeVar"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeVar")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesDecimal field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesDecimal :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesDecimal original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "typeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesAnnotated"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesAnnotated")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCallable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCallable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCast"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCast")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLruCache"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLruCache")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeAlias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDataclass"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDataclass")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDecimal"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "usesEither"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEither")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEnum"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEnum")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenDict"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenList"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenList")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesGeneric"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesGeneric")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesJust"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesJust")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLeft"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLeft")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesMaybe"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesMaybe")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNode"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNode")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNothing"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNothing")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesRight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesRight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeVar"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeVar")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesEither field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesEither :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesEither original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "typeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesAnnotated"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesAnnotated")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCallable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCallable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCast"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCast")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLruCache"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLruCache")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeAlias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDataclass"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDataclass")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDecimal"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDecimal")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEither"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "usesEnum"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEnum")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenDict"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenList"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenList")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesGeneric"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesGeneric")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesJust"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesJust")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLeft"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLeft")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesMaybe"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesMaybe")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNode"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNode")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNothing"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNothing")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesRight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesRight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeVar"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeVar")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesEnum field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesEnum :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesEnum original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "typeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesAnnotated"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesAnnotated")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCallable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCallable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCast"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCast")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLruCache"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLruCache")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeAlias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDataclass"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDataclass")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDecimal"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDecimal")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEither"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEither")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEnum"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenDict"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenList"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenList")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesGeneric"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesGeneric")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesJust"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesJust")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLeft"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLeft")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesMaybe"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesMaybe")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNode"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNode")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNothing"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNothing")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesRight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesRight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeVar"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeVar")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesFrozenDict field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesFrozenDict :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesFrozenDict original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "typeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesAnnotated"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesAnnotated")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCallable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCallable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCast"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCast")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLruCache"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLruCache")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeAlias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDataclass"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDataclass")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDecimal"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDecimal")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEither"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEither")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEnum"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEnum")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenDict"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenList"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenList")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesGeneric"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesGeneric")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesJust"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesJust")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLeft"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLeft")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesMaybe"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesMaybe")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNode"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNode")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNothing"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNothing")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesRight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesRight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeVar"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeVar")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesFrozenList field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesFrozenList :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesFrozenList original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "typeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesAnnotated"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesAnnotated")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCallable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCallable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCast"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCast")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLruCache"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLruCache")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeAlias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDataclass"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDataclass")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDecimal"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDecimal")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEither"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEither")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEnum"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEnum")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenDict"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenList"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesGeneric"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesGeneric")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesJust"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesJust")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLeft"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLeft")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesMaybe"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesMaybe")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNode"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNode")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNothing"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNothing")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesRight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesRight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeVar"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeVar")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesFrozenSet field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesFrozenSet :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesFrozenSet original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "typeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesAnnotated"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesAnnotated")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCallable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCallable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCast"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCast")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLruCache"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLruCache")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeAlias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDataclass"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDataclass")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDecimal"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDecimal")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEither"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEither")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEnum"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEnum")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenDict"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenList"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenList")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenSet"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "usesGeneric"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesGeneric")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesJust"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesJust")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLeft"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLeft")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesMaybe"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesMaybe")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNode"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNode")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNothing"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNothing")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesRight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesRight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeVar"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeVar")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesGeneric field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesGeneric :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesGeneric original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "typeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesAnnotated"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesAnnotated")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCallable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCallable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCast"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCast")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLruCache"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLruCache")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeAlias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDataclass"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDataclass")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDecimal"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDecimal")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEither"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEither")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEnum"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEnum")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenDict"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenList"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenList")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesGeneric"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "usesJust"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesJust")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLeft"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLeft")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesMaybe"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesMaybe")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNode"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNode")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNothing"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNothing")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesRight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesRight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeVar"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeVar")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesJust field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesJust :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesJust original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "typeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesAnnotated"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesAnnotated")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCallable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCallable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCast"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCast")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLruCache"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLruCache")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeAlias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDataclass"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDataclass")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDecimal"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDecimal")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEither"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEither")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEnum"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEnum")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenDict"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenList"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenList")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesGeneric"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesGeneric")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesJust"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "usesLeft"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLeft")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesMaybe"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesMaybe")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNode"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNode")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNothing"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNothing")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesRight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesRight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeVar"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeVar")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesLeft field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesLeft :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesLeft original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "typeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesAnnotated"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesAnnotated")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCallable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCallable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCast"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCast")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLruCache"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLruCache")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeAlias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDataclass"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDataclass")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDecimal"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDecimal")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEither"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEither")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEnum"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEnum")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenDict"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenList"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenList")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesGeneric"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesGeneric")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesJust"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesJust")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLeft"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "usesMaybe"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesMaybe")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNode"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNode")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNothing"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNothing")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesRight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesRight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeVar"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeVar")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesLruCache field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesLruCache :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesLruCache original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "typeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesAnnotated"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesAnnotated")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCallable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCallable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCast"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCast")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLruCache"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeAlias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDataclass"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDataclass")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDecimal"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDecimal")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEither"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEither")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEnum"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEnum")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenDict"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenList"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenList")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesGeneric"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesGeneric")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesJust"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesJust")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLeft"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLeft")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesMaybe"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesMaybe")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNode"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNode")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNothing"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNothing")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesRight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesRight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeVar"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeVar")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesMaybe field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesMaybe :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesMaybe original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "typeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesAnnotated"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesAnnotated")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCallable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCallable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCast"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCast")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLruCache"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLruCache")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeAlias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDataclass"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDataclass")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDecimal"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDecimal")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEither"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEither")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEnum"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEnum")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenDict"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenList"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenList")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesGeneric"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesGeneric")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesJust"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesJust")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLeft"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLeft")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesMaybe"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "usesName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNode"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNode")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNothing"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNothing")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesRight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesRight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeVar"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeVar")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesName field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesName :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "typeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesAnnotated"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesAnnotated")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCallable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCallable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCast"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCast")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLruCache"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLruCache")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeAlias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDataclass"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDataclass")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDecimal"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDecimal")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEither"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEither")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEnum"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEnum")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenDict"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenList"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenList")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesGeneric"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesGeneric")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesJust"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesJust")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLeft"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLeft")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesMaybe"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesMaybe")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesName"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "usesNode"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNode")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNothing"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNothing")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesRight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesRight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeVar"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeVar")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesNode field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesNode :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesNode original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "typeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesAnnotated"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesAnnotated")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCallable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCallable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCast"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCast")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLruCache"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLruCache")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeAlias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDataclass"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDataclass")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDecimal"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDecimal")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEither"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEither")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEnum"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEnum")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenDict"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenList"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenList")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesGeneric"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesGeneric")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesJust"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesJust")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLeft"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLeft")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesMaybe"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesMaybe")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNode"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "usesNothing"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNothing")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesRight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesRight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeVar"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeVar")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesNothing field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesNothing :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesNothing original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "typeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesAnnotated"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesAnnotated")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCallable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCallable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCast"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCast")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLruCache"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLruCache")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeAlias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDataclass"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDataclass")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDecimal"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDecimal")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEither"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEither")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEnum"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEnum")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenDict"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenList"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenList")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesGeneric"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesGeneric")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesJust"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesJust")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLeft"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLeft")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesMaybe"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesMaybe")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNode"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNode")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNothing"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "usesRight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesRight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeVar"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeVar")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesRight field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesRight :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesRight original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "typeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesAnnotated"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesAnnotated")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCallable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCallable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCast"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCast")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLruCache"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLruCache")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeAlias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDataclass"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDataclass")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDecimal"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDecimal")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEither"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEither")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEnum"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEnum")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenDict"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenList"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenList")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesGeneric"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesGeneric")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesJust"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesJust")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLeft"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLeft")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesMaybe"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesMaybe")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNode"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNode")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNothing"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNothing")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesRight"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeVar"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeVar")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesTypeAlias field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesTypeAlias :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesTypeAlias original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "typeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesAnnotated"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesAnnotated")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCallable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCallable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCast"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCast")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLruCache"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLruCache")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeAlias"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "usesDataclass"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDataclass")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDecimal"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDecimal")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEither"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEither")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEnum"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEnum")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenDict"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenList"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenList")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesGeneric"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesGeneric")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesJust"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesJust")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLeft"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLeft")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesMaybe"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesMaybe")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNode"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNode")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNothing"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNothing")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesRight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesRight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeVar"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeVar")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesTypeVar field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesTypeVar :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesTypeVar original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "namespaces"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "namespaces")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeVariables"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "typeVariables")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesAnnotated"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesAnnotated")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCallable"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCallable")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesCast"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesCast")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLruCache"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLruCache")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeAlias"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDataclass"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDataclass")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesDecimal"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesDecimal")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEither"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEither")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesEnum"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesEnum")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenDict"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenList"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenList")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesFrozenSet"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesGeneric"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesGeneric")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesJust"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesJust")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesLeft"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesLeft")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesMaybe"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesMaybe")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNode"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNode")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesNothing"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesNothing")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesRight"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+ Model.projectionFieldName = (Model.Name "usesRight")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "usesTypeVar"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the python310 variant of hydra.python.environment.PythonVersion+pythonVersionPython310 :: Typed.TypedTerm Environment.PythonVersion+pythonVersionPython310 =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.environment.PythonVersion"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "python310"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the python312 variant of hydra.python.environment.PythonVersion+pythonVersionPython312 :: Typed.TypedTerm Environment.PythonVersion+pythonVersionPython312 =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.environment.PythonVersion"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "python312"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.python.environment.PythonVersion+pythonVersionPythonVersion :: Typed.TypedName Environment.PythonVersion+pythonVersionPythonVersion = Typed.TypedName (Model.Name "hydra.python.environment.PythonVersion")
+ src/main/haskell/Hydra/Python/Dsl/Names.hs view
@@ -0,0 +1,195 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.python.names++module Hydra.Python.Dsl.Names where++import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Classes as Classes+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Errors as Errors+import qualified Hydra.Core.Formatting as Formatting+import qualified Hydra.Core.Graph as Graph+import qualified Hydra.Core.Json.Model as JsonModel+import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Names as CoreNames+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.Query as Query+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+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 qualified Hydra.Python.Dsl.Environment as DslEnvironment+import qualified Hydra.Python.Dsl.Syntax as DslSyntax+import qualified Hydra.Python.Environment as Environment+import qualified Hydra.Python.Language as Language+import qualified Hydra.Python.Names as PythonNames+import qualified Hydra.Python.Serde as Serde+import qualified Hydra.Python.Syntax as Syntax+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.python.names.encodeConstantForFieldName+encodeConstantForFieldName :: Typed.TypedTerm t0 -> Typed.TypedTerm t1 -> Typed.TypedTerm Model.Name -> Typed.TypedTerm Syntax.Name+encodeConstantForFieldName 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.python.names.encodeConstantForFieldName")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)})),+ Model.applicationArgument = (Typed.unTypedTerm arg1)})),+ Model.applicationArgument = (Typed.unTypedTerm arg2)}))++-- | DSL reference to hydra.python.names.encodeConstantForTypeName+encodeConstantForTypeName :: Typed.TypedTerm t0 -> Typed.TypedTerm t1 -> Typed.TypedTerm Syntax.Name+encodeConstantForTypeName arg0 arg1 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.names.encodeConstantForTypeName")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)})),+ Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.names.encodeEnumValue+encodeEnumValue :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Model.Name -> Typed.TypedTerm Syntax.Name+encodeEnumValue arg0 arg1 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.names.encodeEnumValue")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)})),+ Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.names.encodeFieldName+encodeFieldName :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Model.Name -> Typed.TypedTerm Syntax.Name+encodeFieldName arg0 arg1 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.names.encodeFieldName")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)})),+ Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.names.encodeName+encodeName :: Typed.TypedTerm Bool -> Typed.TypedTerm Util.CaseConvention -> Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Model.Name -> Typed.TypedTerm Syntax.Name+encodeName 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.python.names.encodeName")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)})),+ Model.applicationArgument = (Typed.unTypedTerm arg1)})),+ Model.applicationArgument = (Typed.unTypedTerm arg2)})),+ Model.applicationArgument = (Typed.unTypedTerm arg3)}))++-- | DSL reference to hydra.python.names.encodeNameQualified+encodeNameQualified :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Model.Name -> Typed.TypedTerm Syntax.Name+encodeNameQualified arg0 arg1 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.names.encodeNameQualified")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)})),+ Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.names.encodeNamespace+encodeNamespace :: Typed.TypedTerm Packaging.ModuleName -> Typed.TypedTerm Syntax.DottedName+encodeNamespace arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.names.encodeNamespace")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.names.encodeNamespaceStringWithOverrides+encodeNamespaceStringWithOverrides :: Typed.TypedTerm (S.Set String) -> Typed.TypedTerm Packaging.ModuleName -> Typed.TypedTerm String+encodeNamespaceStringWithOverrides arg0 arg1 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.names.encodeNamespaceStringWithOverrides")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)})),+ Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.names.encodeNamespaceWithOverrides+encodeNamespaceWithOverrides :: Typed.TypedTerm (S.Set String) -> Typed.TypedTerm Packaging.ModuleName -> Typed.TypedTerm Syntax.DottedName+encodeNamespaceWithOverrides arg0 arg1 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.names.encodeNamespaceWithOverrides")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)})),+ Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.names.encodeTypeVariable+encodeTypeVariable :: Typed.TypedTerm Model.Name -> Typed.TypedTerm Syntax.Name+encodeTypeVariable arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.names.encodeTypeVariable")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.names.overlayPythonModuleAliases+overlayPythonModuleAliases :: Typed.TypedTerm (M.Map Packaging.ModuleName String)+overlayPythonModuleAliases =+ Typed.TypedTerm (Model.TermVariable (Model.Name "hydra.python.names.overlayPythonModuleAliases"))++-- | DSL reference to hydra.python.names.sanitizePythonName+sanitizePythonName :: Typed.TypedTerm String -> Typed.TypedTerm String+sanitizePythonName arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.names.sanitizePythonName")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.names.termVariableReference+termVariableReference :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Model.Name -> Typed.TypedTerm Syntax.Expression+termVariableReference arg0 arg1 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.names.termVariableReference")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)})),+ Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.names.typeVariableReference+typeVariableReference :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Model.Name -> Typed.TypedTerm Syntax.Expression+typeVariableReference arg0 arg1 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.names.typeVariableReference")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)})),+ Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.names.useFutureAnnotations+useFutureAnnotations :: Typed.TypedTerm Bool+useFutureAnnotations = Typed.TypedTerm (Model.TermVariable (Model.Name "hydra.python.names.useFutureAnnotations"))++-- | DSL reference to hydra.python.names.variableReference+variableReference :: Typed.TypedTerm Util.CaseConvention -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Model.Name -> Typed.TypedTerm Syntax.Expression+variableReference 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.python.names.variableReference")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)})),+ Model.applicationArgument = (Typed.unTypedTerm arg1)})),+ Model.applicationArgument = (Typed.unTypedTerm arg2)})),+ Model.applicationArgument = (Typed.unTypedTerm arg3)}))++-- | DSL reference to hydra.python.names.variantName+variantName :: Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Model.Name -> Typed.TypedTerm Model.Name -> Typed.TypedTerm Syntax.Name+variantName 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.python.names.variantName")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)})),+ Model.applicationArgument = (Typed.unTypedTerm arg1)})),+ Model.applicationArgument = (Typed.unTypedTerm arg2)})),+ Model.applicationArgument = (Typed.unTypedTerm arg3)}))
+ src/main/haskell/Hydra/Python/Dsl/Syntax.hs view
@@ -0,0 +1,11745 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.python.syntax++module Hydra.Python.Dsl.Syntax where++import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Python.Syntax as Syntax+import Prelude hiding (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)+import qualified Data.Scientific as Sci+import Data.Void++-- | DSL name token for hydra.python.syntax.AnnotatedRhs+annotatedRhsAnnotatedRhs :: Typed.TypedName Syntax.AnnotatedRhs+annotatedRhsAnnotatedRhs = Typed.TypedName (Model.Name "hydra.python.syntax.AnnotatedRhs")++-- | DSL injection for the star variant of hydra.python.syntax.AnnotatedRhs+annotatedRhsStar :: Typed.TypedTerm [Syntax.StarExpression] -> Typed.TypedTerm Syntax.AnnotatedRhs+annotatedRhsStar x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.AnnotatedRhs"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "star"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the yield variant of hydra.python.syntax.AnnotatedRhs+annotatedRhsYield :: Typed.TypedTerm Syntax.YieldExpression -> Typed.TypedTerm Syntax.AnnotatedRhs+annotatedRhsYield x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.AnnotatedRhs"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "yield"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.python.syntax.AnnotatedStatement+annotatedStatement :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm Syntax.AnnotatedStatement+annotatedStatement comment statement =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.AnnotatedStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm comment)},+ Model.Field {+ Model.fieldName = (Model.Name "statement"),+ Model.fieldTerm = (Typed.unTypedTerm statement)}]}))++-- | DSL name token for hydra.python.syntax.AnnotatedStatement+annotatedStatementAnnotatedStatement :: Typed.TypedName Syntax.AnnotatedStatement+annotatedStatementAnnotatedStatement = Typed.TypedName (Model.Name "hydra.python.syntax.AnnotatedStatement")++-- | DSL accessor for the comment field of hydra.python.syntax.AnnotatedStatement+annotatedStatementComment :: Typed.TypedTerm Syntax.AnnotatedStatement -> Typed.TypedTerm String+annotatedStatementComment x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.AnnotatedStatement"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the statement field of hydra.python.syntax.AnnotatedStatement+annotatedStatementStatement :: Typed.TypedTerm Syntax.AnnotatedStatement -> Typed.TypedTerm Syntax.Statement+annotatedStatementStatement x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.AnnotatedStatement"),+ Model.projectionFieldName = (Model.Name "statement")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the comment field of hydra.python.syntax.AnnotatedStatement+annotatedStatementWithComment :: Typed.TypedTerm Syntax.AnnotatedStatement -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.AnnotatedStatement+annotatedStatementWithComment original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.AnnotatedStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "statement"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.AnnotatedStatement"),+ Model.projectionFieldName = (Model.Name "statement")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the statement field of hydra.python.syntax.AnnotatedStatement+annotatedStatementWithStatement :: Typed.TypedTerm Syntax.AnnotatedStatement -> Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm Syntax.AnnotatedStatement+annotatedStatementWithStatement original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.AnnotatedStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "comment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.AnnotatedStatement"),+ Model.projectionFieldName = (Model.Name "comment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "statement"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for the hydra.python.syntax.Annotation wrapper+annotation :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Annotation+annotation x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.Annotation"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Annotation+annotationAnnotation :: Typed.TypedName Syntax.Annotation+annotationAnnotation = Typed.TypedName (Model.Name "hydra.python.syntax.Annotation")++-- | DSL constructor for hydra.python.syntax.Args+args :: Typed.TypedTerm [Syntax.PosArg] -> Typed.TypedTerm [Syntax.KwargOrStarred] -> Typed.TypedTerm [Syntax.KwargOrDoubleStarred] -> Typed.TypedTerm Syntax.Args+args positional kwargOrStarred kwargOrDoubleStarred =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Args"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "positional"),+ Model.fieldTerm = (Typed.unTypedTerm positional)},+ Model.Field {+ Model.fieldName = (Model.Name "kwargOrStarred"),+ Model.fieldTerm = (Typed.unTypedTerm kwargOrStarred)},+ Model.Field {+ Model.fieldName = (Model.Name "kwargOrDoubleStarred"),+ Model.fieldTerm = (Typed.unTypedTerm kwargOrDoubleStarred)}]}))++-- | DSL name token for hydra.python.syntax.Args+argsArgs :: Typed.TypedName Syntax.Args+argsArgs = Typed.TypedName (Model.Name "hydra.python.syntax.Args")++-- | DSL accessor for the kwargOrDoubleStarred field of hydra.python.syntax.Args+argsKwargOrDoubleStarred :: Typed.TypedTerm Syntax.Args -> Typed.TypedTerm [Syntax.KwargOrDoubleStarred]+argsKwargOrDoubleStarred x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Args"),+ Model.projectionFieldName = (Model.Name "kwargOrDoubleStarred")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the kwargOrStarred field of hydra.python.syntax.Args+argsKwargOrStarred :: Typed.TypedTerm Syntax.Args -> Typed.TypedTerm [Syntax.KwargOrStarred]+argsKwargOrStarred x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Args"),+ Model.projectionFieldName = (Model.Name "kwargOrStarred")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the positional field of hydra.python.syntax.Args+argsPositional :: Typed.TypedTerm Syntax.Args -> Typed.TypedTerm [Syntax.PosArg]+argsPositional x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Args"),+ Model.projectionFieldName = (Model.Name "positional")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the kwargOrDoubleStarred field of hydra.python.syntax.Args+argsWithKwargOrDoubleStarred :: Typed.TypedTerm Syntax.Args -> Typed.TypedTerm [Syntax.KwargOrDoubleStarred] -> Typed.TypedTerm Syntax.Args+argsWithKwargOrDoubleStarred original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Args"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "positional"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Args"),+ Model.projectionFieldName = (Model.Name "positional")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "kwargOrStarred"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Args"),+ Model.projectionFieldName = (Model.Name "kwargOrStarred")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "kwargOrDoubleStarred"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the kwargOrStarred field of hydra.python.syntax.Args+argsWithKwargOrStarred :: Typed.TypedTerm Syntax.Args -> Typed.TypedTerm [Syntax.KwargOrStarred] -> Typed.TypedTerm Syntax.Args+argsWithKwargOrStarred original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Args"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "positional"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Args"),+ Model.projectionFieldName = (Model.Name "positional")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "kwargOrStarred"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "kwargOrDoubleStarred"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Args"),+ Model.projectionFieldName = (Model.Name "kwargOrDoubleStarred")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the positional field of hydra.python.syntax.Args+argsWithPositional :: Typed.TypedTerm Syntax.Args -> Typed.TypedTerm [Syntax.PosArg] -> Typed.TypedTerm Syntax.Args+argsWithPositional original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Args"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "positional"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "kwargOrStarred"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Args"),+ Model.projectionFieldName = (Model.Name "kwargOrStarred")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "kwargOrDoubleStarred"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Args"),+ Model.projectionFieldName = (Model.Name "kwargOrDoubleStarred")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.python.syntax.AsPattern+asPattern :: Typed.TypedTerm Syntax.OrPattern -> Typed.TypedTerm Syntax.PatternCaptureTarget -> Typed.TypedTerm Syntax.AsPattern+asPattern pattern as =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.AsPattern"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "pattern"),+ Model.fieldTerm = (Typed.unTypedTerm pattern)},+ Model.Field {+ Model.fieldName = (Model.Name "as"),+ Model.fieldTerm = (Typed.unTypedTerm as)}]}))++-- | DSL accessor for the as field of hydra.python.syntax.AsPattern+asPatternAs :: Typed.TypedTerm Syntax.AsPattern -> Typed.TypedTerm Syntax.PatternCaptureTarget+asPatternAs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.AsPattern"),+ Model.projectionFieldName = (Model.Name "as")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.AsPattern+asPatternAsPattern :: Typed.TypedName Syntax.AsPattern+asPatternAsPattern = Typed.TypedName (Model.Name "hydra.python.syntax.AsPattern")++-- | DSL accessor for the pattern field of hydra.python.syntax.AsPattern+asPatternPattern :: Typed.TypedTerm Syntax.AsPattern -> Typed.TypedTerm Syntax.OrPattern+asPatternPattern x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.AsPattern"),+ Model.projectionFieldName = (Model.Name "pattern")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the as field of hydra.python.syntax.AsPattern+asPatternWithAs :: Typed.TypedTerm Syntax.AsPattern -> Typed.TypedTerm Syntax.PatternCaptureTarget -> Typed.TypedTerm Syntax.AsPattern+asPatternWithAs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.AsPattern"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "pattern"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.AsPattern"),+ Model.projectionFieldName = (Model.Name "pattern")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "as"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the pattern field of hydra.python.syntax.AsPattern+asPatternWithPattern :: Typed.TypedTerm Syntax.AsPattern -> Typed.TypedTerm Syntax.OrPattern -> Typed.TypedTerm Syntax.AsPattern+asPatternWithPattern original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.AsPattern"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "pattern"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "as"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.AsPattern"),+ Model.projectionFieldName = (Model.Name "as")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.python.syntax.AssertStatement+assertStatement :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.AssertStatement+assertStatement expression1 expression2 =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.AssertStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression1"),+ Model.fieldTerm = (Typed.unTypedTerm expression1)},+ Model.Field {+ Model.fieldName = (Model.Name "expression2"),+ Model.fieldTerm = (Typed.unTypedTerm expression2)}]}))++-- | DSL name token for hydra.python.syntax.AssertStatement+assertStatementAssertStatement :: Typed.TypedName Syntax.AssertStatement+assertStatementAssertStatement = Typed.TypedName (Model.Name "hydra.python.syntax.AssertStatement")++-- | DSL accessor for the expression1 field of hydra.python.syntax.AssertStatement+assertStatementExpression1 :: Typed.TypedTerm Syntax.AssertStatement -> Typed.TypedTerm Syntax.Expression+assertStatementExpression1 x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.AssertStatement"),+ Model.projectionFieldName = (Model.Name "expression1")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the expression2 field of hydra.python.syntax.AssertStatement+assertStatementExpression2 :: Typed.TypedTerm Syntax.AssertStatement -> Typed.TypedTerm (Maybe Syntax.Expression)+assertStatementExpression2 x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.AssertStatement"),+ Model.projectionFieldName = (Model.Name "expression2")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the expression1 field of hydra.python.syntax.AssertStatement+assertStatementWithExpression1 :: Typed.TypedTerm Syntax.AssertStatement -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.AssertStatement+assertStatementWithExpression1 original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.AssertStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression1"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "expression2"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.AssertStatement"),+ Model.projectionFieldName = (Model.Name "expression2")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the expression2 field of hydra.python.syntax.AssertStatement+assertStatementWithExpression2 :: Typed.TypedTerm Syntax.AssertStatement -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.AssertStatement+assertStatementWithExpression2 original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.AssertStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression1"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.AssertStatement"),+ Model.projectionFieldName = (Model.Name "expression1")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "expression2"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL name token for hydra.python.syntax.Assignment+assignmentAssignment :: Typed.TypedName Syntax.Assignment+assignmentAssignment = Typed.TypedName (Model.Name "hydra.python.syntax.Assignment")++-- | DSL injection for the aug variant of hydra.python.syntax.Assignment+assignmentAug :: Typed.TypedTerm Syntax.AugAssignment -> Typed.TypedTerm Syntax.Assignment+assignmentAug x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Assignment"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "aug"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.python.syntax.AssignmentExpression+assignmentExpression :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.AssignmentExpression+assignmentExpression name expression =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.AssignmentExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)}]}))++-- | DSL name token for hydra.python.syntax.AssignmentExpression+assignmentExpressionAssignmentExpression :: Typed.TypedName Syntax.AssignmentExpression+assignmentExpressionAssignmentExpression = Typed.TypedName (Model.Name "hydra.python.syntax.AssignmentExpression")++-- | DSL accessor for the expression field of hydra.python.syntax.AssignmentExpression+assignmentExpressionExpression :: Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.Expression+assignmentExpressionExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.AssignmentExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.python.syntax.AssignmentExpression+assignmentExpressionName :: Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.Name+assignmentExpressionName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.AssignmentExpression"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the expression field of hydra.python.syntax.AssignmentExpression+assignmentExpressionWithExpression :: Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.AssignmentExpression+assignmentExpressionWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.AssignmentExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.AssignmentExpression"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.python.syntax.AssignmentExpression+assignmentExpressionWithName :: Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.AssignmentExpression+assignmentExpressionWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.AssignmentExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.AssignmentExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the typed variant of hydra.python.syntax.Assignment+assignmentTyped :: Typed.TypedTerm Syntax.TypedAssignment -> Typed.TypedTerm Syntax.Assignment+assignmentTyped x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Assignment"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "typed"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the untyped variant of hydra.python.syntax.Assignment+assignmentUntyped :: Typed.TypedTerm Syntax.UntypedAssignment -> Typed.TypedTerm Syntax.Assignment+assignmentUntyped x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Assignment"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "untyped"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.Atom+atomAtom :: Typed.TypedName Syntax.Atom+atomAtom = Typed.TypedName (Model.Name "hydra.python.syntax.Atom")++-- | DSL injection for the dict variant of hydra.python.syntax.Atom+atomDict :: Typed.TypedTerm Syntax.Dict -> Typed.TypedTerm Syntax.Atom+atomDict x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Atom"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "dict"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the dictcomp variant of hydra.python.syntax.Atom+atomDictcomp :: Typed.TypedTerm Syntax.Dictcomp -> Typed.TypedTerm Syntax.Atom+atomDictcomp x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Atom"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "dictcomp"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the ellipsis variant of hydra.python.syntax.Atom+atomEllipsis :: Typed.TypedTerm Syntax.Atom+atomEllipsis =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Atom"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ellipsis"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the false variant of hydra.python.syntax.Atom+atomFalse :: Typed.TypedTerm Syntax.Atom+atomFalse =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Atom"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "false"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the genexp variant of hydra.python.syntax.Atom+atomGenexp :: Typed.TypedTerm Syntax.Genexp -> Typed.TypedTerm Syntax.Atom+atomGenexp x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Atom"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "genexp"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the group variant of hydra.python.syntax.Atom+atomGroup :: Typed.TypedTerm Syntax.Group -> Typed.TypedTerm Syntax.Atom+atomGroup x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Atom"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "group"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the list variant of hydra.python.syntax.Atom+atomList :: Typed.TypedTerm Syntax.List -> Typed.TypedTerm Syntax.Atom+atomList x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Atom"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "list"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the listcomp variant of hydra.python.syntax.Atom+atomListcomp :: Typed.TypedTerm Syntax.Listcomp -> Typed.TypedTerm Syntax.Atom+atomListcomp x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Atom"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "listcomp"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the name variant of hydra.python.syntax.Atom+atomName :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Atom+atomName x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Atom"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the none variant of hydra.python.syntax.Atom+atomNone :: Typed.TypedTerm Syntax.Atom+atomNone =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Atom"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "none"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the number variant of hydra.python.syntax.Atom+atomNumber :: Typed.TypedTerm Syntax.Number -> Typed.TypedTerm Syntax.Atom+atomNumber x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Atom"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "number"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the set variant of hydra.python.syntax.Atom+atomSet :: Typed.TypedTerm Syntax.Set -> Typed.TypedTerm Syntax.Atom+atomSet x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Atom"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "set"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the setcomp variant of hydra.python.syntax.Atom+atomSetcomp :: Typed.TypedTerm Syntax.Setcomp -> Typed.TypedTerm Syntax.Atom+atomSetcomp x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Atom"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "setcomp"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the string variant of hydra.python.syntax.Atom+atomString :: Typed.TypedTerm Syntax.String_ -> Typed.TypedTerm Syntax.Atom+atomString x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Atom"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "string"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the true variant of hydra.python.syntax.Atom+atomTrue :: Typed.TypedTerm Syntax.Atom+atomTrue =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Atom"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "true"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the tuple variant of hydra.python.syntax.Atom+atomTuple :: Typed.TypedTerm Syntax.Tuple -> Typed.TypedTerm Syntax.Atom+atomTuple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Atom"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "tuple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.python.syntax.Attribute wrapper+attribute :: Typed.TypedTerm [Syntax.Name] -> Typed.TypedTerm Syntax.Attribute+attribute x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.Attribute"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Attribute+attributeAttribute :: Typed.TypedName Syntax.Attribute+attributeAttribute = Typed.TypedName (Model.Name "hydra.python.syntax.Attribute")++-- | DSL injection for the ampersandEqual variant of hydra.python.syntax.AugAssign+augAssignAmpersandEqual :: Typed.TypedTerm Syntax.AugAssign+augAssignAmpersandEqual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.AugAssign"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ampersandEqual"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the atEqual variant of hydra.python.syntax.AugAssign+augAssignAtEqual :: Typed.TypedTerm Syntax.AugAssign+augAssignAtEqual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.AugAssign"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "atEqual"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.python.syntax.AugAssign+augAssignAugAssign :: Typed.TypedName Syntax.AugAssign+augAssignAugAssign = Typed.TypedName (Model.Name "hydra.python.syntax.AugAssign")++-- | DSL injection for the barEqual variant of hydra.python.syntax.AugAssign+augAssignBarEqual :: Typed.TypedTerm Syntax.AugAssign+augAssignBarEqual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.AugAssign"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "barEqual"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the caretEqual variant of hydra.python.syntax.AugAssign+augAssignCaretEqual :: Typed.TypedTerm Syntax.AugAssign+augAssignCaretEqual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.AugAssign"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "caretEqual"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the doubleSlashEqual variant of hydra.python.syntax.AugAssign+augAssignDoubleSlashEqual :: Typed.TypedTerm Syntax.AugAssign+augAssignDoubleSlashEqual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.AugAssign"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "doubleSlashEqual"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the leftShiftEqual variant of hydra.python.syntax.AugAssign+augAssignLeftShiftEqual :: Typed.TypedTerm Syntax.AugAssign+augAssignLeftShiftEqual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.AugAssign"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "leftShiftEqual"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the minusEqual variant of hydra.python.syntax.AugAssign+augAssignMinusEqual :: Typed.TypedTerm Syntax.AugAssign+augAssignMinusEqual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.AugAssign"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "minusEqual"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the percentEqual variant of hydra.python.syntax.AugAssign+augAssignPercentEqual :: Typed.TypedTerm Syntax.AugAssign+augAssignPercentEqual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.AugAssign"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "percentEqual"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the plusEqual variant of hydra.python.syntax.AugAssign+augAssignPlusEqual :: Typed.TypedTerm Syntax.AugAssign+augAssignPlusEqual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.AugAssign"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "plusEqual"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the rightShiftEqual variant of hydra.python.syntax.AugAssign+augAssignRightShiftEqual :: Typed.TypedTerm Syntax.AugAssign+augAssignRightShiftEqual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.AugAssign"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "rightShiftEqual"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the slashEqual variant of hydra.python.syntax.AugAssign+augAssignSlashEqual :: Typed.TypedTerm Syntax.AugAssign+augAssignSlashEqual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.AugAssign"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "slashEqual"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the starStarEqual variant of hydra.python.syntax.AugAssign+augAssignStarStarEqual :: Typed.TypedTerm Syntax.AugAssign+augAssignStarStarEqual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.AugAssign"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "starStarEqual"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the timesEqual variant of hydra.python.syntax.AugAssign+augAssignTimesEqual :: Typed.TypedTerm Syntax.AugAssign+augAssignTimesEqual =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.AugAssign"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "timesEqual"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.python.syntax.AugAssignment+augAssignment :: Typed.TypedTerm Syntax.SingleTarget -> Typed.TypedTerm Syntax.AugAssign -> Typed.TypedTerm Syntax.AnnotatedRhs -> Typed.TypedTerm Syntax.AugAssignment+augAssignment lhs augassign rhs =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.AugAssignment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lhs"),+ Model.fieldTerm = (Typed.unTypedTerm lhs)},+ Model.Field {+ Model.fieldName = (Model.Name "augassign"),+ Model.fieldTerm = (Typed.unTypedTerm augassign)},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Typed.unTypedTerm rhs)}]}))++-- | DSL name token for hydra.python.syntax.AugAssignment+augAssignmentAugAssignment :: Typed.TypedName Syntax.AugAssignment+augAssignmentAugAssignment = Typed.TypedName (Model.Name "hydra.python.syntax.AugAssignment")++-- | DSL accessor for the augassign field of hydra.python.syntax.AugAssignment+augAssignmentAugassign :: Typed.TypedTerm Syntax.AugAssignment -> Typed.TypedTerm Syntax.AugAssign+augAssignmentAugassign x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.AugAssignment"),+ Model.projectionFieldName = (Model.Name "augassign")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the lhs field of hydra.python.syntax.AugAssignment+augAssignmentLhs :: Typed.TypedTerm Syntax.AugAssignment -> Typed.TypedTerm Syntax.SingleTarget+augAssignmentLhs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.AugAssignment"),+ Model.projectionFieldName = (Model.Name "lhs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the rhs field of hydra.python.syntax.AugAssignment+augAssignmentRhs :: Typed.TypedTerm Syntax.AugAssignment -> Typed.TypedTerm Syntax.AnnotatedRhs+augAssignmentRhs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.AugAssignment"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the augassign field of hydra.python.syntax.AugAssignment+augAssignmentWithAugassign :: Typed.TypedTerm Syntax.AugAssignment -> Typed.TypedTerm Syntax.AugAssign -> Typed.TypedTerm Syntax.AugAssignment+augAssignmentWithAugassign original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.AugAssignment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lhs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.AugAssignment"),+ Model.projectionFieldName = (Model.Name "lhs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "augassign"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.AugAssignment"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the lhs field of hydra.python.syntax.AugAssignment+augAssignmentWithLhs :: Typed.TypedTerm Syntax.AugAssignment -> Typed.TypedTerm Syntax.SingleTarget -> Typed.TypedTerm Syntax.AugAssignment+augAssignmentWithLhs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.AugAssignment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lhs"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "augassign"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.AugAssignment"),+ Model.projectionFieldName = (Model.Name "augassign")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.AugAssignment"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the rhs field of hydra.python.syntax.AugAssignment+augAssignmentWithRhs :: Typed.TypedTerm Syntax.AugAssignment -> Typed.TypedTerm Syntax.AnnotatedRhs -> Typed.TypedTerm Syntax.AugAssignment+augAssignmentWithRhs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.AugAssignment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lhs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.AugAssignment"),+ Model.projectionFieldName = (Model.Name "lhs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "augassign"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.AugAssignment"),+ Model.projectionFieldName = (Model.Name "augassign")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.AwaitPrimary+awaitPrimary :: Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.AwaitPrimary+awaitPrimary await primary =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.AwaitPrimary"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "await"),+ Model.fieldTerm = (Typed.unTypedTerm await)},+ Model.Field {+ Model.fieldName = (Model.Name "primary"),+ Model.fieldTerm = (Typed.unTypedTerm primary)}]}))++-- | DSL accessor for the await field of hydra.python.syntax.AwaitPrimary+awaitPrimaryAwait :: Typed.TypedTerm Syntax.AwaitPrimary -> Typed.TypedTerm Bool+awaitPrimaryAwait x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.AwaitPrimary"),+ Model.projectionFieldName = (Model.Name "await")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.AwaitPrimary+awaitPrimaryAwaitPrimary :: Typed.TypedName Syntax.AwaitPrimary+awaitPrimaryAwaitPrimary = Typed.TypedName (Model.Name "hydra.python.syntax.AwaitPrimary")++-- | DSL accessor for the primary field of hydra.python.syntax.AwaitPrimary+awaitPrimaryPrimary :: Typed.TypedTerm Syntax.AwaitPrimary -> Typed.TypedTerm Syntax.Primary+awaitPrimaryPrimary x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.AwaitPrimary"),+ Model.projectionFieldName = (Model.Name "primary")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the await field of hydra.python.syntax.AwaitPrimary+awaitPrimaryWithAwait :: Typed.TypedTerm Syntax.AwaitPrimary -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.AwaitPrimary+awaitPrimaryWithAwait original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.AwaitPrimary"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "await"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "primary"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.AwaitPrimary"),+ Model.projectionFieldName = (Model.Name "primary")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the primary field of hydra.python.syntax.AwaitPrimary+awaitPrimaryWithPrimary :: Typed.TypedTerm Syntax.AwaitPrimary -> Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.AwaitPrimary+awaitPrimaryWithPrimary original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.AwaitPrimary"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "await"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.AwaitPrimary"),+ Model.projectionFieldName = (Model.Name "await")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "primary"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.BitwiseAnd+bitwiseAnd :: Typed.TypedTerm (Maybe Syntax.BitwiseAnd) -> Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.BitwiseAnd+bitwiseAnd lhs rhs =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.BitwiseAnd"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lhs"),+ Model.fieldTerm = (Typed.unTypedTerm lhs)},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Typed.unTypedTerm rhs)}]}))++-- | DSL name token for hydra.python.syntax.BitwiseAnd+bitwiseAndBitwiseAnd :: Typed.TypedName Syntax.BitwiseAnd+bitwiseAndBitwiseAnd = Typed.TypedName (Model.Name "hydra.python.syntax.BitwiseAnd")++-- | DSL accessor for the lhs field of hydra.python.syntax.BitwiseAnd+bitwiseAndLhs :: Typed.TypedTerm Syntax.BitwiseAnd -> Typed.TypedTerm (Maybe Syntax.BitwiseAnd)+bitwiseAndLhs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.BitwiseAnd"),+ Model.projectionFieldName = (Model.Name "lhs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the rhs field of hydra.python.syntax.BitwiseAnd+bitwiseAndRhs :: Typed.TypedTerm Syntax.BitwiseAnd -> Typed.TypedTerm Syntax.ShiftExpression+bitwiseAndRhs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.BitwiseAnd"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the lhs field of hydra.python.syntax.BitwiseAnd+bitwiseAndWithLhs :: Typed.TypedTerm Syntax.BitwiseAnd -> Typed.TypedTerm (Maybe Syntax.BitwiseAnd) -> Typed.TypedTerm Syntax.BitwiseAnd+bitwiseAndWithLhs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.BitwiseAnd"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lhs"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.BitwiseAnd"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the rhs field of hydra.python.syntax.BitwiseAnd+bitwiseAndWithRhs :: Typed.TypedTerm Syntax.BitwiseAnd -> Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.BitwiseAnd+bitwiseAndWithRhs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.BitwiseAnd"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lhs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.BitwiseAnd"),+ Model.projectionFieldName = (Model.Name "lhs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.BitwiseOr+bitwiseOr :: Typed.TypedTerm (Maybe Syntax.BitwiseOr) -> Typed.TypedTerm Syntax.BitwiseXor -> Typed.TypedTerm Syntax.BitwiseOr+bitwiseOr lhs rhs =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.BitwiseOr"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lhs"),+ Model.fieldTerm = (Typed.unTypedTerm lhs)},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Typed.unTypedTerm rhs)}]}))++-- | DSL name token for hydra.python.syntax.BitwiseOr+bitwiseOrBitwiseOr :: Typed.TypedName Syntax.BitwiseOr+bitwiseOrBitwiseOr = Typed.TypedName (Model.Name "hydra.python.syntax.BitwiseOr")++-- | DSL accessor for the lhs field of hydra.python.syntax.BitwiseOr+bitwiseOrLhs :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm (Maybe Syntax.BitwiseOr)+bitwiseOrLhs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.BitwiseOr"),+ Model.projectionFieldName = (Model.Name "lhs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the rhs field of hydra.python.syntax.BitwiseOr+bitwiseOrRhs :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.BitwiseXor+bitwiseOrRhs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.BitwiseOr"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the lhs field of hydra.python.syntax.BitwiseOr+bitwiseOrWithLhs :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm (Maybe Syntax.BitwiseOr) -> Typed.TypedTerm Syntax.BitwiseOr+bitwiseOrWithLhs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.BitwiseOr"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lhs"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.BitwiseOr"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the rhs field of hydra.python.syntax.BitwiseOr+bitwiseOrWithRhs :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.BitwiseXor -> Typed.TypedTerm Syntax.BitwiseOr+bitwiseOrWithRhs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.BitwiseOr"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lhs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.BitwiseOr"),+ Model.projectionFieldName = (Model.Name "lhs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.BitwiseXor+bitwiseXor :: Typed.TypedTerm (Maybe Syntax.BitwiseXor) -> Typed.TypedTerm Syntax.BitwiseAnd -> Typed.TypedTerm Syntax.BitwiseXor+bitwiseXor lhs rhs =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.BitwiseXor"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lhs"),+ Model.fieldTerm = (Typed.unTypedTerm lhs)},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Typed.unTypedTerm rhs)}]}))++-- | DSL name token for hydra.python.syntax.BitwiseXor+bitwiseXorBitwiseXor :: Typed.TypedName Syntax.BitwiseXor+bitwiseXorBitwiseXor = Typed.TypedName (Model.Name "hydra.python.syntax.BitwiseXor")++-- | DSL accessor for the lhs field of hydra.python.syntax.BitwiseXor+bitwiseXorLhs :: Typed.TypedTerm Syntax.BitwiseXor -> Typed.TypedTerm (Maybe Syntax.BitwiseXor)+bitwiseXorLhs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.BitwiseXor"),+ Model.projectionFieldName = (Model.Name "lhs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the rhs field of hydra.python.syntax.BitwiseXor+bitwiseXorRhs :: Typed.TypedTerm Syntax.BitwiseXor -> Typed.TypedTerm Syntax.BitwiseAnd+bitwiseXorRhs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.BitwiseXor"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the lhs field of hydra.python.syntax.BitwiseXor+bitwiseXorWithLhs :: Typed.TypedTerm Syntax.BitwiseXor -> Typed.TypedTerm (Maybe Syntax.BitwiseXor) -> Typed.TypedTerm Syntax.BitwiseXor+bitwiseXorWithLhs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.BitwiseXor"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lhs"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.BitwiseXor"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the rhs field of hydra.python.syntax.BitwiseXor+bitwiseXorWithRhs :: Typed.TypedTerm Syntax.BitwiseXor -> Typed.TypedTerm Syntax.BitwiseAnd -> Typed.TypedTerm Syntax.BitwiseXor+bitwiseXorWithRhs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.BitwiseXor"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lhs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.BitwiseXor"),+ Model.projectionFieldName = (Model.Name "lhs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL name token for hydra.python.syntax.Block+blockBlock :: Typed.TypedName Syntax.Block+blockBlock = Typed.TypedName (Model.Name "hydra.python.syntax.Block")++-- | DSL injection for the indented variant of hydra.python.syntax.Block+blockIndented :: Typed.TypedTerm [[Syntax.Statement]] -> Typed.TypedTerm Syntax.Block+blockIndented x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Block"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "indented"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the simple variant of hydra.python.syntax.Block+blockSimple :: Typed.TypedTerm [Syntax.SimpleStatement] -> Typed.TypedTerm Syntax.Block+blockSimple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Block"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "simple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.python.syntax.CapturePattern wrapper+capturePattern :: Typed.TypedTerm Syntax.PatternCaptureTarget -> Typed.TypedTerm Syntax.CapturePattern+capturePattern x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.CapturePattern"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.CapturePattern+capturePatternCapturePattern :: Typed.TypedName Syntax.CapturePattern+capturePatternCapturePattern = Typed.TypedName (Model.Name "hydra.python.syntax.CapturePattern")++-- | DSL constructor for hydra.python.syntax.CaseBlock+caseBlock :: Typed.TypedTerm Syntax.Patterns -> Typed.TypedTerm (Maybe Syntax.Guard) -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.CaseBlock+caseBlock patterns guard body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.CaseBlock"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "patterns"),+ Model.fieldTerm = (Typed.unTypedTerm patterns)},+ Model.Field {+ Model.fieldName = (Model.Name "guard"),+ Model.fieldTerm = (Typed.unTypedTerm guard)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the body field of hydra.python.syntax.CaseBlock+caseBlockBody :: Typed.TypedTerm Syntax.CaseBlock -> Typed.TypedTerm Syntax.Block+caseBlockBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.CaseBlock"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.CaseBlock+caseBlockCaseBlock :: Typed.TypedName Syntax.CaseBlock+caseBlockCaseBlock = Typed.TypedName (Model.Name "hydra.python.syntax.CaseBlock")++-- | DSL accessor for the guard field of hydra.python.syntax.CaseBlock+caseBlockGuard :: Typed.TypedTerm Syntax.CaseBlock -> Typed.TypedTerm (Maybe Syntax.Guard)+caseBlockGuard x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.CaseBlock"),+ Model.projectionFieldName = (Model.Name "guard")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the patterns field of hydra.python.syntax.CaseBlock+caseBlockPatterns :: Typed.TypedTerm Syntax.CaseBlock -> Typed.TypedTerm Syntax.Patterns+caseBlockPatterns x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.CaseBlock"),+ Model.projectionFieldName = (Model.Name "patterns")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the body field of hydra.python.syntax.CaseBlock+caseBlockWithBody :: Typed.TypedTerm Syntax.CaseBlock -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.CaseBlock+caseBlockWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.CaseBlock"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "patterns"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.CaseBlock"),+ Model.projectionFieldName = (Model.Name "patterns")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "guard"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.CaseBlock"),+ Model.projectionFieldName = (Model.Name "guard")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the guard field of hydra.python.syntax.CaseBlock+caseBlockWithGuard :: Typed.TypedTerm Syntax.CaseBlock -> Typed.TypedTerm (Maybe Syntax.Guard) -> Typed.TypedTerm Syntax.CaseBlock+caseBlockWithGuard original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.CaseBlock"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "patterns"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.CaseBlock"),+ Model.projectionFieldName = (Model.Name "patterns")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "guard"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.CaseBlock"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the patterns field of hydra.python.syntax.CaseBlock+caseBlockWithPatterns :: Typed.TypedTerm Syntax.CaseBlock -> Typed.TypedTerm Syntax.Patterns -> Typed.TypedTerm Syntax.CaseBlock+caseBlockWithPatterns original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.CaseBlock"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "patterns"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "guard"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.CaseBlock"),+ Model.projectionFieldName = (Model.Name "guard")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.CaseBlock"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.python.syntax.ClassDefinition+classDefinition :: Typed.TypedTerm (Maybe Syntax.Decorators) -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm [Syntax.TypeParameter] -> Typed.TypedTerm (Maybe Syntax.Args) -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.ClassDefinition+classDefinition decorators name typeParams arguments body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "decorators"),+ Model.fieldTerm = (Typed.unTypedTerm decorators)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "typeParams"),+ Model.fieldTerm = (Typed.unTypedTerm typeParams)},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm arguments)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the arguments field of hydra.python.syntax.ClassDefinition+classDefinitionArguments :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm (Maybe Syntax.Args)+classDefinitionArguments x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body field of hydra.python.syntax.ClassDefinition+classDefinitionBody :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm Syntax.Block+classDefinitionBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ClassDefinition+classDefinitionClassDefinition :: Typed.TypedName Syntax.ClassDefinition+classDefinitionClassDefinition = Typed.TypedName (Model.Name "hydra.python.syntax.ClassDefinition")++-- | DSL accessor for the decorators field of hydra.python.syntax.ClassDefinition+classDefinitionDecorators :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm (Maybe Syntax.Decorators)+classDefinitionDecorators x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+ Model.projectionFieldName = (Model.Name "decorators")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.python.syntax.ClassDefinition+classDefinitionName :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm Syntax.Name+classDefinitionName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the typeParams field of hydra.python.syntax.ClassDefinition+classDefinitionTypeParams :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm [Syntax.TypeParameter]+classDefinitionTypeParams x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+ Model.projectionFieldName = (Model.Name "typeParams")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the arguments field of hydra.python.syntax.ClassDefinition+classDefinitionWithArguments :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm (Maybe Syntax.Args) -> Typed.TypedTerm Syntax.ClassDefinition+classDefinitionWithArguments original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "decorators"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+ Model.projectionFieldName = (Model.Name "decorators")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeParams"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+ Model.projectionFieldName = (Model.Name "typeParams")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the body field of hydra.python.syntax.ClassDefinition+classDefinitionWithBody :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.ClassDefinition+classDefinitionWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "decorators"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+ Model.projectionFieldName = (Model.Name "decorators")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeParams"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+ Model.projectionFieldName = (Model.Name "typeParams")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the decorators field of hydra.python.syntax.ClassDefinition+classDefinitionWithDecorators :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm (Maybe Syntax.Decorators) -> Typed.TypedTerm Syntax.ClassDefinition+classDefinitionWithDecorators original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "decorators"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeParams"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+ Model.projectionFieldName = (Model.Name "typeParams")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.python.syntax.ClassDefinition+classDefinitionWithName :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.ClassDefinition+classDefinitionWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "decorators"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+ Model.projectionFieldName = (Model.Name "decorators")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "typeParams"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+ Model.projectionFieldName = (Model.Name "typeParams")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeParams field of hydra.python.syntax.ClassDefinition+classDefinitionWithTypeParams :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm [Syntax.TypeParameter] -> Typed.TypedTerm Syntax.ClassDefinition+classDefinitionWithTypeParams original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "decorators"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+ Model.projectionFieldName = (Model.Name "decorators")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeParams"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.python.syntax.ClassPattern+classPattern :: Typed.TypedTerm Syntax.NameOrAttribute -> Typed.TypedTerm (Maybe Syntax.PositionalPatterns) -> Typed.TypedTerm (Maybe Syntax.KeywordPatterns) -> Typed.TypedTerm Syntax.ClassPattern+classPattern nameOrAttribute positionalPatterns keywordPatterns =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ClassPattern"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "nameOrAttribute"),+ Model.fieldTerm = (Typed.unTypedTerm nameOrAttribute)},+ Model.Field {+ Model.fieldName = (Model.Name "positionalPatterns"),+ Model.fieldTerm = (Typed.unTypedTerm positionalPatterns)},+ Model.Field {+ Model.fieldName = (Model.Name "keywordPatterns"),+ Model.fieldTerm = (Typed.unTypedTerm keywordPatterns)}]}))++-- | DSL name token for hydra.python.syntax.ClassPattern+classPatternClassPattern :: Typed.TypedName Syntax.ClassPattern+classPatternClassPattern = Typed.TypedName (Model.Name "hydra.python.syntax.ClassPattern")++-- | DSL accessor for the keywordPatterns field of hydra.python.syntax.ClassPattern+classPatternKeywordPatterns :: Typed.TypedTerm Syntax.ClassPattern -> Typed.TypedTerm (Maybe Syntax.KeywordPatterns)+classPatternKeywordPatterns x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassPattern"),+ Model.projectionFieldName = (Model.Name "keywordPatterns")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the nameOrAttribute field of hydra.python.syntax.ClassPattern+classPatternNameOrAttribute :: Typed.TypedTerm Syntax.ClassPattern -> Typed.TypedTerm Syntax.NameOrAttribute+classPatternNameOrAttribute x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassPattern"),+ Model.projectionFieldName = (Model.Name "nameOrAttribute")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the positionalPatterns field of hydra.python.syntax.ClassPattern+classPatternPositionalPatterns :: Typed.TypedTerm Syntax.ClassPattern -> Typed.TypedTerm (Maybe Syntax.PositionalPatterns)+classPatternPositionalPatterns x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassPattern"),+ Model.projectionFieldName = (Model.Name "positionalPatterns")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the keywordPatterns field of hydra.python.syntax.ClassPattern+classPatternWithKeywordPatterns :: Typed.TypedTerm Syntax.ClassPattern -> Typed.TypedTerm (Maybe Syntax.KeywordPatterns) -> Typed.TypedTerm Syntax.ClassPattern+classPatternWithKeywordPatterns original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ClassPattern"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "nameOrAttribute"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassPattern"),+ Model.projectionFieldName = (Model.Name "nameOrAttribute")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "positionalPatterns"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassPattern"),+ Model.projectionFieldName = (Model.Name "positionalPatterns")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "keywordPatterns"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the nameOrAttribute field of hydra.python.syntax.ClassPattern+classPatternWithNameOrAttribute :: Typed.TypedTerm Syntax.ClassPattern -> Typed.TypedTerm Syntax.NameOrAttribute -> Typed.TypedTerm Syntax.ClassPattern+classPatternWithNameOrAttribute original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ClassPattern"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "nameOrAttribute"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "positionalPatterns"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassPattern"),+ Model.projectionFieldName = (Model.Name "positionalPatterns")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "keywordPatterns"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassPattern"),+ Model.projectionFieldName = (Model.Name "keywordPatterns")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the positionalPatterns field of hydra.python.syntax.ClassPattern+classPatternWithPositionalPatterns :: Typed.TypedTerm Syntax.ClassPattern -> Typed.TypedTerm (Maybe Syntax.PositionalPatterns) -> Typed.TypedTerm Syntax.ClassPattern+classPatternWithPositionalPatterns original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ClassPattern"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "nameOrAttribute"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassPattern"),+ Model.projectionFieldName = (Model.Name "nameOrAttribute")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "positionalPatterns"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "keywordPatterns"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassPattern"),+ Model.projectionFieldName = (Model.Name "keywordPatterns")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the capture variant of hydra.python.syntax.ClosedPattern+closedPatternCapture :: Typed.TypedTerm Syntax.CapturePattern -> Typed.TypedTerm Syntax.ClosedPattern+closedPatternCapture x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.ClosedPattern"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "capture"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the class variant of hydra.python.syntax.ClosedPattern+closedPatternClass :: Typed.TypedTerm Syntax.ClassPattern -> Typed.TypedTerm Syntax.ClosedPattern+closedPatternClass x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.ClosedPattern"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "class"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.ClosedPattern+closedPatternClosedPattern :: Typed.TypedName Syntax.ClosedPattern+closedPatternClosedPattern = Typed.TypedName (Model.Name "hydra.python.syntax.ClosedPattern")++-- | DSL injection for the group variant of hydra.python.syntax.ClosedPattern+closedPatternGroup :: Typed.TypedTerm Syntax.GroupPattern -> Typed.TypedTerm Syntax.ClosedPattern+closedPatternGroup x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.ClosedPattern"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "group"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the literal variant of hydra.python.syntax.ClosedPattern+closedPatternLiteral :: Typed.TypedTerm Syntax.LiteralExpression -> Typed.TypedTerm Syntax.ClosedPattern+closedPatternLiteral x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.ClosedPattern"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "literal"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the mapping variant of hydra.python.syntax.ClosedPattern+closedPatternMapping :: Typed.TypedTerm Syntax.MappingPattern -> Typed.TypedTerm Syntax.ClosedPattern+closedPatternMapping x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.ClosedPattern"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "mapping"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the sequence variant of hydra.python.syntax.ClosedPattern+closedPatternSequence :: Typed.TypedTerm Syntax.SequencePattern -> Typed.TypedTerm Syntax.ClosedPattern+closedPatternSequence x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.ClosedPattern"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "sequence"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the value variant of hydra.python.syntax.ClosedPattern+closedPatternValue :: Typed.TypedTerm Syntax.ValuePattern -> Typed.TypedTerm Syntax.ClosedPattern+closedPatternValue x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.ClosedPattern"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the wildcard variant of hydra.python.syntax.ClosedPattern+closedPatternWildcard :: Typed.TypedTerm Syntax.ClosedPattern+closedPatternWildcard =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.ClosedPattern"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "wildcard"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.python.syntax.CommaStarEtc+commaStarEtc :: Typed.TypedTerm [Syntax.ParamMaybeDefault] -> Typed.TypedTerm (Maybe Syntax.Keywords) -> Typed.TypedTerm Syntax.CommaStarEtc+commaStarEtc paramMaybeDefault keywords =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.CommaStarEtc"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "paramMaybeDefault"),+ Model.fieldTerm = (Typed.unTypedTerm paramMaybeDefault)},+ Model.Field {+ Model.fieldName = (Model.Name "keywords"),+ Model.fieldTerm = (Typed.unTypedTerm keywords)}]}))++-- | DSL name token for hydra.python.syntax.CommaStarEtc+commaStarEtcCommaStarEtc :: Typed.TypedName Syntax.CommaStarEtc+commaStarEtcCommaStarEtc = Typed.TypedName (Model.Name "hydra.python.syntax.CommaStarEtc")++-- | DSL accessor for the keywords field of hydra.python.syntax.CommaStarEtc+commaStarEtcKeywords :: Typed.TypedTerm Syntax.CommaStarEtc -> Typed.TypedTerm (Maybe Syntax.Keywords)+commaStarEtcKeywords x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.CommaStarEtc"),+ Model.projectionFieldName = (Model.Name "keywords")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the paramMaybeDefault field of hydra.python.syntax.CommaStarEtc+commaStarEtcParamMaybeDefault :: Typed.TypedTerm Syntax.CommaStarEtc -> Typed.TypedTerm [Syntax.ParamMaybeDefault]+commaStarEtcParamMaybeDefault x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.CommaStarEtc"),+ Model.projectionFieldName = (Model.Name "paramMaybeDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the keywords field of hydra.python.syntax.CommaStarEtc+commaStarEtcWithKeywords :: Typed.TypedTerm Syntax.CommaStarEtc -> Typed.TypedTerm (Maybe Syntax.Keywords) -> Typed.TypedTerm Syntax.CommaStarEtc+commaStarEtcWithKeywords original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.CommaStarEtc"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "paramMaybeDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.CommaStarEtc"),+ Model.projectionFieldName = (Model.Name "paramMaybeDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "keywords"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the paramMaybeDefault field of hydra.python.syntax.CommaStarEtc+commaStarEtcWithParamMaybeDefault :: Typed.TypedTerm Syntax.CommaStarEtc -> Typed.TypedTerm [Syntax.ParamMaybeDefault] -> Typed.TypedTerm Syntax.CommaStarEtc+commaStarEtcWithParamMaybeDefault original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.CommaStarEtc"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "paramMaybeDefault"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "keywords"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.CommaStarEtc"),+ Model.projectionFieldName = (Model.Name "keywords")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.python.syntax.CompareOpBitwiseOrPair+compareOpBitwiseOrPair :: Typed.TypedTerm Syntax.CompareOp -> Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.CompareOpBitwiseOrPair+compareOpBitwiseOrPair operator rhs =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.CompareOpBitwiseOrPair"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Typed.unTypedTerm operator)},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Typed.unTypedTerm rhs)}]}))++-- | DSL name token for hydra.python.syntax.CompareOpBitwiseOrPair+compareOpBitwiseOrPairCompareOpBitwiseOrPair :: Typed.TypedName Syntax.CompareOpBitwiseOrPair+compareOpBitwiseOrPairCompareOpBitwiseOrPair = Typed.TypedName (Model.Name "hydra.python.syntax.CompareOpBitwiseOrPair")++-- | DSL accessor for the operator field of hydra.python.syntax.CompareOpBitwiseOrPair+compareOpBitwiseOrPairOperator :: Typed.TypedTerm Syntax.CompareOpBitwiseOrPair -> Typed.TypedTerm Syntax.CompareOp+compareOpBitwiseOrPairOperator x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.CompareOpBitwiseOrPair"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the rhs field of hydra.python.syntax.CompareOpBitwiseOrPair+compareOpBitwiseOrPairRhs :: Typed.TypedTerm Syntax.CompareOpBitwiseOrPair -> Typed.TypedTerm Syntax.BitwiseOr+compareOpBitwiseOrPairRhs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.CompareOpBitwiseOrPair"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the operator field of hydra.python.syntax.CompareOpBitwiseOrPair+compareOpBitwiseOrPairWithOperator :: Typed.TypedTerm Syntax.CompareOpBitwiseOrPair -> Typed.TypedTerm Syntax.CompareOp -> Typed.TypedTerm Syntax.CompareOpBitwiseOrPair+compareOpBitwiseOrPairWithOperator original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.CompareOpBitwiseOrPair"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.CompareOpBitwiseOrPair"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the rhs field of hydra.python.syntax.CompareOpBitwiseOrPair+compareOpBitwiseOrPairWithRhs :: Typed.TypedTerm Syntax.CompareOpBitwiseOrPair -> Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.CompareOpBitwiseOrPair+compareOpBitwiseOrPairWithRhs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.CompareOpBitwiseOrPair"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.CompareOpBitwiseOrPair"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL name token for hydra.python.syntax.CompareOp+compareOpCompareOp :: Typed.TypedName Syntax.CompareOp+compareOpCompareOp = Typed.TypedName (Model.Name "hydra.python.syntax.CompareOp")++-- | DSL injection for the eq variant of hydra.python.syntax.CompareOp+compareOpEq :: Typed.TypedTerm Syntax.CompareOp+compareOpEq =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompareOp"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "eq"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the gt variant of hydra.python.syntax.CompareOp+compareOpGt :: Typed.TypedTerm Syntax.CompareOp+compareOpGt =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompareOp"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "gt"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the gte variant of hydra.python.syntax.CompareOp+compareOpGte :: Typed.TypedTerm Syntax.CompareOp+compareOpGte =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompareOp"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "gte"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the in variant of hydra.python.syntax.CompareOp+compareOpIn :: Typed.TypedTerm Syntax.CompareOp+compareOpIn =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompareOp"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "in"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the is variant of hydra.python.syntax.CompareOp+compareOpIs :: Typed.TypedTerm Syntax.CompareOp+compareOpIs =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompareOp"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "is"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the isnot variant of hydra.python.syntax.CompareOp+compareOpIsnot :: Typed.TypedTerm Syntax.CompareOp+compareOpIsnot =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompareOp"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "isnot"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the lt variant of hydra.python.syntax.CompareOp+compareOpLt :: Typed.TypedTerm Syntax.CompareOp+compareOpLt =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompareOp"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "lt"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the lte variant of hydra.python.syntax.CompareOp+compareOpLte :: Typed.TypedTerm Syntax.CompareOp+compareOpLte =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompareOp"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "lte"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the noteq variant of hydra.python.syntax.CompareOp+compareOpNoteq :: Typed.TypedTerm Syntax.CompareOp+compareOpNoteq =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompareOp"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "noteq"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the notin variant of hydra.python.syntax.CompareOp+compareOpNotin :: Typed.TypedTerm Syntax.CompareOp+compareOpNotin =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompareOp"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "notin"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.python.syntax.Comparison+comparison :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm [Syntax.CompareOpBitwiseOrPair] -> Typed.TypedTerm Syntax.Comparison+comparison lhs rhs =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Comparison"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lhs"),+ Model.fieldTerm = (Typed.unTypedTerm lhs)},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Typed.unTypedTerm rhs)}]}))++-- | DSL name token for hydra.python.syntax.Comparison+comparisonComparison :: Typed.TypedName Syntax.Comparison+comparisonComparison = Typed.TypedName (Model.Name "hydra.python.syntax.Comparison")++-- | DSL accessor for the lhs field of hydra.python.syntax.Comparison+comparisonLhs :: Typed.TypedTerm Syntax.Comparison -> Typed.TypedTerm Syntax.BitwiseOr+comparisonLhs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Comparison"),+ Model.projectionFieldName = (Model.Name "lhs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the rhs field of hydra.python.syntax.Comparison+comparisonRhs :: Typed.TypedTerm Syntax.Comparison -> Typed.TypedTerm [Syntax.CompareOpBitwiseOrPair]+comparisonRhs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Comparison"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the lhs field of hydra.python.syntax.Comparison+comparisonWithLhs :: Typed.TypedTerm Syntax.Comparison -> Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.Comparison+comparisonWithLhs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Comparison"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lhs"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Comparison"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the rhs field of hydra.python.syntax.Comparison+comparisonWithRhs :: Typed.TypedTerm Syntax.Comparison -> Typed.TypedTerm [Syntax.CompareOpBitwiseOrPair] -> Typed.TypedTerm Syntax.Comparison+comparisonWithRhs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Comparison"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lhs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Comparison"),+ Model.projectionFieldName = (Model.Name "lhs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.ComplexNumber+complexNumber :: Typed.TypedTerm Syntax.SignedRealNumber -> Typed.TypedTerm Syntax.PlusOrMinus -> Typed.TypedTerm Syntax.ImaginaryNumber -> Typed.TypedTerm Syntax.ComplexNumber+complexNumber real plusOrMinus imaginary =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ComplexNumber"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "real"),+ Model.fieldTerm = (Typed.unTypedTerm real)},+ Model.Field {+ Model.fieldName = (Model.Name "plusOrMinus"),+ Model.fieldTerm = (Typed.unTypedTerm plusOrMinus)},+ Model.Field {+ Model.fieldName = (Model.Name "imaginary"),+ Model.fieldTerm = (Typed.unTypedTerm imaginary)}]}))++-- | DSL name token for hydra.python.syntax.ComplexNumber+complexNumberComplexNumber :: Typed.TypedName Syntax.ComplexNumber+complexNumberComplexNumber = Typed.TypedName (Model.Name "hydra.python.syntax.ComplexNumber")++-- | DSL accessor for the imaginary field of hydra.python.syntax.ComplexNumber+complexNumberImaginary :: Typed.TypedTerm Syntax.ComplexNumber -> Typed.TypedTerm Syntax.ImaginaryNumber+complexNumberImaginary x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ComplexNumber"),+ Model.projectionFieldName = (Model.Name "imaginary")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the plusOrMinus field of hydra.python.syntax.ComplexNumber+complexNumberPlusOrMinus :: Typed.TypedTerm Syntax.ComplexNumber -> Typed.TypedTerm Syntax.PlusOrMinus+complexNumberPlusOrMinus x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ComplexNumber"),+ Model.projectionFieldName = (Model.Name "plusOrMinus")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the real field of hydra.python.syntax.ComplexNumber+complexNumberReal :: Typed.TypedTerm Syntax.ComplexNumber -> Typed.TypedTerm Syntax.SignedRealNumber+complexNumberReal x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ComplexNumber"),+ Model.projectionFieldName = (Model.Name "real")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the imaginary field of hydra.python.syntax.ComplexNumber+complexNumberWithImaginary :: Typed.TypedTerm Syntax.ComplexNumber -> Typed.TypedTerm Syntax.ImaginaryNumber -> Typed.TypedTerm Syntax.ComplexNumber+complexNumberWithImaginary original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ComplexNumber"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "real"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ComplexNumber"),+ Model.projectionFieldName = (Model.Name "real")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "plusOrMinus"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ComplexNumber"),+ Model.projectionFieldName = (Model.Name "plusOrMinus")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "imaginary"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the plusOrMinus field of hydra.python.syntax.ComplexNumber+complexNumberWithPlusOrMinus :: Typed.TypedTerm Syntax.ComplexNumber -> Typed.TypedTerm Syntax.PlusOrMinus -> Typed.TypedTerm Syntax.ComplexNumber+complexNumberWithPlusOrMinus original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ComplexNumber"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "real"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ComplexNumber"),+ Model.projectionFieldName = (Model.Name "real")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "plusOrMinus"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "imaginary"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ComplexNumber"),+ Model.projectionFieldName = (Model.Name "imaginary")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the real field of hydra.python.syntax.ComplexNumber+complexNumberWithReal :: Typed.TypedTerm Syntax.ComplexNumber -> Typed.TypedTerm Syntax.SignedRealNumber -> Typed.TypedTerm Syntax.ComplexNumber+complexNumberWithReal original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ComplexNumber"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "real"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "plusOrMinus"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ComplexNumber"),+ Model.projectionFieldName = (Model.Name "plusOrMinus")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "imaginary"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ComplexNumber"),+ Model.projectionFieldName = (Model.Name "imaginary")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the classDef variant of hydra.python.syntax.CompoundStatement+compoundStatementClassDef :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm Syntax.CompoundStatement+compoundStatementClassDef x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompoundStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "classDef"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.CompoundStatement+compoundStatementCompoundStatement :: Typed.TypedName Syntax.CompoundStatement+compoundStatementCompoundStatement = Typed.TypedName (Model.Name "hydra.python.syntax.CompoundStatement")++-- | DSL injection for the for variant of hydra.python.syntax.CompoundStatement+compoundStatementFor :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm Syntax.CompoundStatement+compoundStatementFor x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompoundStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "for"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the function variant of hydra.python.syntax.CompoundStatement+compoundStatementFunction :: Typed.TypedTerm Syntax.FunctionDefinition -> Typed.TypedTerm Syntax.CompoundStatement+compoundStatementFunction x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompoundStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "function"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the if variant of hydra.python.syntax.CompoundStatement+compoundStatementIf :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm Syntax.CompoundStatement+compoundStatementIf x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompoundStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "if"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the match variant of hydra.python.syntax.CompoundStatement+compoundStatementMatch :: Typed.TypedTerm Syntax.MatchStatement -> Typed.TypedTerm Syntax.CompoundStatement+compoundStatementMatch x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompoundStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "match"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the try variant of hydra.python.syntax.CompoundStatement+compoundStatementTry :: Typed.TypedTerm Syntax.TryStatement -> Typed.TypedTerm Syntax.CompoundStatement+compoundStatementTry x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompoundStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "try"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the while variant of hydra.python.syntax.CompoundStatement+compoundStatementWhile :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm Syntax.CompoundStatement+compoundStatementWhile x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompoundStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "while"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the with variant of hydra.python.syntax.CompoundStatement+compoundStatementWith :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm Syntax.CompoundStatement+compoundStatementWith x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompoundStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "with"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.python.syntax.Conditional+conditional :: Typed.TypedTerm Syntax.Disjunction -> Typed.TypedTerm Syntax.Disjunction -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Conditional+conditional body if_ else_ =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Conditional"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)},+ Model.Field {+ Model.fieldName = (Model.Name "if"),+ Model.fieldTerm = (Typed.unTypedTerm if_)},+ Model.Field {+ Model.fieldName = (Model.Name "else"),+ Model.fieldTerm = (Typed.unTypedTerm else_)}]}))++-- | DSL accessor for the body field of hydra.python.syntax.Conditional+conditionalBody :: Typed.TypedTerm Syntax.Conditional -> Typed.TypedTerm Syntax.Disjunction+conditionalBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Conditional"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Conditional+conditionalConditional :: Typed.TypedName Syntax.Conditional+conditionalConditional = Typed.TypedName (Model.Name "hydra.python.syntax.Conditional")++-- | DSL accessor for the else field of hydra.python.syntax.Conditional+conditionalElse :: Typed.TypedTerm Syntax.Conditional -> Typed.TypedTerm Syntax.Expression+conditionalElse x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Conditional"),+ Model.projectionFieldName = (Model.Name "else")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the if field of hydra.python.syntax.Conditional+conditionalIf :: Typed.TypedTerm Syntax.Conditional -> Typed.TypedTerm Syntax.Disjunction+conditionalIf x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Conditional"),+ Model.projectionFieldName = (Model.Name "if")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the body field of hydra.python.syntax.Conditional+conditionalWithBody :: Typed.TypedTerm Syntax.Conditional -> Typed.TypedTerm Syntax.Disjunction -> Typed.TypedTerm Syntax.Conditional+conditionalWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Conditional"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "if"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Conditional"),+ Model.projectionFieldName = (Model.Name "if")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "else"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Conditional"),+ Model.projectionFieldName = (Model.Name "else")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the else field of hydra.python.syntax.Conditional+conditionalWithElse :: Typed.TypedTerm Syntax.Conditional -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Conditional+conditionalWithElse original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Conditional"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Conditional"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "if"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Conditional"),+ Model.projectionFieldName = (Model.Name "if")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "else"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the if field of hydra.python.syntax.Conditional+conditionalWithIf :: Typed.TypedTerm Syntax.Conditional -> Typed.TypedTerm Syntax.Disjunction -> Typed.TypedTerm Syntax.Conditional+conditionalWithIf original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Conditional"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Conditional"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "if"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "else"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Conditional"),+ Model.projectionFieldName = (Model.Name "else")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.python.syntax.Conjunction wrapper+conjunction :: Typed.TypedTerm [Syntax.Inversion] -> Typed.TypedTerm Syntax.Conjunction+conjunction x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.Conjunction"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Conjunction+conjunctionConjunction :: Typed.TypedName Syntax.Conjunction+conjunctionConjunction = Typed.TypedName (Model.Name "hydra.python.syntax.Conjunction")++-- | DSL constructor for the hydra.python.syntax.Decorators wrapper+decorators :: Typed.TypedTerm [Syntax.NamedExpression] -> Typed.TypedTerm Syntax.Decorators+decorators x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.Decorators"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Decorators+decoratorsDecorators :: Typed.TypedName Syntax.Decorators+decoratorsDecorators = Typed.TypedName (Model.Name "hydra.python.syntax.Decorators")++-- | DSL constructor for the hydra.python.syntax.Default wrapper+default_ :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Default+default_ x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.Default"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Default+defaultDefault :: Typed.TypedName Syntax.Default+defaultDefault = Typed.TypedName (Model.Name "hydra.python.syntax.Default")++-- | DSL constructor for the hydra.python.syntax.DelStatement wrapper+delStatement :: Typed.TypedTerm Syntax.DelTargets -> Typed.TypedTerm Syntax.DelStatement+delStatement x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.DelStatement"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.DelStatement+delStatementDelStatement :: Typed.TypedName Syntax.DelStatement+delStatementDelStatement = Typed.TypedName (Model.Name "hydra.python.syntax.DelStatement")++-- | DSL name token for hydra.python.syntax.DelTAtom+delTAtomDelTAtom :: Typed.TypedName Syntax.DelTAtom+delTAtomDelTAtom = Typed.TypedName (Model.Name "hydra.python.syntax.DelTAtom")++-- | DSL injection for the name variant of hydra.python.syntax.DelTAtom+delTAtomName :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.DelTAtom+delTAtomName x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.DelTAtom"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the target variant of hydra.python.syntax.DelTAtom+delTAtomTarget :: Typed.TypedTerm Syntax.DelTarget -> Typed.TypedTerm Syntax.DelTAtom+delTAtomTarget x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.DelTAtom"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "target"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the targets variant of hydra.python.syntax.DelTAtom+delTAtomTargets :: Typed.TypedTerm Syntax.DelTargets -> Typed.TypedTerm Syntax.DelTAtom+delTAtomTargets x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.DelTAtom"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "targets"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the delTAtom variant of hydra.python.syntax.DelTarget+delTargetDelTAtom :: Typed.TypedTerm Syntax.DelTAtom -> Typed.TypedTerm Syntax.DelTarget+delTargetDelTAtom x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.DelTarget"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "delTAtom"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.DelTarget+delTargetDelTarget :: Typed.TypedName Syntax.DelTarget+delTargetDelTarget = Typed.TypedName (Model.Name "hydra.python.syntax.DelTarget")++-- | DSL injection for the primaryAndName variant of hydra.python.syntax.DelTarget+delTargetPrimaryAndName :: Typed.TypedTerm Syntax.TPrimaryAndName -> Typed.TypedTerm Syntax.DelTarget+delTargetPrimaryAndName x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.DelTarget"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "primaryAndName"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the primaryAndSlices variant of hydra.python.syntax.DelTarget+delTargetPrimaryAndSlices :: Typed.TypedTerm Syntax.TPrimaryAndSlices -> Typed.TypedTerm Syntax.DelTarget+delTargetPrimaryAndSlices x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.DelTarget"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "primaryAndSlices"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.python.syntax.DelTargets wrapper+delTargets :: Typed.TypedTerm [Syntax.DelTarget] -> Typed.TypedTerm Syntax.DelTargets+delTargets x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.DelTargets"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.DelTargets+delTargetsDelTargets :: Typed.TypedName Syntax.DelTargets+delTargetsDelTargets = Typed.TypedName (Model.Name "hydra.python.syntax.DelTargets")++-- | DSL constructor for the hydra.python.syntax.Dict wrapper+dict :: Typed.TypedTerm [Syntax.DoubleStarredKvpair] -> Typed.TypedTerm Syntax.Dict+dict x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.Dict"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Dict+dictDict :: Typed.TypedName Syntax.Dict+dictDict = Typed.TypedName (Model.Name "hydra.python.syntax.Dict")++-- | DSL constructor for hydra.python.syntax.Dictcomp+dictcomp :: Typed.TypedTerm Syntax.Kvpair -> Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm Syntax.Dictcomp+dictcomp kvpair forIfClauses =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Dictcomp"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "kvpair"),+ Model.fieldTerm = (Typed.unTypedTerm kvpair)},+ Model.Field {+ Model.fieldName = (Model.Name "forIfClauses"),+ Model.fieldTerm = (Typed.unTypedTerm forIfClauses)}]}))++-- | DSL name token for hydra.python.syntax.Dictcomp+dictcompDictcomp :: Typed.TypedName Syntax.Dictcomp+dictcompDictcomp = Typed.TypedName (Model.Name "hydra.python.syntax.Dictcomp")++-- | DSL accessor for the forIfClauses field of hydra.python.syntax.Dictcomp+dictcompForIfClauses :: Typed.TypedTerm Syntax.Dictcomp -> Typed.TypedTerm Syntax.ForIfClauses+dictcompForIfClauses x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Dictcomp"),+ Model.projectionFieldName = (Model.Name "forIfClauses")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the kvpair field of hydra.python.syntax.Dictcomp+dictcompKvpair :: Typed.TypedTerm Syntax.Dictcomp -> Typed.TypedTerm Syntax.Kvpair+dictcompKvpair x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Dictcomp"),+ Model.projectionFieldName = (Model.Name "kvpair")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the forIfClauses field of hydra.python.syntax.Dictcomp+dictcompWithForIfClauses :: Typed.TypedTerm Syntax.Dictcomp -> Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm Syntax.Dictcomp+dictcompWithForIfClauses original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Dictcomp"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "kvpair"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Dictcomp"),+ Model.projectionFieldName = (Model.Name "kvpair")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "forIfClauses"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the kvpair field of hydra.python.syntax.Dictcomp+dictcompWithKvpair :: Typed.TypedTerm Syntax.Dictcomp -> Typed.TypedTerm Syntax.Kvpair -> Typed.TypedTerm Syntax.Dictcomp+dictcompWithKvpair original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Dictcomp"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "kvpair"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "forIfClauses"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Dictcomp"),+ Model.projectionFieldName = (Model.Name "forIfClauses")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.python.syntax.Disjunction wrapper+disjunction :: Typed.TypedTerm [Syntax.Conjunction] -> Typed.TypedTerm Syntax.Disjunction+disjunction x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.Disjunction"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Disjunction+disjunctionDisjunction :: Typed.TypedName Syntax.Disjunction+disjunctionDisjunction = Typed.TypedName (Model.Name "hydra.python.syntax.Disjunction")++-- | DSL constructor for hydra.python.syntax.DottedAsName+dottedAsName :: Typed.TypedTerm Syntax.DottedName -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.DottedAsName+dottedAsName name as =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.DottedAsName"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "as"),+ Model.fieldTerm = (Typed.unTypedTerm as)}]}))++-- | DSL accessor for the as field of hydra.python.syntax.DottedAsName+dottedAsNameAs :: Typed.TypedTerm Syntax.DottedAsName -> Typed.TypedTerm (Maybe Syntax.Name)+dottedAsNameAs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.DottedAsName"),+ Model.projectionFieldName = (Model.Name "as")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.DottedAsName+dottedAsNameDottedAsName :: Typed.TypedName Syntax.DottedAsName+dottedAsNameDottedAsName = Typed.TypedName (Model.Name "hydra.python.syntax.DottedAsName")++-- | DSL accessor for the name field of hydra.python.syntax.DottedAsName+dottedAsNameName :: Typed.TypedTerm Syntax.DottedAsName -> Typed.TypedTerm Syntax.DottedName+dottedAsNameName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.DottedAsName"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the as field of hydra.python.syntax.DottedAsName+dottedAsNameWithAs :: Typed.TypedTerm Syntax.DottedAsName -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.DottedAsName+dottedAsNameWithAs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.DottedAsName"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.DottedAsName"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "as"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.python.syntax.DottedAsName+dottedAsNameWithName :: Typed.TypedTerm Syntax.DottedAsName -> Typed.TypedTerm Syntax.DottedName -> Typed.TypedTerm Syntax.DottedAsName+dottedAsNameWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.DottedAsName"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "as"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.DottedAsName"),+ Model.projectionFieldName = (Model.Name "as")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.python.syntax.DottedName wrapper+dottedName :: Typed.TypedTerm [Syntax.Name] -> Typed.TypedTerm Syntax.DottedName+dottedName x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.DottedName"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.DottedName+dottedNameDottedName :: Typed.TypedName Syntax.DottedName+dottedNameDottedName = Typed.TypedName (Model.Name "hydra.python.syntax.DottedName")++-- | DSL constructor for the hydra.python.syntax.DoubleStarPattern wrapper+doubleStarPattern :: Typed.TypedTerm Syntax.PatternCaptureTarget -> Typed.TypedTerm Syntax.DoubleStarPattern+doubleStarPattern x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.DoubleStarPattern"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.DoubleStarPattern+doubleStarPatternDoubleStarPattern :: Typed.TypedName Syntax.DoubleStarPattern+doubleStarPatternDoubleStarPattern = Typed.TypedName (Model.Name "hydra.python.syntax.DoubleStarPattern")++-- | DSL constructor for hydra.python.syntax.DoubleStarTypeParameter+doubleStarTypeParameter :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.DoubleStarTypeParameter+doubleStarTypeParameter name default_ =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.DoubleStarTypeParameter"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = (Typed.unTypedTerm default_)}]}))++-- | DSL accessor for the default field of hydra.python.syntax.DoubleStarTypeParameter+doubleStarTypeParameterDefault :: Typed.TypedTerm Syntax.DoubleStarTypeParameter -> Typed.TypedTerm (Maybe Syntax.Expression)+doubleStarTypeParameterDefault x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.DoubleStarTypeParameter"),+ Model.projectionFieldName = (Model.Name "default")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.DoubleStarTypeParameter+doubleStarTypeParameterDoubleStarTypeParameter :: Typed.TypedName Syntax.DoubleStarTypeParameter+doubleStarTypeParameterDoubleStarTypeParameter =+ Typed.TypedName (Model.Name "hydra.python.syntax.DoubleStarTypeParameter")++-- | DSL accessor for the name field of hydra.python.syntax.DoubleStarTypeParameter+doubleStarTypeParameterName :: Typed.TypedTerm Syntax.DoubleStarTypeParameter -> Typed.TypedTerm Syntax.Name+doubleStarTypeParameterName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.DoubleStarTypeParameter"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the default field of hydra.python.syntax.DoubleStarTypeParameter+doubleStarTypeParameterWithDefault :: Typed.TypedTerm Syntax.DoubleStarTypeParameter -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.DoubleStarTypeParameter+doubleStarTypeParameterWithDefault original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.DoubleStarTypeParameter"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.DoubleStarTypeParameter"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.python.syntax.DoubleStarTypeParameter+doubleStarTypeParameterWithName :: Typed.TypedTerm Syntax.DoubleStarTypeParameter -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.DoubleStarTypeParameter+doubleStarTypeParameterWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.DoubleStarTypeParameter"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.DoubleStarTypeParameter"),+ Model.projectionFieldName = (Model.Name "default")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.python.syntax.DoubleStarredKvpair+doubleStarredKvpairDoubleStarredKvpair :: Typed.TypedName Syntax.DoubleStarredKvpair+doubleStarredKvpairDoubleStarredKvpair = Typed.TypedName (Model.Name "hydra.python.syntax.DoubleStarredKvpair")++-- | DSL injection for the pair variant of hydra.python.syntax.DoubleStarredKvpair+doubleStarredKvpairPair :: Typed.TypedTerm Syntax.Kvpair -> Typed.TypedTerm Syntax.DoubleStarredKvpair+doubleStarredKvpairPair x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.DoubleStarredKvpair"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "pair"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the starred variant of hydra.python.syntax.DoubleStarredKvpair+doubleStarredKvpairStarred :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.DoubleStarredKvpair+doubleStarredKvpairStarred x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.DoubleStarredKvpair"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "starred"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.python.syntax.Eval wrapper+eval :: Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.Eval+eval x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.Eval"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Eval+evalEval :: Typed.TypedName Syntax.Eval+evalEval = Typed.TypedName (Model.Name "hydra.python.syntax.Eval")++-- | DSL constructor for hydra.python.syntax.ExceptBlock+exceptBlock :: Typed.TypedTerm (Maybe Syntax.ExceptExpression) -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.ExceptBlock+exceptBlock expression body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ExceptBlock"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the body field of hydra.python.syntax.ExceptBlock+exceptBlockBody :: Typed.TypedTerm Syntax.ExceptBlock -> Typed.TypedTerm Syntax.Block+exceptBlockBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptBlock"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ExceptBlock+exceptBlockExceptBlock :: Typed.TypedName Syntax.ExceptBlock+exceptBlockExceptBlock = Typed.TypedName (Model.Name "hydra.python.syntax.ExceptBlock")++-- | DSL accessor for the expression field of hydra.python.syntax.ExceptBlock+exceptBlockExpression :: Typed.TypedTerm Syntax.ExceptBlock -> Typed.TypedTerm (Maybe Syntax.ExceptExpression)+exceptBlockExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptBlock"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the body field of hydra.python.syntax.ExceptBlock+exceptBlockWithBody :: Typed.TypedTerm Syntax.ExceptBlock -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.ExceptBlock+exceptBlockWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ExceptBlock"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptBlock"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the expression field of hydra.python.syntax.ExceptBlock+exceptBlockWithExpression :: Typed.TypedTerm Syntax.ExceptBlock -> Typed.TypedTerm (Maybe Syntax.ExceptExpression) -> Typed.TypedTerm Syntax.ExceptBlock+exceptBlockWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ExceptBlock"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptBlock"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.python.syntax.ExceptExpression+exceptExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.ExceptExpression+exceptExpression expression as =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ExceptExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)},+ Model.Field {+ Model.fieldName = (Model.Name "as"),+ Model.fieldTerm = (Typed.unTypedTerm as)}]}))++-- | DSL accessor for the as field of hydra.python.syntax.ExceptExpression+exceptExpressionAs :: Typed.TypedTerm Syntax.ExceptExpression -> Typed.TypedTerm (Maybe Syntax.Name)+exceptExpressionAs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptExpression"),+ Model.projectionFieldName = (Model.Name "as")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ExceptExpression+exceptExpressionExceptExpression :: Typed.TypedName Syntax.ExceptExpression+exceptExpressionExceptExpression = Typed.TypedName (Model.Name "hydra.python.syntax.ExceptExpression")++-- | DSL accessor for the expression field of hydra.python.syntax.ExceptExpression+exceptExpressionExpression :: Typed.TypedTerm Syntax.ExceptExpression -> Typed.TypedTerm Syntax.Expression+exceptExpressionExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the as field of hydra.python.syntax.ExceptExpression+exceptExpressionWithAs :: Typed.TypedTerm Syntax.ExceptExpression -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.ExceptExpression+exceptExpressionWithAs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ExceptExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "as"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the expression field of hydra.python.syntax.ExceptExpression+exceptExpressionWithExpression :: Typed.TypedTerm Syntax.ExceptExpression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.ExceptExpression+exceptExpressionWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ExceptExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "as"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptExpression"),+ Model.projectionFieldName = (Model.Name "as")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.python.syntax.ExceptStarBlock+exceptStarBlock :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.ExceptStarBlock+exceptStarBlock expression as body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ExceptStarBlock"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)},+ Model.Field {+ Model.fieldName = (Model.Name "as"),+ Model.fieldTerm = (Typed.unTypedTerm as)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the as field of hydra.python.syntax.ExceptStarBlock+exceptStarBlockAs :: Typed.TypedTerm Syntax.ExceptStarBlock -> Typed.TypedTerm (Maybe Syntax.Name)+exceptStarBlockAs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptStarBlock"),+ Model.projectionFieldName = (Model.Name "as")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body field of hydra.python.syntax.ExceptStarBlock+exceptStarBlockBody :: Typed.TypedTerm Syntax.ExceptStarBlock -> Typed.TypedTerm Syntax.Block+exceptStarBlockBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptStarBlock"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ExceptStarBlock+exceptStarBlockExceptStarBlock :: Typed.TypedName Syntax.ExceptStarBlock+exceptStarBlockExceptStarBlock = Typed.TypedName (Model.Name "hydra.python.syntax.ExceptStarBlock")++-- | DSL accessor for the expression field of hydra.python.syntax.ExceptStarBlock+exceptStarBlockExpression :: Typed.TypedTerm Syntax.ExceptStarBlock -> Typed.TypedTerm Syntax.Expression+exceptStarBlockExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptStarBlock"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the as field of hydra.python.syntax.ExceptStarBlock+exceptStarBlockWithAs :: Typed.TypedTerm Syntax.ExceptStarBlock -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.ExceptStarBlock+exceptStarBlockWithAs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ExceptStarBlock"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptStarBlock"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "as"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptStarBlock"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the body field of hydra.python.syntax.ExceptStarBlock+exceptStarBlockWithBody :: Typed.TypedTerm Syntax.ExceptStarBlock -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.ExceptStarBlock+exceptStarBlockWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ExceptStarBlock"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptStarBlock"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "as"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptStarBlock"),+ Model.projectionFieldName = (Model.Name "as")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the expression field of hydra.python.syntax.ExceptStarBlock+exceptStarBlockWithExpression :: Typed.TypedTerm Syntax.ExceptStarBlock -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.ExceptStarBlock+exceptStarBlockWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ExceptStarBlock"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "as"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptStarBlock"),+ Model.projectionFieldName = (Model.Name "as")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptStarBlock"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the conditional variant of hydra.python.syntax.Expression+expressionConditional :: Typed.TypedTerm Syntax.Conditional -> Typed.TypedTerm Syntax.Expression+expressionConditional x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Expression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "conditional"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.Expression+expressionExpression :: Typed.TypedName Syntax.Expression+expressionExpression = Typed.TypedName (Model.Name "hydra.python.syntax.Expression")++-- | DSL injection for the lambda variant of hydra.python.syntax.Expression+expressionLambda :: Typed.TypedTerm Syntax.Lambda -> Typed.TypedTerm Syntax.Expression+expressionLambda x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Expression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "lambda"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the simple variant of hydra.python.syntax.Expression+expressionSimple :: Typed.TypedTerm Syntax.Disjunction -> Typed.TypedTerm Syntax.Expression+expressionSimple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Expression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "simple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the complement variant of hydra.python.syntax.Factor+factorComplement :: Typed.TypedTerm Syntax.Factor -> Typed.TypedTerm Syntax.Factor+factorComplement x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Factor"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "complement"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.Factor+factorFactor :: Typed.TypedName Syntax.Factor+factorFactor = Typed.TypedName (Model.Name "hydra.python.syntax.Factor")++-- | DSL injection for the negative variant of hydra.python.syntax.Factor+factorNegative :: Typed.TypedTerm Syntax.Factor -> Typed.TypedTerm Syntax.Factor+factorNegative x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Factor"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "negative"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the positive variant of hydra.python.syntax.Factor+factorPositive :: Typed.TypedTerm Syntax.Factor -> Typed.TypedTerm Syntax.Factor+factorPositive x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Factor"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "positive"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the simple variant of hydra.python.syntax.Factor+factorSimple :: Typed.TypedTerm Syntax.Power -> Typed.TypedTerm Syntax.Factor+factorSimple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Factor"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "simple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.python.syntax.File wrapper+file :: Typed.TypedTerm [Syntax.Statement] -> Typed.TypedTerm Syntax.File+file x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.File"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.File+fileFile :: Typed.TypedName Syntax.File+fileFile = Typed.TypedName (Model.Name "hydra.python.syntax.File")++-- | DSL constructor for hydra.python.syntax.ForIfClause+forIfClause :: Typed.TypedTerm Bool -> Typed.TypedTerm [Syntax.StarTarget] -> Typed.TypedTerm Syntax.Disjunction -> Typed.TypedTerm [Syntax.Disjunction] -> Typed.TypedTerm Syntax.ForIfClause+forIfClause async targets in_ ifs =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "async"),+ Model.fieldTerm = (Typed.unTypedTerm async)},+ Model.Field {+ Model.fieldName = (Model.Name "targets"),+ Model.fieldTerm = (Typed.unTypedTerm targets)},+ Model.Field {+ Model.fieldName = (Model.Name "in"),+ Model.fieldTerm = (Typed.unTypedTerm in_)},+ Model.Field {+ Model.fieldName = (Model.Name "ifs"),+ Model.fieldTerm = (Typed.unTypedTerm ifs)}]}))++-- | DSL accessor for the async field of hydra.python.syntax.ForIfClause+forIfClauseAsync :: Typed.TypedTerm Syntax.ForIfClause -> Typed.TypedTerm Bool+forIfClauseAsync x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+ Model.projectionFieldName = (Model.Name "async")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ForIfClause+forIfClauseForIfClause :: Typed.TypedName Syntax.ForIfClause+forIfClauseForIfClause = Typed.TypedName (Model.Name "hydra.python.syntax.ForIfClause")++-- | DSL accessor for the ifs field of hydra.python.syntax.ForIfClause+forIfClauseIfs :: Typed.TypedTerm Syntax.ForIfClause -> Typed.TypedTerm [Syntax.Disjunction]+forIfClauseIfs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+ Model.projectionFieldName = (Model.Name "ifs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the in field of hydra.python.syntax.ForIfClause+forIfClauseIn :: Typed.TypedTerm Syntax.ForIfClause -> Typed.TypedTerm Syntax.Disjunction+forIfClauseIn x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+ Model.projectionFieldName = (Model.Name "in")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the targets field of hydra.python.syntax.ForIfClause+forIfClauseTargets :: Typed.TypedTerm Syntax.ForIfClause -> Typed.TypedTerm [Syntax.StarTarget]+forIfClauseTargets x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+ Model.projectionFieldName = (Model.Name "targets")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the async field of hydra.python.syntax.ForIfClause+forIfClauseWithAsync :: Typed.TypedTerm Syntax.ForIfClause -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.ForIfClause+forIfClauseWithAsync original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "async"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "targets"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+ Model.projectionFieldName = (Model.Name "targets")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "in"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+ Model.projectionFieldName = (Model.Name "in")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ifs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+ Model.projectionFieldName = (Model.Name "ifs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the ifs field of hydra.python.syntax.ForIfClause+forIfClauseWithIfs :: Typed.TypedTerm Syntax.ForIfClause -> Typed.TypedTerm [Syntax.Disjunction] -> Typed.TypedTerm Syntax.ForIfClause+forIfClauseWithIfs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "async"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+ Model.projectionFieldName = (Model.Name "async")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "targets"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+ Model.projectionFieldName = (Model.Name "targets")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "in"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+ Model.projectionFieldName = (Model.Name "in")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ifs"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the in field of hydra.python.syntax.ForIfClause+forIfClauseWithIn :: Typed.TypedTerm Syntax.ForIfClause -> Typed.TypedTerm Syntax.Disjunction -> Typed.TypedTerm Syntax.ForIfClause+forIfClauseWithIn original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "async"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+ Model.projectionFieldName = (Model.Name "async")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "targets"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+ Model.projectionFieldName = (Model.Name "targets")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "in"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "ifs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+ Model.projectionFieldName = (Model.Name "ifs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the targets field of hydra.python.syntax.ForIfClause+forIfClauseWithTargets :: Typed.TypedTerm Syntax.ForIfClause -> Typed.TypedTerm [Syntax.StarTarget] -> Typed.TypedTerm Syntax.ForIfClause+forIfClauseWithTargets original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "async"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+ Model.projectionFieldName = (Model.Name "async")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "targets"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "in"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+ Model.projectionFieldName = (Model.Name "in")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "ifs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+ Model.projectionFieldName = (Model.Name "ifs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.python.syntax.ForIfClauses wrapper+forIfClauses :: Typed.TypedTerm [Syntax.ForIfClause] -> Typed.TypedTerm Syntax.ForIfClauses+forIfClauses x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.ForIfClauses"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ForIfClauses+forIfClausesForIfClauses :: Typed.TypedName Syntax.ForIfClauses+forIfClausesForIfClauses = Typed.TypedName (Model.Name "hydra.python.syntax.ForIfClauses")++-- | DSL constructor for hydra.python.syntax.ForStatement+forStatement :: Typed.TypedTerm Bool -> Typed.TypedTerm [Syntax.StarTarget] -> Typed.TypedTerm [Syntax.StarExpression] -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.ForStatement+forStatement async targets expressions typeComment body else_ =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "async"),+ Model.fieldTerm = (Typed.unTypedTerm async)},+ Model.Field {+ Model.fieldName = (Model.Name "targets"),+ Model.fieldTerm = (Typed.unTypedTerm targets)},+ Model.Field {+ Model.fieldName = (Model.Name "expressions"),+ Model.fieldTerm = (Typed.unTypedTerm expressions)},+ Model.Field {+ Model.fieldName = (Model.Name "typeComment"),+ Model.fieldTerm = (Typed.unTypedTerm typeComment)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)},+ Model.Field {+ Model.fieldName = (Model.Name "else"),+ Model.fieldTerm = (Typed.unTypedTerm else_)}]}))++-- | DSL accessor for the async field of hydra.python.syntax.ForStatement+forStatementAsync :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm Bool+forStatementAsync x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "async")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body field of hydra.python.syntax.ForStatement+forStatementBody :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm Syntax.Block+forStatementBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the else field of hydra.python.syntax.ForStatement+forStatementElse :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm (Maybe Syntax.Block)+forStatementElse x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "else")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the expressions field of hydra.python.syntax.ForStatement+forStatementExpressions :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm [Syntax.StarExpression]+forStatementExpressions x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "expressions")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ForStatement+forStatementForStatement :: Typed.TypedName Syntax.ForStatement+forStatementForStatement = Typed.TypedName (Model.Name "hydra.python.syntax.ForStatement")++-- | DSL accessor for the targets field of hydra.python.syntax.ForStatement+forStatementTargets :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm [Syntax.StarTarget]+forStatementTargets x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "targets")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the typeComment field of hydra.python.syntax.ForStatement+forStatementTypeComment :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm (Maybe Syntax.TypeComment)+forStatementTypeComment x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "typeComment")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the async field of hydra.python.syntax.ForStatement+forStatementWithAsync :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.ForStatement+forStatementWithAsync original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "async"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "targets"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "targets")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "expressions"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "expressions")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeComment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "typeComment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "else"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "else")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the body field of hydra.python.syntax.ForStatement+forStatementWithBody :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.ForStatement+forStatementWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "async"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "async")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "targets"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "targets")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "expressions"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "expressions")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeComment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "typeComment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "else"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "else")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the else field of hydra.python.syntax.ForStatement+forStatementWithElse :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.ForStatement+forStatementWithElse original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "async"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "async")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "targets"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "targets")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "expressions"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "expressions")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeComment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "typeComment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "else"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the expressions field of hydra.python.syntax.ForStatement+forStatementWithExpressions :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm [Syntax.StarExpression] -> Typed.TypedTerm Syntax.ForStatement+forStatementWithExpressions original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "async"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "async")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "targets"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "targets")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "expressions"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "typeComment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "typeComment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "else"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "else")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the targets field of hydra.python.syntax.ForStatement+forStatementWithTargets :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm [Syntax.StarTarget] -> Typed.TypedTerm Syntax.ForStatement+forStatementWithTargets original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "async"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "async")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "targets"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "expressions"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "expressions")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeComment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "typeComment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "else"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "else")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeComment field of hydra.python.syntax.ForStatement+forStatementWithTypeComment :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ForStatement+forStatementWithTypeComment original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "async"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "async")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "targets"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "targets")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "expressions"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "expressions")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeComment"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "else"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+ Model.projectionFieldName = (Model.Name "else")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.python.syntax.FuncTypeComment wrapper+funcTypeComment :: Typed.TypedTerm Syntax.TypeComment -> Typed.TypedTerm Syntax.FuncTypeComment+funcTypeComment x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.FuncTypeComment"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.FuncTypeComment+funcTypeCommentFuncTypeComment :: Typed.TypedName Syntax.FuncTypeComment+funcTypeCommentFuncTypeComment = Typed.TypedName (Model.Name "hydra.python.syntax.FuncTypeComment")++-- | DSL constructor for hydra.python.syntax.FunctionDefRaw+functionDefRaw :: Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm [Syntax.TypeParameter] -> Typed.TypedTerm (Maybe Syntax.Parameters) -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm (Maybe Syntax.FuncTypeComment) -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.FunctionDefRaw+functionDefRaw async name typeParams params returnType funcTypeComment block =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "async"),+ Model.fieldTerm = (Typed.unTypedTerm async)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "typeParams"),+ Model.fieldTerm = (Typed.unTypedTerm typeParams)},+ Model.Field {+ Model.fieldName = (Model.Name "params"),+ Model.fieldTerm = (Typed.unTypedTerm params)},+ Model.Field {+ Model.fieldName = (Model.Name "returnType"),+ Model.fieldTerm = (Typed.unTypedTerm returnType)},+ Model.Field {+ Model.fieldName = (Model.Name "funcTypeComment"),+ Model.fieldTerm = (Typed.unTypedTerm funcTypeComment)},+ Model.Field {+ Model.fieldName = (Model.Name "block"),+ Model.fieldTerm = (Typed.unTypedTerm block)}]}))++-- | DSL accessor for the async field of hydra.python.syntax.FunctionDefRaw+functionDefRawAsync :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm Bool+functionDefRawAsync x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "async")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the block field of hydra.python.syntax.FunctionDefRaw+functionDefRawBlock :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm Syntax.Block+functionDefRawBlock x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "block")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the funcTypeComment field of hydra.python.syntax.FunctionDefRaw+functionDefRawFuncTypeComment :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm (Maybe Syntax.FuncTypeComment)+functionDefRawFuncTypeComment x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "funcTypeComment")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.FunctionDefRaw+functionDefRawFunctionDefRaw :: Typed.TypedName Syntax.FunctionDefRaw+functionDefRawFunctionDefRaw = Typed.TypedName (Model.Name "hydra.python.syntax.FunctionDefRaw")++-- | DSL accessor for the name field of hydra.python.syntax.FunctionDefRaw+functionDefRawName :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm Syntax.Name+functionDefRawName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the params field of hydra.python.syntax.FunctionDefRaw+functionDefRawParams :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm (Maybe Syntax.Parameters)+functionDefRawParams x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "params")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the returnType field of hydra.python.syntax.FunctionDefRaw+functionDefRawReturnType :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm (Maybe Syntax.Expression)+functionDefRawReturnType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the typeParams field of hydra.python.syntax.FunctionDefRaw+functionDefRawTypeParams :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm [Syntax.TypeParameter]+functionDefRawTypeParams x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "typeParams")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the async field of hydra.python.syntax.FunctionDefRaw+functionDefRawWithAsync :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.FunctionDefRaw+functionDefRawWithAsync original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "async"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeParams"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "typeParams")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "params"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "params")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "returnType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "funcTypeComment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "funcTypeComment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "block"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "block")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the block field of hydra.python.syntax.FunctionDefRaw+functionDefRawWithBlock :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.FunctionDefRaw+functionDefRawWithBlock original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "async"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "async")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeParams"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "typeParams")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "params"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "params")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "returnType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "funcTypeComment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "funcTypeComment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "block"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the funcTypeComment field of hydra.python.syntax.FunctionDefRaw+functionDefRawWithFuncTypeComment :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm (Maybe Syntax.FuncTypeComment) -> Typed.TypedTerm Syntax.FunctionDefRaw+functionDefRawWithFuncTypeComment original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "async"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "async")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeParams"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "typeParams")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "params"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "params")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "returnType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "funcTypeComment"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "block"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "block")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.python.syntax.FunctionDefRaw+functionDefRawWithName :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.FunctionDefRaw+functionDefRawWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "async"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "async")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "typeParams"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "typeParams")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "params"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "params")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "returnType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "funcTypeComment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "funcTypeComment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "block"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "block")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the params field of hydra.python.syntax.FunctionDefRaw+functionDefRawWithParams :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm (Maybe Syntax.Parameters) -> Typed.TypedTerm Syntax.FunctionDefRaw+functionDefRawWithParams original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "async"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "async")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeParams"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "typeParams")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "params"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "returnType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "funcTypeComment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "funcTypeComment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "block"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "block")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the returnType field of hydra.python.syntax.FunctionDefRaw+functionDefRawWithReturnType :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.FunctionDefRaw+functionDefRawWithReturnType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "async"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "async")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeParams"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "typeParams")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "params"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "params")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "returnType"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "funcTypeComment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "funcTypeComment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "block"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "block")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeParams field of hydra.python.syntax.FunctionDefRaw+functionDefRawWithTypeParams :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm [Syntax.TypeParameter] -> Typed.TypedTerm Syntax.FunctionDefRaw+functionDefRawWithTypeParams original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "async"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "async")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeParams"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "params"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "params")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "returnType"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "returnType")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "funcTypeComment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "funcTypeComment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "block"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+ Model.projectionFieldName = (Model.Name "block")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.python.syntax.FunctionDefinition+functionDefinition :: Typed.TypedTerm (Maybe Syntax.Decorators) -> Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm Syntax.FunctionDefinition+functionDefinition decorators raw =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.FunctionDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "decorators"),+ Model.fieldTerm = (Typed.unTypedTerm decorators)},+ Model.Field {+ Model.fieldName = (Model.Name "raw"),+ Model.fieldTerm = (Typed.unTypedTerm raw)}]}))++-- | DSL accessor for the decorators field of hydra.python.syntax.FunctionDefinition+functionDefinitionDecorators :: Typed.TypedTerm Syntax.FunctionDefinition -> Typed.TypedTerm (Maybe Syntax.Decorators)+functionDefinitionDecorators x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefinition"),+ Model.projectionFieldName = (Model.Name "decorators")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.FunctionDefinition+functionDefinitionFunctionDefinition :: Typed.TypedName Syntax.FunctionDefinition+functionDefinitionFunctionDefinition = Typed.TypedName (Model.Name "hydra.python.syntax.FunctionDefinition")++-- | DSL accessor for the raw field of hydra.python.syntax.FunctionDefinition+functionDefinitionRaw :: Typed.TypedTerm Syntax.FunctionDefinition -> Typed.TypedTerm Syntax.FunctionDefRaw+functionDefinitionRaw x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefinition"),+ Model.projectionFieldName = (Model.Name "raw")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the decorators field of hydra.python.syntax.FunctionDefinition+functionDefinitionWithDecorators :: Typed.TypedTerm Syntax.FunctionDefinition -> Typed.TypedTerm (Maybe Syntax.Decorators) -> Typed.TypedTerm Syntax.FunctionDefinition+functionDefinitionWithDecorators original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.FunctionDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "decorators"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "raw"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefinition"),+ Model.projectionFieldName = (Model.Name "raw")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the raw field of hydra.python.syntax.FunctionDefinition+functionDefinitionWithRaw :: Typed.TypedTerm Syntax.FunctionDefinition -> Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm Syntax.FunctionDefinition+functionDefinitionWithRaw original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.FunctionDefinition"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "decorators"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefinition"),+ Model.projectionFieldName = (Model.Name "decorators")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "raw"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.Genexp+genexp :: Typed.TypedTerm Syntax.GenexpHead -> Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm Syntax.Genexp+genexp head tail =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Genexp"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "head"),+ Model.fieldTerm = (Typed.unTypedTerm head)},+ Model.Field {+ Model.fieldName = (Model.Name "tail"),+ Model.fieldTerm = (Typed.unTypedTerm tail)}]}))++-- | DSL name token for hydra.python.syntax.Genexp+genexpGenexp :: Typed.TypedName Syntax.Genexp+genexpGenexp = Typed.TypedName (Model.Name "hydra.python.syntax.Genexp")++-- | DSL accessor for the head field of hydra.python.syntax.Genexp+genexpHead :: Typed.TypedTerm Syntax.Genexp -> Typed.TypedTerm Syntax.GenexpHead+genexpHead x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Genexp"),+ Model.projectionFieldName = (Model.Name "head")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL injection for the assignment variant of hydra.python.syntax.GenexpHead+genexpHeadAssignment :: Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.GenexpHead+genexpHeadAssignment x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.GenexpHead"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "assignment"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the expression variant of hydra.python.syntax.GenexpHead+genexpHeadExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.GenexpHead+genexpHeadExpression x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.GenexpHead"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.GenexpHead+genexpHeadGenexpHead :: Typed.TypedName Syntax.GenexpHead+genexpHeadGenexpHead = Typed.TypedName (Model.Name "hydra.python.syntax.GenexpHead")++-- | DSL accessor for the tail field of hydra.python.syntax.Genexp+genexpTail :: Typed.TypedTerm Syntax.Genexp -> Typed.TypedTerm Syntax.ForIfClauses+genexpTail x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Genexp"),+ Model.projectionFieldName = (Model.Name "tail")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the head field of hydra.python.syntax.Genexp+genexpWithHead :: Typed.TypedTerm Syntax.Genexp -> Typed.TypedTerm Syntax.GenexpHead -> Typed.TypedTerm Syntax.Genexp+genexpWithHead original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Genexp"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "head"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "tail"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Genexp"),+ Model.projectionFieldName = (Model.Name "tail")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the tail field of hydra.python.syntax.Genexp+genexpWithTail :: Typed.TypedTerm Syntax.Genexp -> Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm Syntax.Genexp+genexpWithTail original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Genexp"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "head"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Genexp"),+ Model.projectionFieldName = (Model.Name "head")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "tail"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the expression variant of hydra.python.syntax.Group+groupExpression :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.Group+groupExpression x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Group"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.Group+groupGroup :: Typed.TypedName Syntax.Group+groupGroup = Typed.TypedName (Model.Name "hydra.python.syntax.Group")++-- | DSL constructor for the hydra.python.syntax.GroupPattern wrapper+groupPattern :: Typed.TypedTerm Syntax.Pattern -> Typed.TypedTerm Syntax.GroupPattern+groupPattern x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.GroupPattern"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.GroupPattern+groupPatternGroupPattern :: Typed.TypedName Syntax.GroupPattern+groupPatternGroupPattern = Typed.TypedName (Model.Name "hydra.python.syntax.GroupPattern")++-- | DSL injection for the yield variant of hydra.python.syntax.Group+groupYield :: Typed.TypedTerm Syntax.YieldExpression -> Typed.TypedTerm Syntax.Group+groupYield x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Group"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "yield"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.python.syntax.Guard wrapper+guard :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.Guard+guard x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.Guard"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Guard+guardGuard :: Typed.TypedName Syntax.Guard+guardGuard = Typed.TypedName (Model.Name "hydra.python.syntax.Guard")++-- | DSL constructor for hydra.python.syntax.IfStatement+ifStatement :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm (Maybe Syntax.IfTail) -> Typed.TypedTerm Syntax.IfStatement+ifStatement condition body continuation =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.IfStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Typed.unTypedTerm condition)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)},+ Model.Field {+ Model.fieldName = (Model.Name "continuation"),+ Model.fieldTerm = (Typed.unTypedTerm continuation)}]}))++-- | DSL accessor for the body field of hydra.python.syntax.IfStatement+ifStatementBody :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm Syntax.Block+ifStatementBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.IfStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the condition field of hydra.python.syntax.IfStatement+ifStatementCondition :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm Syntax.NamedExpression+ifStatementCondition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.IfStatement"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the continuation field of hydra.python.syntax.IfStatement+ifStatementContinuation :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm (Maybe Syntax.IfTail)+ifStatementContinuation x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.IfStatement"),+ Model.projectionFieldName = (Model.Name "continuation")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.IfStatement+ifStatementIfStatement :: Typed.TypedName Syntax.IfStatement+ifStatementIfStatement = Typed.TypedName (Model.Name "hydra.python.syntax.IfStatement")++-- | DSL updater for the body field of hydra.python.syntax.IfStatement+ifStatementWithBody :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.IfStatement+ifStatementWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.IfStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.IfStatement"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "continuation"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.IfStatement"),+ Model.projectionFieldName = (Model.Name "continuation")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the condition field of hydra.python.syntax.IfStatement+ifStatementWithCondition :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.IfStatement+ifStatementWithCondition original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.IfStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.IfStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "continuation"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.IfStatement"),+ Model.projectionFieldName = (Model.Name "continuation")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the continuation field of hydra.python.syntax.IfStatement+ifStatementWithContinuation :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm (Maybe Syntax.IfTail) -> Typed.TypedTerm Syntax.IfStatement+ifStatementWithContinuation original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.IfStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.IfStatement"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.IfStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "continuation"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the elif variant of hydra.python.syntax.IfTail+ifTailElif :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm Syntax.IfTail+ifTailElif x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.IfTail"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "elif"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the else variant of hydra.python.syntax.IfTail+ifTailElse :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.IfTail+ifTailElse x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.IfTail"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "else"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.IfTail+ifTailIfTail :: Typed.TypedName Syntax.IfTail+ifTailIfTail = Typed.TypedName (Model.Name "hydra.python.syntax.IfTail")++-- | DSL constructor for the hydra.python.syntax.ImaginaryNumber wrapper+imaginaryNumber :: Typed.TypedTerm Double -> Typed.TypedTerm Syntax.ImaginaryNumber+imaginaryNumber x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.ImaginaryNumber"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ImaginaryNumber+imaginaryNumberImaginaryNumber :: Typed.TypedName Syntax.ImaginaryNumber+imaginaryNumberImaginaryNumber = Typed.TypedName (Model.Name "hydra.python.syntax.ImaginaryNumber")++-- | DSL constructor for hydra.python.syntax.ImportFrom+importFrom :: Typed.TypedTerm [Syntax.RelativeImportPrefix] -> Typed.TypedTerm (Maybe Syntax.DottedName) -> Typed.TypedTerm Syntax.ImportFromTargets -> Typed.TypedTerm Syntax.ImportFrom+importFrom prefixes dottedName targets =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ImportFrom"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "prefixes"),+ Model.fieldTerm = (Typed.unTypedTerm prefixes)},+ Model.Field {+ Model.fieldName = (Model.Name "dottedName"),+ Model.fieldTerm = (Typed.unTypedTerm dottedName)},+ Model.Field {+ Model.fieldName = (Model.Name "targets"),+ Model.fieldTerm = (Typed.unTypedTerm targets)}]}))++-- | DSL constructor for hydra.python.syntax.ImportFromAsName+importFromAsName :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.ImportFromAsName+importFromAsName name as =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ImportFromAsName"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "as"),+ Model.fieldTerm = (Typed.unTypedTerm as)}]}))++-- | DSL accessor for the as field of hydra.python.syntax.ImportFromAsName+importFromAsNameAs :: Typed.TypedTerm Syntax.ImportFromAsName -> Typed.TypedTerm (Maybe Syntax.Name)+importFromAsNameAs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ImportFromAsName"),+ Model.projectionFieldName = (Model.Name "as")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ImportFromAsName+importFromAsNameImportFromAsName :: Typed.TypedName Syntax.ImportFromAsName+importFromAsNameImportFromAsName = Typed.TypedName (Model.Name "hydra.python.syntax.ImportFromAsName")++-- | DSL accessor for the name field of hydra.python.syntax.ImportFromAsName+importFromAsNameName :: Typed.TypedTerm Syntax.ImportFromAsName -> Typed.TypedTerm Syntax.Name+importFromAsNameName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ImportFromAsName"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the as field of hydra.python.syntax.ImportFromAsName+importFromAsNameWithAs :: Typed.TypedTerm Syntax.ImportFromAsName -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.ImportFromAsName+importFromAsNameWithAs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ImportFromAsName"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ImportFromAsName"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "as"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.python.syntax.ImportFromAsName+importFromAsNameWithName :: Typed.TypedTerm Syntax.ImportFromAsName -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.ImportFromAsName+importFromAsNameWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ImportFromAsName"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "as"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ImportFromAsName"),+ Model.projectionFieldName = (Model.Name "as")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL accessor for the dottedName field of hydra.python.syntax.ImportFrom+importFromDottedName :: Typed.TypedTerm Syntax.ImportFrom -> Typed.TypedTerm (Maybe Syntax.DottedName)+importFromDottedName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ImportFrom"),+ Model.projectionFieldName = (Model.Name "dottedName")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ImportFrom+importFromImportFrom :: Typed.TypedName Syntax.ImportFrom+importFromImportFrom = Typed.TypedName (Model.Name "hydra.python.syntax.ImportFrom")++-- | DSL accessor for the prefixes field of hydra.python.syntax.ImportFrom+importFromPrefixes :: Typed.TypedTerm Syntax.ImportFrom -> Typed.TypedTerm [Syntax.RelativeImportPrefix]+importFromPrefixes x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ImportFrom"),+ Model.projectionFieldName = (Model.Name "prefixes")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the targets field of hydra.python.syntax.ImportFrom+importFromTargets :: Typed.TypedTerm Syntax.ImportFrom -> Typed.TypedTerm Syntax.ImportFromTargets+importFromTargets x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ImportFrom"),+ Model.projectionFieldName = (Model.Name "targets")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ImportFromTargets+importFromTargetsImportFromTargets :: Typed.TypedName Syntax.ImportFromTargets+importFromTargetsImportFromTargets = Typed.TypedName (Model.Name "hydra.python.syntax.ImportFromTargets")++-- | DSL injection for the parens variant of hydra.python.syntax.ImportFromTargets+importFromTargetsParens :: Typed.TypedTerm [Syntax.ImportFromAsName] -> Typed.TypedTerm Syntax.ImportFromTargets+importFromTargetsParens x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.ImportFromTargets"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "parens"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the simple variant of hydra.python.syntax.ImportFromTargets+importFromTargetsSimple :: Typed.TypedTerm [Syntax.ImportFromAsName] -> Typed.TypedTerm Syntax.ImportFromTargets+importFromTargetsSimple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.ImportFromTargets"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "simple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the star variant of hydra.python.syntax.ImportFromTargets+importFromTargetsStar :: Typed.TypedTerm Syntax.ImportFromTargets+importFromTargetsStar =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.ImportFromTargets"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "star"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL updater for the dottedName field of hydra.python.syntax.ImportFrom+importFromWithDottedName :: Typed.TypedTerm Syntax.ImportFrom -> Typed.TypedTerm (Maybe Syntax.DottedName) -> Typed.TypedTerm Syntax.ImportFrom+importFromWithDottedName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ImportFrom"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "prefixes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ImportFrom"),+ Model.projectionFieldName = (Model.Name "prefixes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dottedName"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "targets"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ImportFrom"),+ Model.projectionFieldName = (Model.Name "targets")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the prefixes field of hydra.python.syntax.ImportFrom+importFromWithPrefixes :: Typed.TypedTerm Syntax.ImportFrom -> Typed.TypedTerm [Syntax.RelativeImportPrefix] -> Typed.TypedTerm Syntax.ImportFrom+importFromWithPrefixes original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ImportFrom"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "prefixes"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "dottedName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ImportFrom"),+ Model.projectionFieldName = (Model.Name "dottedName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "targets"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ImportFrom"),+ Model.projectionFieldName = (Model.Name "targets")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the targets field of hydra.python.syntax.ImportFrom+importFromWithTargets :: Typed.TypedTerm Syntax.ImportFrom -> Typed.TypedTerm Syntax.ImportFromTargets -> Typed.TypedTerm Syntax.ImportFrom+importFromWithTargets original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ImportFrom"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "prefixes"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ImportFrom"),+ Model.projectionFieldName = (Model.Name "prefixes")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "dottedName"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ImportFrom"),+ Model.projectionFieldName = (Model.Name "dottedName")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "targets"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for the hydra.python.syntax.ImportName wrapper+importName :: Typed.TypedTerm [Syntax.DottedAsName] -> Typed.TypedTerm Syntax.ImportName+importName x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.ImportName"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ImportName+importNameImportName :: Typed.TypedName Syntax.ImportName+importNameImportName = Typed.TypedName (Model.Name "hydra.python.syntax.ImportName")++-- | DSL injection for the from variant of hydra.python.syntax.ImportStatement+importStatementFrom :: Typed.TypedTerm Syntax.ImportFrom -> Typed.TypedTerm Syntax.ImportStatement+importStatementFrom x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.ImportStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "from"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.ImportStatement+importStatementImportStatement :: Typed.TypedName Syntax.ImportStatement+importStatementImportStatement = Typed.TypedName (Model.Name "hydra.python.syntax.ImportStatement")++-- | DSL injection for the name variant of hydra.python.syntax.ImportStatement+importStatementName :: Typed.TypedTerm Syntax.ImportName -> Typed.TypedTerm Syntax.ImportStatement+importStatementName x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.ImportStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.python.syntax.Interactive wrapper+interactive :: Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm Syntax.Interactive+interactive x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.Interactive"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Interactive+interactiveInteractive :: Typed.TypedName Syntax.Interactive+interactiveInteractive = Typed.TypedName (Model.Name "hydra.python.syntax.Interactive")++-- | DSL name token for hydra.python.syntax.Inversion+inversionInversion :: Typed.TypedName Syntax.Inversion+inversionInversion = Typed.TypedName (Model.Name "hydra.python.syntax.Inversion")++-- | DSL injection for the not variant of hydra.python.syntax.Inversion+inversionNot :: Typed.TypedTerm Syntax.Inversion -> Typed.TypedTerm Syntax.Inversion+inversionNot x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Inversion"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "not"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the simple variant of hydra.python.syntax.Inversion+inversionSimple :: Typed.TypedTerm Syntax.Comparison -> Typed.TypedTerm Syntax.Inversion+inversionSimple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Inversion"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "simple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.python.syntax.ItemsPattern wrapper+itemsPattern :: Typed.TypedTerm [Syntax.KeyValuePattern] -> Typed.TypedTerm Syntax.ItemsPattern+itemsPattern x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.ItemsPattern"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ItemsPattern+itemsPatternItemsPattern :: Typed.TypedName Syntax.ItemsPattern+itemsPatternItemsPattern = Typed.TypedName (Model.Name "hydra.python.syntax.ItemsPattern")++-- | DSL constructor for hydra.python.syntax.KeyValuePattern+keyValuePattern :: Typed.TypedTerm Syntax.LiteralExpressionOrAttribute -> Typed.TypedTerm Syntax.Pattern -> Typed.TypedTerm Syntax.KeyValuePattern+keyValuePattern key value =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.KeyValuePattern"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "key"),+ Model.fieldTerm = (Typed.unTypedTerm key)},+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm value)}]}))++-- | DSL accessor for the key field of hydra.python.syntax.KeyValuePattern+keyValuePatternKey :: Typed.TypedTerm Syntax.KeyValuePattern -> Typed.TypedTerm Syntax.LiteralExpressionOrAttribute+keyValuePatternKey x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.KeyValuePattern"),+ Model.projectionFieldName = (Model.Name "key")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.KeyValuePattern+keyValuePatternKeyValuePattern :: Typed.TypedName Syntax.KeyValuePattern+keyValuePatternKeyValuePattern = Typed.TypedName (Model.Name "hydra.python.syntax.KeyValuePattern")++-- | DSL accessor for the value field of hydra.python.syntax.KeyValuePattern+keyValuePatternValue :: Typed.TypedTerm Syntax.KeyValuePattern -> Typed.TypedTerm Syntax.Pattern+keyValuePatternValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.KeyValuePattern"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the key field of hydra.python.syntax.KeyValuePattern+keyValuePatternWithKey :: Typed.TypedTerm Syntax.KeyValuePattern -> Typed.TypedTerm Syntax.LiteralExpressionOrAttribute -> Typed.TypedTerm Syntax.KeyValuePattern+keyValuePatternWithKey original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.KeyValuePattern"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "key"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.KeyValuePattern"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the value field of hydra.python.syntax.KeyValuePattern+keyValuePatternWithValue :: Typed.TypedTerm Syntax.KeyValuePattern -> Typed.TypedTerm Syntax.Pattern -> Typed.TypedTerm Syntax.KeyValuePattern+keyValuePatternWithValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.KeyValuePattern"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "key"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.KeyValuePattern"),+ Model.projectionFieldName = (Model.Name "key")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.KeywordPattern+keywordPattern :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Pattern -> Typed.TypedTerm Syntax.KeywordPattern+keywordPattern name pattern =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.KeywordPattern"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "pattern"),+ Model.fieldTerm = (Typed.unTypedTerm pattern)}]}))++-- | DSL name token for hydra.python.syntax.KeywordPattern+keywordPatternKeywordPattern :: Typed.TypedName Syntax.KeywordPattern+keywordPatternKeywordPattern = Typed.TypedName (Model.Name "hydra.python.syntax.KeywordPattern")++-- | DSL accessor for the name field of hydra.python.syntax.KeywordPattern+keywordPatternName :: Typed.TypedTerm Syntax.KeywordPattern -> Typed.TypedTerm Syntax.Name+keywordPatternName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.KeywordPattern"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the pattern field of hydra.python.syntax.KeywordPattern+keywordPatternPattern :: Typed.TypedTerm Syntax.KeywordPattern -> Typed.TypedTerm Syntax.Pattern+keywordPatternPattern x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.KeywordPattern"),+ Model.projectionFieldName = (Model.Name "pattern")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the name field of hydra.python.syntax.KeywordPattern+keywordPatternWithName :: Typed.TypedTerm Syntax.KeywordPattern -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.KeywordPattern+keywordPatternWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.KeywordPattern"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "pattern"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.KeywordPattern"),+ Model.projectionFieldName = (Model.Name "pattern")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the pattern field of hydra.python.syntax.KeywordPattern+keywordPatternWithPattern :: Typed.TypedTerm Syntax.KeywordPattern -> Typed.TypedTerm Syntax.Pattern -> Typed.TypedTerm Syntax.KeywordPattern+keywordPatternWithPattern original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.KeywordPattern"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.KeywordPattern"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "pattern"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for the hydra.python.syntax.KeywordPatterns wrapper+keywordPatterns :: Typed.TypedTerm [Syntax.KeywordPattern] -> Typed.TypedTerm Syntax.KeywordPatterns+keywordPatterns x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.KeywordPatterns"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.KeywordPatterns+keywordPatternsKeywordPatterns :: Typed.TypedName Syntax.KeywordPatterns+keywordPatternsKeywordPatterns = Typed.TypedName (Model.Name "hydra.python.syntax.KeywordPatterns")++-- | DSL constructor for the hydra.python.syntax.Keywords wrapper+keywords :: Typed.TypedTerm Syntax.ParamNoDefault -> Typed.TypedTerm Syntax.Keywords+keywords x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.Keywords"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Keywords+keywordsKeywords :: Typed.TypedName Syntax.Keywords+keywordsKeywords = Typed.TypedName (Model.Name "hydra.python.syntax.Keywords")++-- | DSL constructor for hydra.python.syntax.Kvpair+kvpair :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Kvpair+kvpair key value =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Kvpair"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "key"),+ Model.fieldTerm = (Typed.unTypedTerm key)},+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm value)}]}))++-- | DSL accessor for the key field of hydra.python.syntax.Kvpair+kvpairKey :: Typed.TypedTerm Syntax.Kvpair -> Typed.TypedTerm Syntax.Expression+kvpairKey x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Kvpair"),+ Model.projectionFieldName = (Model.Name "key")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Kvpair+kvpairKvpair :: Typed.TypedName Syntax.Kvpair+kvpairKvpair = Typed.TypedName (Model.Name "hydra.python.syntax.Kvpair")++-- | DSL accessor for the value field of hydra.python.syntax.Kvpair+kvpairValue :: Typed.TypedTerm Syntax.Kvpair -> Typed.TypedTerm Syntax.Expression+kvpairValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Kvpair"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the key field of hydra.python.syntax.Kvpair+kvpairWithKey :: Typed.TypedTerm Syntax.Kvpair -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Kvpair+kvpairWithKey original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Kvpair"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "key"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Kvpair"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the value field of hydra.python.syntax.Kvpair+kvpairWithValue :: Typed.TypedTerm Syntax.Kvpair -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Kvpair+kvpairWithValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Kvpair"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "key"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Kvpair"),+ Model.projectionFieldName = (Model.Name "key")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.Kwarg+kwarg :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Kwarg+kwarg name value =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Kwarg"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm value)}]}))++-- | DSL name token for hydra.python.syntax.Kwarg+kwargKwarg :: Typed.TypedName Syntax.Kwarg+kwargKwarg = Typed.TypedName (Model.Name "hydra.python.syntax.Kwarg")++-- | DSL accessor for the name field of hydra.python.syntax.Kwarg+kwargName :: Typed.TypedTerm Syntax.Kwarg -> Typed.TypedTerm Syntax.Name+kwargName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Kwarg"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL injection for the doubleStarred variant of hydra.python.syntax.KwargOrDoubleStarred+kwargOrDoubleStarredDoubleStarred :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.KwargOrDoubleStarred+kwargOrDoubleStarredDoubleStarred x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.KwargOrDoubleStarred"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "doubleStarred"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the kwarg variant of hydra.python.syntax.KwargOrDoubleStarred+kwargOrDoubleStarredKwarg :: Typed.TypedTerm Syntax.Kwarg -> Typed.TypedTerm Syntax.KwargOrDoubleStarred+kwargOrDoubleStarredKwarg x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.KwargOrDoubleStarred"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "kwarg"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.KwargOrDoubleStarred+kwargOrDoubleStarredKwargOrDoubleStarred :: Typed.TypedName Syntax.KwargOrDoubleStarred+kwargOrDoubleStarredKwargOrDoubleStarred = Typed.TypedName (Model.Name "hydra.python.syntax.KwargOrDoubleStarred")++-- | DSL injection for the kwarg variant of hydra.python.syntax.KwargOrStarred+kwargOrStarredKwarg :: Typed.TypedTerm Syntax.Kwarg -> Typed.TypedTerm Syntax.KwargOrStarred+kwargOrStarredKwarg x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.KwargOrStarred"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "kwarg"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.KwargOrStarred+kwargOrStarredKwargOrStarred :: Typed.TypedName Syntax.KwargOrStarred+kwargOrStarredKwargOrStarred = Typed.TypedName (Model.Name "hydra.python.syntax.KwargOrStarred")++-- | DSL injection for the starred variant of hydra.python.syntax.KwargOrStarred+kwargOrStarredStarred :: Typed.TypedTerm Syntax.StarredExpression -> Typed.TypedTerm Syntax.KwargOrStarred+kwargOrStarredStarred x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.KwargOrStarred"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "starred"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL accessor for the value field of hydra.python.syntax.Kwarg+kwargValue :: Typed.TypedTerm Syntax.Kwarg -> Typed.TypedTerm Syntax.Expression+kwargValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Kwarg"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the name field of hydra.python.syntax.Kwarg+kwargWithName :: Typed.TypedTerm Syntax.Kwarg -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Kwarg+kwargWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Kwarg"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Kwarg"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the value field of hydra.python.syntax.Kwarg+kwargWithValue :: Typed.TypedTerm Syntax.Kwarg -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Kwarg+kwargWithValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Kwarg"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Kwarg"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.Lambda+lambda :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Lambda+lambda params body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Lambda"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "params"),+ Model.fieldTerm = (Typed.unTypedTerm params)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the body field of hydra.python.syntax.Lambda+lambdaBody :: Typed.TypedTerm Syntax.Lambda -> Typed.TypedTerm Syntax.Expression+lambdaBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Lambda"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for the hydra.python.syntax.LambdaKwds wrapper+lambdaKwds :: Typed.TypedTerm Syntax.LambdaParamNoDefault -> Typed.TypedTerm Syntax.LambdaKwds+lambdaKwds x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.LambdaKwds"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.LambdaKwds+lambdaKwdsLambdaKwds :: Typed.TypedName Syntax.LambdaKwds+lambdaKwdsLambdaKwds = Typed.TypedName (Model.Name "hydra.python.syntax.LambdaKwds")++-- | DSL name token for hydra.python.syntax.Lambda+lambdaLambda :: Typed.TypedName Syntax.Lambda+lambdaLambda = Typed.TypedName (Model.Name "hydra.python.syntax.Lambda")++-- | DSL constructor for hydra.python.syntax.LambdaParamMaybeDefault+lambdaParamMaybeDefault :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Default) -> Typed.TypedTerm Syntax.LambdaParamMaybeDefault+lambdaParamMaybeDefault param default_ =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.LambdaParamMaybeDefault"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "param"),+ Model.fieldTerm = (Typed.unTypedTerm param)},+ Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = (Typed.unTypedTerm default_)}]}))++-- | DSL accessor for the default field of hydra.python.syntax.LambdaParamMaybeDefault+lambdaParamMaybeDefaultDefault :: Typed.TypedTerm Syntax.LambdaParamMaybeDefault -> Typed.TypedTerm (Maybe Syntax.Default)+lambdaParamMaybeDefaultDefault x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParamMaybeDefault"),+ Model.projectionFieldName = (Model.Name "default")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.LambdaParamMaybeDefault+lambdaParamMaybeDefaultLambdaParamMaybeDefault :: Typed.TypedName Syntax.LambdaParamMaybeDefault+lambdaParamMaybeDefaultLambdaParamMaybeDefault =+ Typed.TypedName (Model.Name "hydra.python.syntax.LambdaParamMaybeDefault")++-- | DSL accessor for the param field of hydra.python.syntax.LambdaParamMaybeDefault+lambdaParamMaybeDefaultParam :: Typed.TypedTerm Syntax.LambdaParamMaybeDefault -> Typed.TypedTerm Syntax.Name+lambdaParamMaybeDefaultParam x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParamMaybeDefault"),+ Model.projectionFieldName = (Model.Name "param")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the default field of hydra.python.syntax.LambdaParamMaybeDefault+lambdaParamMaybeDefaultWithDefault :: Typed.TypedTerm Syntax.LambdaParamMaybeDefault -> Typed.TypedTerm (Maybe Syntax.Default) -> Typed.TypedTerm Syntax.LambdaParamMaybeDefault+lambdaParamMaybeDefaultWithDefault original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.LambdaParamMaybeDefault"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "param"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParamMaybeDefault"),+ Model.projectionFieldName = (Model.Name "param")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the param field of hydra.python.syntax.LambdaParamMaybeDefault+lambdaParamMaybeDefaultWithParam :: Typed.TypedTerm Syntax.LambdaParamMaybeDefault -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.LambdaParamMaybeDefault+lambdaParamMaybeDefaultWithParam original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.LambdaParamMaybeDefault"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "param"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParamMaybeDefault"),+ Model.projectionFieldName = (Model.Name "default")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.python.syntax.LambdaParamNoDefault wrapper+lambdaParamNoDefault :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.LambdaParamNoDefault+lambdaParamNoDefault x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.LambdaParamNoDefault"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.LambdaParamNoDefault+lambdaParamNoDefaultLambdaParamNoDefault :: Typed.TypedName Syntax.LambdaParamNoDefault+lambdaParamNoDefaultLambdaParamNoDefault = Typed.TypedName (Model.Name "hydra.python.syntax.LambdaParamNoDefault")++-- | DSL constructor for hydra.python.syntax.LambdaParamWithDefault+lambdaParamWithDefault :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Default) -> Typed.TypedTerm Syntax.LambdaParamWithDefault+lambdaParamWithDefault param default_ =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.LambdaParamWithDefault"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "param"),+ Model.fieldTerm = (Typed.unTypedTerm param)},+ Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = (Typed.unTypedTerm default_)}]}))++-- | DSL accessor for the default field of hydra.python.syntax.LambdaParamWithDefault+lambdaParamWithDefaultDefault :: Typed.TypedTerm Syntax.LambdaParamWithDefault -> Typed.TypedTerm (Maybe Syntax.Default)+lambdaParamWithDefaultDefault x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParamWithDefault"),+ Model.projectionFieldName = (Model.Name "default")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.LambdaParamWithDefault+lambdaParamWithDefaultLambdaParamWithDefault :: Typed.TypedName Syntax.LambdaParamWithDefault+lambdaParamWithDefaultLambdaParamWithDefault = Typed.TypedName (Model.Name "hydra.python.syntax.LambdaParamWithDefault")++-- | DSL accessor for the param field of hydra.python.syntax.LambdaParamWithDefault+lambdaParamWithDefaultParam :: Typed.TypedTerm Syntax.LambdaParamWithDefault -> Typed.TypedTerm Syntax.Name+lambdaParamWithDefaultParam x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParamWithDefault"),+ Model.projectionFieldName = (Model.Name "param")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the default field of hydra.python.syntax.LambdaParamWithDefault+lambdaParamWithDefaultWithDefault :: Typed.TypedTerm Syntax.LambdaParamWithDefault -> Typed.TypedTerm (Maybe Syntax.Default) -> Typed.TypedTerm Syntax.LambdaParamWithDefault+lambdaParamWithDefaultWithDefault original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.LambdaParamWithDefault"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "param"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParamWithDefault"),+ Model.projectionFieldName = (Model.Name "param")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the param field of hydra.python.syntax.LambdaParamWithDefault+lambdaParamWithDefaultWithParam :: Typed.TypedTerm Syntax.LambdaParamWithDefault -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.LambdaParamWithDefault+lambdaParamWithDefaultWithParam original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.LambdaParamWithDefault"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "param"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParamWithDefault"),+ Model.projectionFieldName = (Model.Name "default")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.python.syntax.LambdaParameters+lambdaParameters :: Typed.TypedTerm (Maybe Syntax.LambdaSlashNoDefault) -> Typed.TypedTerm [Syntax.LambdaParamNoDefault] -> Typed.TypedTerm [Syntax.LambdaParamWithDefault] -> Typed.TypedTerm (Maybe Syntax.LambdaStarEtc) -> Typed.TypedTerm Syntax.LambdaParameters+lambdaParameters slashNoDefault paramNoDefault paramWithDefault starEtc =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "slashNoDefault"),+ Model.fieldTerm = (Typed.unTypedTerm slashNoDefault)},+ Model.Field {+ Model.fieldName = (Model.Name "paramNoDefault"),+ Model.fieldTerm = (Typed.unTypedTerm paramNoDefault)},+ Model.Field {+ Model.fieldName = (Model.Name "paramWithDefault"),+ Model.fieldTerm = (Typed.unTypedTerm paramWithDefault)},+ Model.Field {+ Model.fieldName = (Model.Name "starEtc"),+ Model.fieldTerm = (Typed.unTypedTerm starEtc)}]}))++-- | DSL name token for hydra.python.syntax.LambdaParameters+lambdaParametersLambdaParameters :: Typed.TypedName Syntax.LambdaParameters+lambdaParametersLambdaParameters = Typed.TypedName (Model.Name "hydra.python.syntax.LambdaParameters")++-- | DSL accessor for the paramNoDefault field of hydra.python.syntax.LambdaParameters+lambdaParametersParamNoDefault :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm [Syntax.LambdaParamNoDefault]+lambdaParametersParamNoDefault x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+ Model.projectionFieldName = (Model.Name "paramNoDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the paramWithDefault field of hydra.python.syntax.LambdaParameters+lambdaParametersParamWithDefault :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm [Syntax.LambdaParamWithDefault]+lambdaParametersParamWithDefault x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+ Model.projectionFieldName = (Model.Name "paramWithDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the slashNoDefault field of hydra.python.syntax.LambdaParameters+lambdaParametersSlashNoDefault :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm (Maybe Syntax.LambdaSlashNoDefault)+lambdaParametersSlashNoDefault x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+ Model.projectionFieldName = (Model.Name "slashNoDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the starEtc field of hydra.python.syntax.LambdaParameters+lambdaParametersStarEtc :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm (Maybe Syntax.LambdaStarEtc)+lambdaParametersStarEtc x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+ Model.projectionFieldName = (Model.Name "starEtc")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the paramNoDefault field of hydra.python.syntax.LambdaParameters+lambdaParametersWithParamNoDefault :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm [Syntax.LambdaParamNoDefault] -> Typed.TypedTerm Syntax.LambdaParameters+lambdaParametersWithParamNoDefault original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "slashNoDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+ Model.projectionFieldName = (Model.Name "slashNoDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "paramNoDefault"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "paramWithDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+ Model.projectionFieldName = (Model.Name "paramWithDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "starEtc"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+ Model.projectionFieldName = (Model.Name "starEtc")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the paramWithDefault field of hydra.python.syntax.LambdaParameters+lambdaParametersWithParamWithDefault :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm [Syntax.LambdaParamWithDefault] -> Typed.TypedTerm Syntax.LambdaParameters+lambdaParametersWithParamWithDefault original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "slashNoDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+ Model.projectionFieldName = (Model.Name "slashNoDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "paramNoDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+ Model.projectionFieldName = (Model.Name "paramNoDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "paramWithDefault"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "starEtc"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+ Model.projectionFieldName = (Model.Name "starEtc")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the slashNoDefault field of hydra.python.syntax.LambdaParameters+lambdaParametersWithSlashNoDefault :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm (Maybe Syntax.LambdaSlashNoDefault) -> Typed.TypedTerm Syntax.LambdaParameters+lambdaParametersWithSlashNoDefault original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "slashNoDefault"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "paramNoDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+ Model.projectionFieldName = (Model.Name "paramNoDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "paramWithDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+ Model.projectionFieldName = (Model.Name "paramWithDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "starEtc"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+ Model.projectionFieldName = (Model.Name "starEtc")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the starEtc field of hydra.python.syntax.LambdaParameters+lambdaParametersWithStarEtc :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm (Maybe Syntax.LambdaStarEtc) -> Typed.TypedTerm Syntax.LambdaParameters+lambdaParametersWithStarEtc original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "slashNoDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+ Model.projectionFieldName = (Model.Name "slashNoDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "paramNoDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+ Model.projectionFieldName = (Model.Name "paramNoDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "paramWithDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+ Model.projectionFieldName = (Model.Name "paramWithDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "starEtc"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL accessor for the params field of hydra.python.syntax.Lambda+lambdaParams :: Typed.TypedTerm Syntax.Lambda -> Typed.TypedTerm Syntax.LambdaParameters+lambdaParams x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Lambda"),+ Model.projectionFieldName = (Model.Name "params")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.python.syntax.LambdaSlashNoDefault+lambdaSlashNoDefault :: Typed.TypedTerm [Syntax.LambdaParamNoDefault] -> Typed.TypedTerm Syntax.LambdaSlashNoDefault+lambdaSlashNoDefault parameters =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.LambdaSlashNoDefault"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm parameters)}]}))++-- | DSL name token for hydra.python.syntax.LambdaSlashNoDefault+lambdaSlashNoDefaultLambdaSlashNoDefault :: Typed.TypedName Syntax.LambdaSlashNoDefault+lambdaSlashNoDefaultLambdaSlashNoDefault = Typed.TypedName (Model.Name "hydra.python.syntax.LambdaSlashNoDefault")++-- | DSL accessor for the parameters field of hydra.python.syntax.LambdaSlashNoDefault+lambdaSlashNoDefaultParameters :: Typed.TypedTerm Syntax.LambdaSlashNoDefault -> Typed.TypedTerm [Syntax.LambdaParamNoDefault]+lambdaSlashNoDefaultParameters x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaSlashNoDefault"),+ Model.projectionFieldName = (Model.Name "parameters")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the parameters field of hydra.python.syntax.LambdaSlashNoDefault+lambdaSlashNoDefaultWithParameters :: Typed.TypedTerm Syntax.LambdaSlashNoDefault -> Typed.TypedTerm [Syntax.LambdaParamNoDefault] -> Typed.TypedTerm Syntax.LambdaSlashNoDefault+lambdaSlashNoDefaultWithParameters original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.LambdaSlashNoDefault"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "parameters"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.LambdaSlashWithDefault+lambdaSlashWithDefault :: Typed.TypedTerm [Syntax.LambdaParamNoDefault] -> Typed.TypedTerm [Syntax.LambdaParamWithDefault] -> Typed.TypedTerm Syntax.LambdaSlashWithDefault+lambdaSlashWithDefault paramNoDefault paramWithDefault =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.LambdaSlashWithDefault"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "paramNoDefault"),+ Model.fieldTerm = (Typed.unTypedTerm paramNoDefault)},+ Model.Field {+ Model.fieldName = (Model.Name "paramWithDefault"),+ Model.fieldTerm = (Typed.unTypedTerm paramWithDefault)}]}))++-- | DSL name token for hydra.python.syntax.LambdaSlashWithDefault+lambdaSlashWithDefaultLambdaSlashWithDefault :: Typed.TypedName Syntax.LambdaSlashWithDefault+lambdaSlashWithDefaultLambdaSlashWithDefault = Typed.TypedName (Model.Name "hydra.python.syntax.LambdaSlashWithDefault")++-- | DSL accessor for the paramNoDefault field of hydra.python.syntax.LambdaSlashWithDefault+lambdaSlashWithDefaultParamNoDefault :: Typed.TypedTerm Syntax.LambdaSlashWithDefault -> Typed.TypedTerm [Syntax.LambdaParamNoDefault]+lambdaSlashWithDefaultParamNoDefault x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaSlashWithDefault"),+ Model.projectionFieldName = (Model.Name "paramNoDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the paramWithDefault field of hydra.python.syntax.LambdaSlashWithDefault+lambdaSlashWithDefaultParamWithDefault :: Typed.TypedTerm Syntax.LambdaSlashWithDefault -> Typed.TypedTerm [Syntax.LambdaParamWithDefault]+lambdaSlashWithDefaultParamWithDefault x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaSlashWithDefault"),+ Model.projectionFieldName = (Model.Name "paramWithDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the paramNoDefault field of hydra.python.syntax.LambdaSlashWithDefault+lambdaSlashWithDefaultWithParamNoDefault :: Typed.TypedTerm Syntax.LambdaSlashWithDefault -> Typed.TypedTerm [Syntax.LambdaParamNoDefault] -> Typed.TypedTerm Syntax.LambdaSlashWithDefault+lambdaSlashWithDefaultWithParamNoDefault original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.LambdaSlashWithDefault"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "paramNoDefault"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "paramWithDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaSlashWithDefault"),+ Model.projectionFieldName = (Model.Name "paramWithDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the paramWithDefault field of hydra.python.syntax.LambdaSlashWithDefault+lambdaSlashWithDefaultWithParamWithDefault :: Typed.TypedTerm Syntax.LambdaSlashWithDefault -> Typed.TypedTerm [Syntax.LambdaParamWithDefault] -> Typed.TypedTerm Syntax.LambdaSlashWithDefault+lambdaSlashWithDefaultWithParamWithDefault original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.LambdaSlashWithDefault"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "paramNoDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaSlashWithDefault"),+ Model.projectionFieldName = (Model.Name "paramNoDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "paramWithDefault"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the kwds variant of hydra.python.syntax.LambdaStarEtc+lambdaStarEtcKwds :: Typed.TypedTerm Syntax.LambdaKwds -> Typed.TypedTerm Syntax.LambdaStarEtc+lambdaStarEtcKwds x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.LambdaStarEtc"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "kwds"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.LambdaStarEtc+lambdaStarEtcLambdaStarEtc :: Typed.TypedName Syntax.LambdaStarEtc+lambdaStarEtcLambdaStarEtc = Typed.TypedName (Model.Name "hydra.python.syntax.LambdaStarEtc")++-- | DSL injection for the paramMaybeDefault variant of hydra.python.syntax.LambdaStarEtc+lambdaStarEtcParamMaybeDefault :: Typed.TypedTerm [Syntax.LambdaParamMaybeDefault] -> Typed.TypedTerm Syntax.LambdaStarEtc+lambdaStarEtcParamMaybeDefault x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.LambdaStarEtc"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "paramMaybeDefault"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the paramNoDefault variant of hydra.python.syntax.LambdaStarEtc+lambdaStarEtcParamNoDefault :: Typed.TypedTerm Syntax.LambdaParamNoDefault -> Typed.TypedTerm Syntax.LambdaStarEtc+lambdaStarEtcParamNoDefault x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.LambdaStarEtc"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "paramNoDefault"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the star variant of hydra.python.syntax.LambdaStarEtc+lambdaStarEtcStar :: Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.LambdaStarEtc+lambdaStarEtcStar x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.LambdaStarEtc"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "star"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL updater for the body field of hydra.python.syntax.Lambda+lambdaWithBody :: Typed.TypedTerm Syntax.Lambda -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Lambda+lambdaWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Lambda"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "params"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Lambda"),+ Model.projectionFieldName = (Model.Name "params")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the params field of hydra.python.syntax.Lambda+lambdaWithParams :: Typed.TypedTerm Syntax.Lambda -> Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm Syntax.Lambda+lambdaWithParams original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Lambda"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "params"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Lambda"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.python.syntax.List wrapper+list :: Typed.TypedTerm [Syntax.StarNamedExpression] -> Typed.TypedTerm Syntax.List+list x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.List"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.List+listList :: Typed.TypedName Syntax.List+listList = Typed.TypedName (Model.Name "hydra.python.syntax.List")++-- | DSL constructor for hydra.python.syntax.Listcomp+listcomp :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm Syntax.Listcomp+listcomp expression forIfClauses =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Listcomp"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)},+ Model.Field {+ Model.fieldName = (Model.Name "forIfClauses"),+ Model.fieldTerm = (Typed.unTypedTerm forIfClauses)}]}))++-- | DSL accessor for the expression field of hydra.python.syntax.Listcomp+listcompExpression :: Typed.TypedTerm Syntax.Listcomp -> Typed.TypedTerm Syntax.NamedExpression+listcompExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Listcomp"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the forIfClauses field of hydra.python.syntax.Listcomp+listcompForIfClauses :: Typed.TypedTerm Syntax.Listcomp -> Typed.TypedTerm Syntax.ForIfClauses+listcompForIfClauses x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Listcomp"),+ Model.projectionFieldName = (Model.Name "forIfClauses")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Listcomp+listcompListcomp :: Typed.TypedName Syntax.Listcomp+listcompListcomp = Typed.TypedName (Model.Name "hydra.python.syntax.Listcomp")++-- | DSL updater for the expression field of hydra.python.syntax.Listcomp+listcompWithExpression :: Typed.TypedTerm Syntax.Listcomp -> Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.Listcomp+listcompWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Listcomp"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "forIfClauses"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Listcomp"),+ Model.projectionFieldName = (Model.Name "forIfClauses")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the forIfClauses field of hydra.python.syntax.Listcomp+listcompWithForIfClauses :: Typed.TypedTerm Syntax.Listcomp -> Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm Syntax.Listcomp+listcompWithForIfClauses original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Listcomp"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Listcomp"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "forIfClauses"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the complex variant of hydra.python.syntax.LiteralExpression+literalExpressionComplex :: Typed.TypedTerm Syntax.ComplexNumber -> Typed.TypedTerm Syntax.LiteralExpression+literalExpressionComplex x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.LiteralExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "complex"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the false variant of hydra.python.syntax.LiteralExpression+literalExpressionFalse :: Typed.TypedTerm Syntax.LiteralExpression+literalExpressionFalse =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.LiteralExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "false"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.python.syntax.LiteralExpression+literalExpressionLiteralExpression :: Typed.TypedName Syntax.LiteralExpression+literalExpressionLiteralExpression = Typed.TypedName (Model.Name "hydra.python.syntax.LiteralExpression")++-- | DSL injection for the none variant of hydra.python.syntax.LiteralExpression+literalExpressionNone :: Typed.TypedTerm Syntax.LiteralExpression+literalExpressionNone =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.LiteralExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "none"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the number variant of hydra.python.syntax.LiteralExpression+literalExpressionNumber :: Typed.TypedTerm Syntax.SignedNumber -> Typed.TypedTerm Syntax.LiteralExpression+literalExpressionNumber x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.LiteralExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "number"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the attribute variant of hydra.python.syntax.LiteralExpressionOrAttribute+literalExpressionOrAttributeAttribute :: Typed.TypedTerm Syntax.Attribute -> Typed.TypedTerm Syntax.LiteralExpressionOrAttribute+literalExpressionOrAttributeAttribute x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.LiteralExpressionOrAttribute"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "attribute"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the literal variant of hydra.python.syntax.LiteralExpressionOrAttribute+literalExpressionOrAttributeLiteral :: Typed.TypedTerm Syntax.LiteralExpression -> Typed.TypedTerm Syntax.LiteralExpressionOrAttribute+literalExpressionOrAttributeLiteral x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.LiteralExpressionOrAttribute"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "literal"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.LiteralExpressionOrAttribute+literalExpressionOrAttributeLiteralExpressionOrAttribute :: Typed.TypedName Syntax.LiteralExpressionOrAttribute+literalExpressionOrAttributeLiteralExpressionOrAttribute =+ Typed.TypedName (Model.Name "hydra.python.syntax.LiteralExpressionOrAttribute")++-- | DSL injection for the string variant of hydra.python.syntax.LiteralExpression+literalExpressionString :: Typed.TypedTerm Syntax.String_ -> Typed.TypedTerm Syntax.LiteralExpression+literalExpressionString x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.LiteralExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "string"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the true variant of hydra.python.syntax.LiteralExpression+literalExpressionTrue :: Typed.TypedTerm Syntax.LiteralExpression+literalExpressionTrue =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.LiteralExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "true"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.python.syntax.MappingPattern+mappingPattern :: Typed.TypedTerm (Maybe Syntax.ItemsPattern) -> Typed.TypedTerm (Maybe Syntax.DoubleStarPattern) -> Typed.TypedTerm Syntax.MappingPattern+mappingPattern items doubleStar =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.MappingPattern"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "items"),+ Model.fieldTerm = (Typed.unTypedTerm items)},+ Model.Field {+ Model.fieldName = (Model.Name "doubleStar"),+ Model.fieldTerm = (Typed.unTypedTerm doubleStar)}]}))++-- | DSL accessor for the doubleStar field of hydra.python.syntax.MappingPattern+mappingPatternDoubleStar :: Typed.TypedTerm Syntax.MappingPattern -> Typed.TypedTerm (Maybe Syntax.DoubleStarPattern)+mappingPatternDoubleStar x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.MappingPattern"),+ Model.projectionFieldName = (Model.Name "doubleStar")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the items field of hydra.python.syntax.MappingPattern+mappingPatternItems :: Typed.TypedTerm Syntax.MappingPattern -> Typed.TypedTerm (Maybe Syntax.ItemsPattern)+mappingPatternItems x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.MappingPattern"),+ Model.projectionFieldName = (Model.Name "items")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.MappingPattern+mappingPatternMappingPattern :: Typed.TypedName Syntax.MappingPattern+mappingPatternMappingPattern = Typed.TypedName (Model.Name "hydra.python.syntax.MappingPattern")++-- | DSL updater for the doubleStar field of hydra.python.syntax.MappingPattern+mappingPatternWithDoubleStar :: Typed.TypedTerm Syntax.MappingPattern -> Typed.TypedTerm (Maybe Syntax.DoubleStarPattern) -> Typed.TypedTerm Syntax.MappingPattern+mappingPatternWithDoubleStar original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.MappingPattern"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "items"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.MappingPattern"),+ Model.projectionFieldName = (Model.Name "items")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "doubleStar"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the items field of hydra.python.syntax.MappingPattern+mappingPatternWithItems :: Typed.TypedTerm Syntax.MappingPattern -> Typed.TypedTerm (Maybe Syntax.ItemsPattern) -> Typed.TypedTerm Syntax.MappingPattern+mappingPatternWithItems original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.MappingPattern"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "items"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "doubleStar"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.MappingPattern"),+ Model.projectionFieldName = (Model.Name "doubleStar")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.python.syntax.MatchStatement+matchStatement :: Typed.TypedTerm Syntax.SubjectExpression -> Typed.TypedTerm [Syntax.CaseBlock] -> Typed.TypedTerm Syntax.MatchStatement+matchStatement subject cases =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.MatchStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "subject"),+ Model.fieldTerm = (Typed.unTypedTerm subject)},+ Model.Field {+ Model.fieldName = (Model.Name "cases"),+ Model.fieldTerm = (Typed.unTypedTerm cases)}]}))++-- | DSL accessor for the cases field of hydra.python.syntax.MatchStatement+matchStatementCases :: Typed.TypedTerm Syntax.MatchStatement -> Typed.TypedTerm [Syntax.CaseBlock]+matchStatementCases x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.MatchStatement"),+ Model.projectionFieldName = (Model.Name "cases")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.MatchStatement+matchStatementMatchStatement :: Typed.TypedName Syntax.MatchStatement+matchStatementMatchStatement = Typed.TypedName (Model.Name "hydra.python.syntax.MatchStatement")++-- | DSL accessor for the subject field of hydra.python.syntax.MatchStatement+matchStatementSubject :: Typed.TypedTerm Syntax.MatchStatement -> Typed.TypedTerm Syntax.SubjectExpression+matchStatementSubject x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.MatchStatement"),+ Model.projectionFieldName = (Model.Name "subject")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the cases field of hydra.python.syntax.MatchStatement+matchStatementWithCases :: Typed.TypedTerm Syntax.MatchStatement -> Typed.TypedTerm [Syntax.CaseBlock] -> Typed.TypedTerm Syntax.MatchStatement+matchStatementWithCases original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.MatchStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "subject"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.MatchStatement"),+ Model.projectionFieldName = (Model.Name "subject")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "cases"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the subject field of hydra.python.syntax.MatchStatement+matchStatementWithSubject :: Typed.TypedTerm Syntax.MatchStatement -> Typed.TypedTerm Syntax.SubjectExpression -> Typed.TypedTerm Syntax.MatchStatement+matchStatementWithSubject original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.MatchStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "subject"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "cases"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.MatchStatement"),+ Model.projectionFieldName = (Model.Name "cases")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.python.syntax.MaybeSequencePattern wrapper+maybeSequencePattern :: Typed.TypedTerm [Syntax.MaybeStarPattern] -> Typed.TypedTerm Syntax.MaybeSequencePattern+maybeSequencePattern x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.MaybeSequencePattern"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.MaybeSequencePattern+maybeSequencePatternMaybeSequencePattern :: Typed.TypedName Syntax.MaybeSequencePattern+maybeSequencePatternMaybeSequencePattern = Typed.TypedName (Model.Name "hydra.python.syntax.MaybeSequencePattern")++-- | DSL name token for hydra.python.syntax.MaybeStarPattern+maybeStarPatternMaybeStarPattern :: Typed.TypedName Syntax.MaybeStarPattern+maybeStarPatternMaybeStarPattern = Typed.TypedName (Model.Name "hydra.python.syntax.MaybeStarPattern")++-- | DSL injection for the pattern variant of hydra.python.syntax.MaybeStarPattern+maybeStarPatternPattern :: Typed.TypedTerm Syntax.Pattern -> Typed.TypedTerm Syntax.MaybeStarPattern+maybeStarPatternPattern x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.MaybeStarPattern"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "pattern"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the star variant of hydra.python.syntax.MaybeStarPattern+maybeStarPatternStar :: Typed.TypedTerm Syntax.StarPattern -> Typed.TypedTerm Syntax.MaybeStarPattern+maybeStarPatternStar x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.MaybeStarPattern"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "star"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.python.syntax.Module wrapper+module_ :: Typed.TypedTerm [[Syntax.Statement]] -> Typed.TypedTerm Syntax.Module+module_ x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.Module"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Module+moduleModule :: Typed.TypedName Syntax.Module+moduleModule = Typed.TypedName (Model.Name "hydra.python.syntax.Module")++-- | DSL constructor for the hydra.python.syntax.Name wrapper+name :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Name+name x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.Name"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Name+nameName :: Typed.TypedName Syntax.Name+nameName = Typed.TypedName (Model.Name "hydra.python.syntax.Name")++-- | DSL constructor for the hydra.python.syntax.NameOrAttribute wrapper+nameOrAttribute :: Typed.TypedTerm [Syntax.Name] -> Typed.TypedTerm Syntax.NameOrAttribute+nameOrAttribute x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.NameOrAttribute"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.NameOrAttribute+nameOrAttributeNameOrAttribute :: Typed.TypedName Syntax.NameOrAttribute+nameOrAttributeNameOrAttribute = Typed.TypedName (Model.Name "hydra.python.syntax.NameOrAttribute")++-- | DSL injection for the assignment variant of hydra.python.syntax.NamedExpression+namedExpressionAssignment :: Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.NamedExpression+namedExpressionAssignment x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.NamedExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "assignment"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.NamedExpression+namedExpressionNamedExpression :: Typed.TypedName Syntax.NamedExpression+namedExpressionNamedExpression = Typed.TypedName (Model.Name "hydra.python.syntax.NamedExpression")++-- | DSL injection for the simple variant of hydra.python.syntax.NamedExpression+namedExpressionSimple :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.NamedExpression+namedExpressionSimple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.NamedExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "simple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.python.syntax.NoDefaultStarAnnotationStarEtc+noDefaultStarAnnotationStarEtc :: Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation -> Typed.TypedTerm [Syntax.ParamMaybeDefault] -> Typed.TypedTerm (Maybe Syntax.Keywords) -> Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc+noDefaultStarAnnotationStarEtc paramNoDefaultStarAnnotation paramMaybeDefault keywords =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "paramNoDefaultStarAnnotation"),+ Model.fieldTerm = (Typed.unTypedTerm paramNoDefaultStarAnnotation)},+ Model.Field {+ Model.fieldName = (Model.Name "paramMaybeDefault"),+ Model.fieldTerm = (Typed.unTypedTerm paramMaybeDefault)},+ Model.Field {+ Model.fieldName = (Model.Name "keywords"),+ Model.fieldTerm = (Typed.unTypedTerm keywords)}]}))++-- | DSL accessor for the keywords field of hydra.python.syntax.NoDefaultStarAnnotationStarEtc+noDefaultStarAnnotationStarEtcKeywords :: Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc -> Typed.TypedTerm (Maybe Syntax.Keywords)+noDefaultStarAnnotationStarEtcKeywords x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),+ Model.projectionFieldName = (Model.Name "keywords")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.NoDefaultStarAnnotationStarEtc+noDefaultStarAnnotationStarEtcNoDefaultStarAnnotationStarEtc :: Typed.TypedName Syntax.NoDefaultStarAnnotationStarEtc+noDefaultStarAnnotationStarEtcNoDefaultStarAnnotationStarEtc =+ Typed.TypedName (Model.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc")++-- | DSL accessor for the paramMaybeDefault field of hydra.python.syntax.NoDefaultStarAnnotationStarEtc+noDefaultStarAnnotationStarEtcParamMaybeDefault :: Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc -> Typed.TypedTerm [Syntax.ParamMaybeDefault]+noDefaultStarAnnotationStarEtcParamMaybeDefault x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),+ Model.projectionFieldName = (Model.Name "paramMaybeDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the paramNoDefaultStarAnnotation field of hydra.python.syntax.NoDefaultStarAnnotationStarEtc+noDefaultStarAnnotationStarEtcParamNoDefaultStarAnnotation :: Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc -> Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation+noDefaultStarAnnotationStarEtcParamNoDefaultStarAnnotation x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),+ Model.projectionFieldName = (Model.Name "paramNoDefaultStarAnnotation")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the keywords field of hydra.python.syntax.NoDefaultStarAnnotationStarEtc+noDefaultStarAnnotationStarEtcWithKeywords :: Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc -> Typed.TypedTerm (Maybe Syntax.Keywords) -> Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc+noDefaultStarAnnotationStarEtcWithKeywords original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "paramNoDefaultStarAnnotation"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),+ Model.projectionFieldName = (Model.Name "paramNoDefaultStarAnnotation")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "paramMaybeDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),+ Model.projectionFieldName = (Model.Name "paramMaybeDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "keywords"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the paramMaybeDefault field of hydra.python.syntax.NoDefaultStarAnnotationStarEtc+noDefaultStarAnnotationStarEtcWithParamMaybeDefault :: Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc -> Typed.TypedTerm [Syntax.ParamMaybeDefault] -> Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc+noDefaultStarAnnotationStarEtcWithParamMaybeDefault original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "paramNoDefaultStarAnnotation"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),+ Model.projectionFieldName = (Model.Name "paramNoDefaultStarAnnotation")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "paramMaybeDefault"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "keywords"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),+ Model.projectionFieldName = (Model.Name "keywords")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the paramNoDefaultStarAnnotation field of hydra.python.syntax.NoDefaultStarAnnotationStarEtc+noDefaultStarAnnotationStarEtcWithParamNoDefaultStarAnnotation :: Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc -> Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation -> Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc+noDefaultStarAnnotationStarEtcWithParamNoDefaultStarAnnotation original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "paramNoDefaultStarAnnotation"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "paramMaybeDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),+ Model.projectionFieldName = (Model.Name "paramMaybeDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "keywords"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),+ Model.projectionFieldName = (Model.Name "keywords")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.python.syntax.NoDefaultStarEtc+noDefaultStarEtc :: Typed.TypedTerm Syntax.ParamNoDefault -> Typed.TypedTerm [Syntax.ParamMaybeDefault] -> Typed.TypedTerm (Maybe Syntax.Keywords) -> Typed.TypedTerm Syntax.NoDefaultStarEtc+noDefaultStarEtc paramNoDefault paramMaybeDefault keywords =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarEtc"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "paramNoDefault"),+ Model.fieldTerm = (Typed.unTypedTerm paramNoDefault)},+ Model.Field {+ Model.fieldName = (Model.Name "paramMaybeDefault"),+ Model.fieldTerm = (Typed.unTypedTerm paramMaybeDefault)},+ Model.Field {+ Model.fieldName = (Model.Name "keywords"),+ Model.fieldTerm = (Typed.unTypedTerm keywords)}]}))++-- | DSL accessor for the keywords field of hydra.python.syntax.NoDefaultStarEtc+noDefaultStarEtcKeywords :: Typed.TypedTerm Syntax.NoDefaultStarEtc -> Typed.TypedTerm (Maybe Syntax.Keywords)+noDefaultStarEtcKeywords x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarEtc"),+ Model.projectionFieldName = (Model.Name "keywords")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.NoDefaultStarEtc+noDefaultStarEtcNoDefaultStarEtc :: Typed.TypedName Syntax.NoDefaultStarEtc+noDefaultStarEtcNoDefaultStarEtc = Typed.TypedName (Model.Name "hydra.python.syntax.NoDefaultStarEtc")++-- | DSL accessor for the paramMaybeDefault field of hydra.python.syntax.NoDefaultStarEtc+noDefaultStarEtcParamMaybeDefault :: Typed.TypedTerm Syntax.NoDefaultStarEtc -> Typed.TypedTerm [Syntax.ParamMaybeDefault]+noDefaultStarEtcParamMaybeDefault x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarEtc"),+ Model.projectionFieldName = (Model.Name "paramMaybeDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the paramNoDefault field of hydra.python.syntax.NoDefaultStarEtc+noDefaultStarEtcParamNoDefault :: Typed.TypedTerm Syntax.NoDefaultStarEtc -> Typed.TypedTerm Syntax.ParamNoDefault+noDefaultStarEtcParamNoDefault x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarEtc"),+ Model.projectionFieldName = (Model.Name "paramNoDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the keywords field of hydra.python.syntax.NoDefaultStarEtc+noDefaultStarEtcWithKeywords :: Typed.TypedTerm Syntax.NoDefaultStarEtc -> Typed.TypedTerm (Maybe Syntax.Keywords) -> Typed.TypedTerm Syntax.NoDefaultStarEtc+noDefaultStarEtcWithKeywords original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarEtc"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "paramNoDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarEtc"),+ Model.projectionFieldName = (Model.Name "paramNoDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "paramMaybeDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarEtc"),+ Model.projectionFieldName = (Model.Name "paramMaybeDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "keywords"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the paramMaybeDefault field of hydra.python.syntax.NoDefaultStarEtc+noDefaultStarEtcWithParamMaybeDefault :: Typed.TypedTerm Syntax.NoDefaultStarEtc -> Typed.TypedTerm [Syntax.ParamMaybeDefault] -> Typed.TypedTerm Syntax.NoDefaultStarEtc+noDefaultStarEtcWithParamMaybeDefault original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarEtc"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "paramNoDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarEtc"),+ Model.projectionFieldName = (Model.Name "paramNoDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "paramMaybeDefault"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "keywords"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarEtc"),+ Model.projectionFieldName = (Model.Name "keywords")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the paramNoDefault field of hydra.python.syntax.NoDefaultStarEtc+noDefaultStarEtcWithParamNoDefault :: Typed.TypedTerm Syntax.NoDefaultStarEtc -> Typed.TypedTerm Syntax.ParamNoDefault -> Typed.TypedTerm Syntax.NoDefaultStarEtc+noDefaultStarEtcWithParamNoDefault original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarEtc"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "paramNoDefault"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "paramMaybeDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarEtc"),+ Model.projectionFieldName = (Model.Name "paramMaybeDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "keywords"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarEtc"),+ Model.projectionFieldName = (Model.Name "keywords")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the float variant of hydra.python.syntax.Number+numberFloat :: Typed.TypedTerm Double -> Typed.TypedTerm Syntax.Number+numberFloat x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Number"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "float"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the imaginary variant of hydra.python.syntax.Number+numberImaginary :: Typed.TypedTerm Double -> Typed.TypedTerm Syntax.Number+numberImaginary x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Number"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "imaginary"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the integer variant of hydra.python.syntax.Number+numberInteger :: Typed.TypedTerm Integer -> Typed.TypedTerm Syntax.Number+numberInteger x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Number"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "integer"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.Number+numberNumber :: Typed.TypedName Syntax.Number+numberNumber = Typed.TypedName (Model.Name "hydra.python.syntax.Number")++-- | DSL constructor for hydra.python.syntax.OpenSequencePattern+openSequencePattern :: Typed.TypedTerm Syntax.MaybeStarPattern -> Typed.TypedTerm (Maybe Syntax.MaybeSequencePattern) -> Typed.TypedTerm Syntax.OpenSequencePattern+openSequencePattern head tail =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.OpenSequencePattern"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "head"),+ Model.fieldTerm = (Typed.unTypedTerm head)},+ Model.Field {+ Model.fieldName = (Model.Name "tail"),+ Model.fieldTerm = (Typed.unTypedTerm tail)}]}))++-- | DSL accessor for the head field of hydra.python.syntax.OpenSequencePattern+openSequencePatternHead :: Typed.TypedTerm Syntax.OpenSequencePattern -> Typed.TypedTerm Syntax.MaybeStarPattern+openSequencePatternHead x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.OpenSequencePattern"),+ Model.projectionFieldName = (Model.Name "head")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.OpenSequencePattern+openSequencePatternOpenSequencePattern :: Typed.TypedName Syntax.OpenSequencePattern+openSequencePatternOpenSequencePattern = Typed.TypedName (Model.Name "hydra.python.syntax.OpenSequencePattern")++-- | DSL accessor for the tail field of hydra.python.syntax.OpenSequencePattern+openSequencePatternTail :: Typed.TypedTerm Syntax.OpenSequencePattern -> Typed.TypedTerm (Maybe Syntax.MaybeSequencePattern)+openSequencePatternTail x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.OpenSequencePattern"),+ Model.projectionFieldName = (Model.Name "tail")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the head field of hydra.python.syntax.OpenSequencePattern+openSequencePatternWithHead :: Typed.TypedTerm Syntax.OpenSequencePattern -> Typed.TypedTerm Syntax.MaybeStarPattern -> Typed.TypedTerm Syntax.OpenSequencePattern+openSequencePatternWithHead original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.OpenSequencePattern"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "head"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "tail"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.OpenSequencePattern"),+ Model.projectionFieldName = (Model.Name "tail")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the tail field of hydra.python.syntax.OpenSequencePattern+openSequencePatternWithTail :: Typed.TypedTerm Syntax.OpenSequencePattern -> Typed.TypedTerm (Maybe Syntax.MaybeSequencePattern) -> Typed.TypedTerm Syntax.OpenSequencePattern+openSequencePatternWithTail original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.OpenSequencePattern"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "head"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.OpenSequencePattern"),+ Model.projectionFieldName = (Model.Name "head")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "tail"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for the hydra.python.syntax.OrPattern wrapper+orPattern :: Typed.TypedTerm [Syntax.ClosedPattern] -> Typed.TypedTerm Syntax.OrPattern+orPattern x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.OrPattern"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.OrPattern+orPatternOrPattern :: Typed.TypedName Syntax.OrPattern+orPatternOrPattern = Typed.TypedName (Model.Name "hydra.python.syntax.OrPattern")++-- | DSL constructor for hydra.python.syntax.Param+param :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Annotation) -> Typed.TypedTerm Syntax.Param+param name annotation =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Param"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "annotation"),+ Model.fieldTerm = (Typed.unTypedTerm annotation)}]}))++-- | DSL accessor for the annotation field of hydra.python.syntax.Param+paramAnnotation :: Typed.TypedTerm Syntax.Param -> Typed.TypedTerm (Maybe Syntax.Annotation)+paramAnnotation x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Param"),+ Model.projectionFieldName = (Model.Name "annotation")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.python.syntax.ParamMaybeDefault+paramMaybeDefault :: Typed.TypedTerm Syntax.Param -> Typed.TypedTerm (Maybe Syntax.Default) -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ParamMaybeDefault+paramMaybeDefault param default_ typeComment =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamMaybeDefault"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "param"),+ Model.fieldTerm = (Typed.unTypedTerm param)},+ Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = (Typed.unTypedTerm default_)},+ Model.Field {+ Model.fieldName = (Model.Name "typeComment"),+ Model.fieldTerm = (Typed.unTypedTerm typeComment)}]}))++-- | DSL accessor for the default field of hydra.python.syntax.ParamMaybeDefault+paramMaybeDefaultDefault :: Typed.TypedTerm Syntax.ParamMaybeDefault -> Typed.TypedTerm (Maybe Syntax.Default)+paramMaybeDefaultDefault x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamMaybeDefault"),+ Model.projectionFieldName = (Model.Name "default")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the param field of hydra.python.syntax.ParamMaybeDefault+paramMaybeDefaultParam :: Typed.TypedTerm Syntax.ParamMaybeDefault -> Typed.TypedTerm Syntax.Param+paramMaybeDefaultParam x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamMaybeDefault"),+ Model.projectionFieldName = (Model.Name "param")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ParamMaybeDefault+paramMaybeDefaultParamMaybeDefault :: Typed.TypedName Syntax.ParamMaybeDefault+paramMaybeDefaultParamMaybeDefault = Typed.TypedName (Model.Name "hydra.python.syntax.ParamMaybeDefault")++-- | DSL accessor for the typeComment field of hydra.python.syntax.ParamMaybeDefault+paramMaybeDefaultTypeComment :: Typed.TypedTerm Syntax.ParamMaybeDefault -> Typed.TypedTerm (Maybe Syntax.TypeComment)+paramMaybeDefaultTypeComment x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamMaybeDefault"),+ Model.projectionFieldName = (Model.Name "typeComment")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the default field of hydra.python.syntax.ParamMaybeDefault+paramMaybeDefaultWithDefault :: Typed.TypedTerm Syntax.ParamMaybeDefault -> Typed.TypedTerm (Maybe Syntax.Default) -> Typed.TypedTerm Syntax.ParamMaybeDefault+paramMaybeDefaultWithDefault original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamMaybeDefault"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "param"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamMaybeDefault"),+ Model.projectionFieldName = (Model.Name "param")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "typeComment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamMaybeDefault"),+ Model.projectionFieldName = (Model.Name "typeComment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the param field of hydra.python.syntax.ParamMaybeDefault+paramMaybeDefaultWithParam :: Typed.TypedTerm Syntax.ParamMaybeDefault -> Typed.TypedTerm Syntax.Param -> Typed.TypedTerm Syntax.ParamMaybeDefault+paramMaybeDefaultWithParam original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamMaybeDefault"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "param"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamMaybeDefault"),+ Model.projectionFieldName = (Model.Name "default")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeComment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamMaybeDefault"),+ Model.projectionFieldName = (Model.Name "typeComment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeComment field of hydra.python.syntax.ParamMaybeDefault+paramMaybeDefaultWithTypeComment :: Typed.TypedTerm Syntax.ParamMaybeDefault -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ParamMaybeDefault+paramMaybeDefaultWithTypeComment original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamMaybeDefault"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "param"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamMaybeDefault"),+ Model.projectionFieldName = (Model.Name "param")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamMaybeDefault"),+ Model.projectionFieldName = (Model.Name "default")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeComment"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL accessor for the name field of hydra.python.syntax.Param+paramName :: Typed.TypedTerm Syntax.Param -> Typed.TypedTerm Syntax.Name+paramName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Param"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.python.syntax.ParamNoDefault+paramNoDefault :: Typed.TypedTerm Syntax.Param -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ParamNoDefault+paramNoDefault param typeComment =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamNoDefault"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "param"),+ Model.fieldTerm = (Typed.unTypedTerm param)},+ Model.Field {+ Model.fieldName = (Model.Name "typeComment"),+ Model.fieldTerm = (Typed.unTypedTerm typeComment)}]}))++-- | DSL accessor for the param field of hydra.python.syntax.ParamNoDefault+paramNoDefaultParam :: Typed.TypedTerm Syntax.ParamNoDefault -> Typed.TypedTerm Syntax.Param+paramNoDefaultParam x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefault"),+ Model.projectionFieldName = (Model.Name "param")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ParamNoDefault+paramNoDefaultParamNoDefault :: Typed.TypedName Syntax.ParamNoDefault+paramNoDefaultParamNoDefault = Typed.TypedName (Model.Name "hydra.python.syntax.ParamNoDefault")++-- | DSL constructor for hydra.python.syntax.ParamNoDefaultParameters+paramNoDefaultParameters :: Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm (Maybe Syntax.StarEtc) -> Typed.TypedTerm Syntax.ParamNoDefaultParameters+paramNoDefaultParameters paramNoDefault paramWithDefault starEtc =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultParameters"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "paramNoDefault"),+ Model.fieldTerm = (Typed.unTypedTerm paramNoDefault)},+ Model.Field {+ Model.fieldName = (Model.Name "paramWithDefault"),+ Model.fieldTerm = (Typed.unTypedTerm paramWithDefault)},+ Model.Field {+ Model.fieldName = (Model.Name "starEtc"),+ Model.fieldTerm = (Typed.unTypedTerm starEtc)}]}))++-- | DSL accessor for the paramNoDefault field of hydra.python.syntax.ParamNoDefaultParameters+paramNoDefaultParametersParamNoDefault :: Typed.TypedTerm Syntax.ParamNoDefaultParameters -> Typed.TypedTerm [Syntax.ParamNoDefault]+paramNoDefaultParametersParamNoDefault x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultParameters"),+ Model.projectionFieldName = (Model.Name "paramNoDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ParamNoDefaultParameters+paramNoDefaultParametersParamNoDefaultParameters :: Typed.TypedName Syntax.ParamNoDefaultParameters+paramNoDefaultParametersParamNoDefaultParameters =+ Typed.TypedName (Model.Name "hydra.python.syntax.ParamNoDefaultParameters")++-- | DSL accessor for the paramWithDefault field of hydra.python.syntax.ParamNoDefaultParameters+paramNoDefaultParametersParamWithDefault :: Typed.TypedTerm Syntax.ParamNoDefaultParameters -> Typed.TypedTerm [Syntax.ParamWithDefault]+paramNoDefaultParametersParamWithDefault x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultParameters"),+ Model.projectionFieldName = (Model.Name "paramWithDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the starEtc field of hydra.python.syntax.ParamNoDefaultParameters+paramNoDefaultParametersStarEtc :: Typed.TypedTerm Syntax.ParamNoDefaultParameters -> Typed.TypedTerm (Maybe Syntax.StarEtc)+paramNoDefaultParametersStarEtc x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultParameters"),+ Model.projectionFieldName = (Model.Name "starEtc")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the paramNoDefault field of hydra.python.syntax.ParamNoDefaultParameters+paramNoDefaultParametersWithParamNoDefault :: Typed.TypedTerm Syntax.ParamNoDefaultParameters -> Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm Syntax.ParamNoDefaultParameters+paramNoDefaultParametersWithParamNoDefault original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultParameters"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "paramNoDefault"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "paramWithDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultParameters"),+ Model.projectionFieldName = (Model.Name "paramWithDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "starEtc"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultParameters"),+ Model.projectionFieldName = (Model.Name "starEtc")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the paramWithDefault field of hydra.python.syntax.ParamNoDefaultParameters+paramNoDefaultParametersWithParamWithDefault :: Typed.TypedTerm Syntax.ParamNoDefaultParameters -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm Syntax.ParamNoDefaultParameters+paramNoDefaultParametersWithParamWithDefault original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultParameters"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "paramNoDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultParameters"),+ Model.projectionFieldName = (Model.Name "paramNoDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "paramWithDefault"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "starEtc"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultParameters"),+ Model.projectionFieldName = (Model.Name "starEtc")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the starEtc field of hydra.python.syntax.ParamNoDefaultParameters+paramNoDefaultParametersWithStarEtc :: Typed.TypedTerm Syntax.ParamNoDefaultParameters -> Typed.TypedTerm (Maybe Syntax.StarEtc) -> Typed.TypedTerm Syntax.ParamNoDefaultParameters+paramNoDefaultParametersWithStarEtc original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultParameters"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "paramNoDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultParameters"),+ Model.projectionFieldName = (Model.Name "paramNoDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "paramWithDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultParameters"),+ Model.projectionFieldName = (Model.Name "paramWithDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "starEtc"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.ParamNoDefaultStarAnnotation+paramNoDefaultStarAnnotation :: Typed.TypedTerm Syntax.ParamStarAnnotation -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation+paramNoDefaultStarAnnotation paramStarAnnotation typeComment =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "paramStarAnnotation"),+ Model.fieldTerm = (Typed.unTypedTerm paramStarAnnotation)},+ Model.Field {+ Model.fieldName = (Model.Name "typeComment"),+ Model.fieldTerm = (Typed.unTypedTerm typeComment)}]}))++-- | DSL name token for hydra.python.syntax.ParamNoDefaultStarAnnotation+paramNoDefaultStarAnnotationParamNoDefaultStarAnnotation :: Typed.TypedName Syntax.ParamNoDefaultStarAnnotation+paramNoDefaultStarAnnotationParamNoDefaultStarAnnotation =+ Typed.TypedName (Model.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation")++-- | DSL accessor for the paramStarAnnotation field of hydra.python.syntax.ParamNoDefaultStarAnnotation+paramNoDefaultStarAnnotationParamStarAnnotation :: Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation -> Typed.TypedTerm Syntax.ParamStarAnnotation+paramNoDefaultStarAnnotationParamStarAnnotation x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation"),+ Model.projectionFieldName = (Model.Name "paramStarAnnotation")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the typeComment field of hydra.python.syntax.ParamNoDefaultStarAnnotation+paramNoDefaultStarAnnotationTypeComment :: Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation -> Typed.TypedTerm (Maybe Syntax.TypeComment)+paramNoDefaultStarAnnotationTypeComment x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation"),+ Model.projectionFieldName = (Model.Name "typeComment")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the paramStarAnnotation field of hydra.python.syntax.ParamNoDefaultStarAnnotation+paramNoDefaultStarAnnotationWithParamStarAnnotation :: Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation -> Typed.TypedTerm Syntax.ParamStarAnnotation -> Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation+paramNoDefaultStarAnnotationWithParamStarAnnotation original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "paramStarAnnotation"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "typeComment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation"),+ Model.projectionFieldName = (Model.Name "typeComment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeComment field of hydra.python.syntax.ParamNoDefaultStarAnnotation+paramNoDefaultStarAnnotationWithTypeComment :: Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation+paramNoDefaultStarAnnotationWithTypeComment original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "paramStarAnnotation"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation"),+ Model.projectionFieldName = (Model.Name "paramStarAnnotation")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeComment"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL accessor for the typeComment field of hydra.python.syntax.ParamNoDefault+paramNoDefaultTypeComment :: Typed.TypedTerm Syntax.ParamNoDefault -> Typed.TypedTerm (Maybe Syntax.TypeComment)+paramNoDefaultTypeComment x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefault"),+ Model.projectionFieldName = (Model.Name "typeComment")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the param field of hydra.python.syntax.ParamNoDefault+paramNoDefaultWithParam :: Typed.TypedTerm Syntax.ParamNoDefault -> Typed.TypedTerm Syntax.Param -> Typed.TypedTerm Syntax.ParamNoDefault+paramNoDefaultWithParam original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamNoDefault"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "param"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "typeComment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefault"),+ Model.projectionFieldName = (Model.Name "typeComment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeComment field of hydra.python.syntax.ParamNoDefault+paramNoDefaultWithTypeComment :: Typed.TypedTerm Syntax.ParamNoDefault -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ParamNoDefault+paramNoDefaultWithTypeComment original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamNoDefault"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "param"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefault"),+ Model.projectionFieldName = (Model.Name "param")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeComment"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL name token for hydra.python.syntax.Param+paramParam :: Typed.TypedName Syntax.Param+paramParam = Typed.TypedName (Model.Name "hydra.python.syntax.Param")++-- | DSL constructor for hydra.python.syntax.ParamStarAnnotation+paramStarAnnotation :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.StarAnnotation -> Typed.TypedTerm Syntax.ParamStarAnnotation+paramStarAnnotation name annotation =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamStarAnnotation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "annotation"),+ Model.fieldTerm = (Typed.unTypedTerm annotation)}]}))++-- | DSL accessor for the annotation field of hydra.python.syntax.ParamStarAnnotation+paramStarAnnotationAnnotation :: Typed.TypedTerm Syntax.ParamStarAnnotation -> Typed.TypedTerm Syntax.StarAnnotation+paramStarAnnotationAnnotation x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamStarAnnotation"),+ Model.projectionFieldName = (Model.Name "annotation")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.python.syntax.ParamStarAnnotation+paramStarAnnotationName :: Typed.TypedTerm Syntax.ParamStarAnnotation -> Typed.TypedTerm Syntax.Name+paramStarAnnotationName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamStarAnnotation"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ParamStarAnnotation+paramStarAnnotationParamStarAnnotation :: Typed.TypedName Syntax.ParamStarAnnotation+paramStarAnnotationParamStarAnnotation = Typed.TypedName (Model.Name "hydra.python.syntax.ParamStarAnnotation")++-- | DSL updater for the annotation field of hydra.python.syntax.ParamStarAnnotation+paramStarAnnotationWithAnnotation :: Typed.TypedTerm Syntax.ParamStarAnnotation -> Typed.TypedTerm Syntax.StarAnnotation -> Typed.TypedTerm Syntax.ParamStarAnnotation+paramStarAnnotationWithAnnotation original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamStarAnnotation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamStarAnnotation"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "annotation"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.python.syntax.ParamStarAnnotation+paramStarAnnotationWithName :: Typed.TypedTerm Syntax.ParamStarAnnotation -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.ParamStarAnnotation+paramStarAnnotationWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamStarAnnotation"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "annotation"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamStarAnnotation"),+ Model.projectionFieldName = (Model.Name "annotation")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the annotation field of hydra.python.syntax.Param+paramWithAnnotation :: Typed.TypedTerm Syntax.Param -> Typed.TypedTerm (Maybe Syntax.Annotation) -> Typed.TypedTerm Syntax.Param+paramWithAnnotation original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Param"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Param"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "annotation"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.ParamWithDefault+paramWithDefault :: Typed.TypedTerm Syntax.Param -> Typed.TypedTerm Syntax.Default -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ParamWithDefault+paramWithDefault param default_ typeComment =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamWithDefault"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "param"),+ Model.fieldTerm = (Typed.unTypedTerm param)},+ Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = (Typed.unTypedTerm default_)},+ Model.Field {+ Model.fieldName = (Model.Name "typeComment"),+ Model.fieldTerm = (Typed.unTypedTerm typeComment)}]}))++-- | DSL accessor for the default field of hydra.python.syntax.ParamWithDefault+paramWithDefaultDefault :: Typed.TypedTerm Syntax.ParamWithDefault -> Typed.TypedTerm Syntax.Default+paramWithDefaultDefault x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamWithDefault"),+ Model.projectionFieldName = (Model.Name "default")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the param field of hydra.python.syntax.ParamWithDefault+paramWithDefaultParam :: Typed.TypedTerm Syntax.ParamWithDefault -> Typed.TypedTerm Syntax.Param+paramWithDefaultParam x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamWithDefault"),+ Model.projectionFieldName = (Model.Name "param")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ParamWithDefault+paramWithDefaultParamWithDefault :: Typed.TypedName Syntax.ParamWithDefault+paramWithDefaultParamWithDefault = Typed.TypedName (Model.Name "hydra.python.syntax.ParamWithDefault")++-- | DSL constructor for hydra.python.syntax.ParamWithDefaultParameters+paramWithDefaultParameters :: Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm (Maybe Syntax.StarEtc) -> Typed.TypedTerm Syntax.ParamWithDefaultParameters+paramWithDefaultParameters paramWithDefault starEtc =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamWithDefaultParameters"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "paramWithDefault"),+ Model.fieldTerm = (Typed.unTypedTerm paramWithDefault)},+ Model.Field {+ Model.fieldName = (Model.Name "starEtc"),+ Model.fieldTerm = (Typed.unTypedTerm starEtc)}]}))++-- | DSL accessor for the paramWithDefault field of hydra.python.syntax.ParamWithDefaultParameters+paramWithDefaultParametersParamWithDefault :: Typed.TypedTerm Syntax.ParamWithDefaultParameters -> Typed.TypedTerm [Syntax.ParamWithDefault]+paramWithDefaultParametersParamWithDefault x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamWithDefaultParameters"),+ Model.projectionFieldName = (Model.Name "paramWithDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ParamWithDefaultParameters+paramWithDefaultParametersParamWithDefaultParameters :: Typed.TypedName Syntax.ParamWithDefaultParameters+paramWithDefaultParametersParamWithDefaultParameters =+ Typed.TypedName (Model.Name "hydra.python.syntax.ParamWithDefaultParameters")++-- | DSL accessor for the starEtc field of hydra.python.syntax.ParamWithDefaultParameters+paramWithDefaultParametersStarEtc :: Typed.TypedTerm Syntax.ParamWithDefaultParameters -> Typed.TypedTerm (Maybe Syntax.StarEtc)+paramWithDefaultParametersStarEtc x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamWithDefaultParameters"),+ Model.projectionFieldName = (Model.Name "starEtc")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the paramWithDefault field of hydra.python.syntax.ParamWithDefaultParameters+paramWithDefaultParametersWithParamWithDefault :: Typed.TypedTerm Syntax.ParamWithDefaultParameters -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm Syntax.ParamWithDefaultParameters+paramWithDefaultParametersWithParamWithDefault original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamWithDefaultParameters"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "paramWithDefault"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "starEtc"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamWithDefaultParameters"),+ Model.projectionFieldName = (Model.Name "starEtc")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the starEtc field of hydra.python.syntax.ParamWithDefaultParameters+paramWithDefaultParametersWithStarEtc :: Typed.TypedTerm Syntax.ParamWithDefaultParameters -> Typed.TypedTerm (Maybe Syntax.StarEtc) -> Typed.TypedTerm Syntax.ParamWithDefaultParameters+paramWithDefaultParametersWithStarEtc original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamWithDefaultParameters"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "paramWithDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamWithDefaultParameters"),+ Model.projectionFieldName = (Model.Name "paramWithDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "starEtc"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL accessor for the typeComment field of hydra.python.syntax.ParamWithDefault+paramWithDefaultTypeComment :: Typed.TypedTerm Syntax.ParamWithDefault -> Typed.TypedTerm (Maybe Syntax.TypeComment)+paramWithDefaultTypeComment x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamWithDefault"),+ Model.projectionFieldName = (Model.Name "typeComment")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the default field of hydra.python.syntax.ParamWithDefault+paramWithDefaultWithDefault :: Typed.TypedTerm Syntax.ParamWithDefault -> Typed.TypedTerm Syntax.Default -> Typed.TypedTerm Syntax.ParamWithDefault+paramWithDefaultWithDefault original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamWithDefault"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "param"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamWithDefault"),+ Model.projectionFieldName = (Model.Name "param")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "typeComment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamWithDefault"),+ Model.projectionFieldName = (Model.Name "typeComment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the param field of hydra.python.syntax.ParamWithDefault+paramWithDefaultWithParam :: Typed.TypedTerm Syntax.ParamWithDefault -> Typed.TypedTerm Syntax.Param -> Typed.TypedTerm Syntax.ParamWithDefault+paramWithDefaultWithParam original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamWithDefault"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "param"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamWithDefault"),+ Model.projectionFieldName = (Model.Name "default")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeComment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamWithDefault"),+ Model.projectionFieldName = (Model.Name "typeComment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeComment field of hydra.python.syntax.ParamWithDefault+paramWithDefaultWithTypeComment :: Typed.TypedTerm Syntax.ParamWithDefault -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ParamWithDefault+paramWithDefaultWithTypeComment original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamWithDefault"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "param"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamWithDefault"),+ Model.projectionFieldName = (Model.Name "param")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamWithDefault"),+ Model.projectionFieldName = (Model.Name "default")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeComment"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.python.syntax.Param+paramWithName :: Typed.TypedTerm Syntax.Param -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Param+paramWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Param"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "annotation"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Param"),+ Model.projectionFieldName = (Model.Name "annotation")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the paramNoDefault variant of hydra.python.syntax.Parameters+parametersParamNoDefault :: Typed.TypedTerm Syntax.ParamNoDefaultParameters -> Typed.TypedTerm Syntax.Parameters+parametersParamNoDefault x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Parameters"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "paramNoDefault"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the paramWithDefault variant of hydra.python.syntax.Parameters+parametersParamWithDefault :: Typed.TypedTerm Syntax.ParamWithDefaultParameters -> Typed.TypedTerm Syntax.Parameters+parametersParamWithDefault x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Parameters"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "paramWithDefault"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.Parameters+parametersParameters :: Typed.TypedName Syntax.Parameters+parametersParameters = Typed.TypedName (Model.Name "hydra.python.syntax.Parameters")++-- | DSL injection for the slashNoDefault variant of hydra.python.syntax.Parameters+parametersSlashNoDefault :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm Syntax.Parameters+parametersSlashNoDefault x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Parameters"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "slashNoDefault"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the slashWithDefault variant of hydra.python.syntax.Parameters+parametersSlashWithDefault :: Typed.TypedTerm Syntax.SlashWithDefaultParameters -> Typed.TypedTerm Syntax.Parameters+parametersSlashWithDefault x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Parameters"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "slashWithDefault"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the starEtc variant of hydra.python.syntax.Parameters+parametersStarEtc :: Typed.TypedTerm Syntax.StarEtc -> Typed.TypedTerm Syntax.Parameters+parametersStarEtc x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Parameters"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "starEtc"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the as variant of hydra.python.syntax.Pattern+patternAs :: Typed.TypedTerm Syntax.AsPattern -> Typed.TypedTerm Syntax.Pattern+patternAs x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Pattern"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "as"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.python.syntax.PatternCaptureTarget wrapper+patternCaptureTarget :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.PatternCaptureTarget+patternCaptureTarget x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.PatternCaptureTarget"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.PatternCaptureTarget+patternCaptureTargetPatternCaptureTarget :: Typed.TypedName Syntax.PatternCaptureTarget+patternCaptureTargetPatternCaptureTarget = Typed.TypedName (Model.Name "hydra.python.syntax.PatternCaptureTarget")++-- | DSL injection for the or variant of hydra.python.syntax.Pattern+patternOr :: Typed.TypedTerm Syntax.OrPattern -> Typed.TypedTerm Syntax.Pattern+patternOr x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Pattern"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "or"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.Pattern+patternPattern :: Typed.TypedName Syntax.Pattern+patternPattern = Typed.TypedName (Model.Name "hydra.python.syntax.Pattern")++-- | DSL injection for the pattern variant of hydra.python.syntax.Patterns+patternsPattern :: Typed.TypedTerm Syntax.Pattern -> Typed.TypedTerm Syntax.Patterns+patternsPattern x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Patterns"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "pattern"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.Patterns+patternsPatterns :: Typed.TypedName Syntax.Patterns+patternsPatterns = Typed.TypedName (Model.Name "hydra.python.syntax.Patterns")++-- | DSL injection for the sequence variant of hydra.python.syntax.Patterns+patternsSequence :: Typed.TypedTerm Syntax.OpenSequencePattern -> Typed.TypedTerm Syntax.Patterns+patternsSequence x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Patterns"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "sequence"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the minus variant of hydra.python.syntax.PlusOrMinus+plusOrMinusMinus :: Typed.TypedTerm Syntax.PlusOrMinus+plusOrMinusMinus =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.PlusOrMinus"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "minus"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the plus variant of hydra.python.syntax.PlusOrMinus+plusOrMinusPlus :: Typed.TypedTerm Syntax.PlusOrMinus+plusOrMinusPlus =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.PlusOrMinus"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "plus"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.python.syntax.PlusOrMinus+plusOrMinusPlusOrMinus :: Typed.TypedName Syntax.PlusOrMinus+plusOrMinusPlusOrMinus = Typed.TypedName (Model.Name "hydra.python.syntax.PlusOrMinus")++-- | DSL injection for the assignment variant of hydra.python.syntax.PosArg+posArgAssignment :: Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.PosArg+posArgAssignment x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.PosArg"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "assignment"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the expression variant of hydra.python.syntax.PosArg+posArgExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.PosArg+posArgExpression x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.PosArg"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.PosArg+posArgPosArg :: Typed.TypedName Syntax.PosArg+posArgPosArg = Typed.TypedName (Model.Name "hydra.python.syntax.PosArg")++-- | DSL injection for the starred variant of hydra.python.syntax.PosArg+posArgStarred :: Typed.TypedTerm Syntax.StarredExpression -> Typed.TypedTerm Syntax.PosArg+posArgStarred x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.PosArg"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "starred"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.python.syntax.PositionalPatterns wrapper+positionalPatterns :: Typed.TypedTerm [Syntax.Pattern] -> Typed.TypedTerm Syntax.PositionalPatterns+positionalPatterns x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.PositionalPatterns"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.PositionalPatterns+positionalPatternsPositionalPatterns :: Typed.TypedName Syntax.PositionalPatterns+positionalPatternsPositionalPatterns = Typed.TypedName (Model.Name "hydra.python.syntax.PositionalPatterns")++-- | DSL constructor for hydra.python.syntax.Power+power :: Typed.TypedTerm Syntax.AwaitPrimary -> Typed.TypedTerm (Maybe Syntax.Factor) -> Typed.TypedTerm Syntax.Power+power lhs rhs =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Power"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lhs"),+ Model.fieldTerm = (Typed.unTypedTerm lhs)},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Typed.unTypedTerm rhs)}]}))++-- | DSL accessor for the lhs field of hydra.python.syntax.Power+powerLhs :: Typed.TypedTerm Syntax.Power -> Typed.TypedTerm Syntax.AwaitPrimary+powerLhs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Power"),+ Model.projectionFieldName = (Model.Name "lhs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Power+powerPower :: Typed.TypedName Syntax.Power+powerPower = Typed.TypedName (Model.Name "hydra.python.syntax.Power")++-- | DSL accessor for the rhs field of hydra.python.syntax.Power+powerRhs :: Typed.TypedTerm Syntax.Power -> Typed.TypedTerm (Maybe Syntax.Factor)+powerRhs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Power"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the lhs field of hydra.python.syntax.Power+powerWithLhs :: Typed.TypedTerm Syntax.Power -> Typed.TypedTerm Syntax.AwaitPrimary -> Typed.TypedTerm Syntax.Power+powerWithLhs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Power"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lhs"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Power"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the rhs field of hydra.python.syntax.Power+powerWithRhs :: Typed.TypedTerm Syntax.Power -> Typed.TypedTerm (Maybe Syntax.Factor) -> Typed.TypedTerm Syntax.Power+powerWithRhs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Power"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lhs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Power"),+ Model.projectionFieldName = (Model.Name "lhs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the compound variant of hydra.python.syntax.Primary+primaryCompound :: Typed.TypedTerm Syntax.PrimaryWithRhs -> Typed.TypedTerm Syntax.Primary+primaryCompound x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Primary"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "compound"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.Primary+primaryPrimary :: Typed.TypedName Syntax.Primary+primaryPrimary = Typed.TypedName (Model.Name "hydra.python.syntax.Primary")++-- | DSL injection for the call variant of hydra.python.syntax.PrimaryRhs+primaryRhsCall :: Typed.TypedTerm Syntax.Args -> Typed.TypedTerm Syntax.PrimaryRhs+primaryRhsCall x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.PrimaryRhs"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "call"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the genexp variant of hydra.python.syntax.PrimaryRhs+primaryRhsGenexp :: Typed.TypedTerm Syntax.Genexp -> Typed.TypedTerm Syntax.PrimaryRhs+primaryRhsGenexp x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.PrimaryRhs"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "genexp"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.PrimaryRhs+primaryRhsPrimaryRhs :: Typed.TypedName Syntax.PrimaryRhs+primaryRhsPrimaryRhs = Typed.TypedName (Model.Name "hydra.python.syntax.PrimaryRhs")++-- | DSL injection for the project variant of hydra.python.syntax.PrimaryRhs+primaryRhsProject :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.PrimaryRhs+primaryRhsProject x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.PrimaryRhs"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "project"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the slices variant of hydra.python.syntax.PrimaryRhs+primaryRhsSlices :: Typed.TypedTerm Syntax.Slices -> Typed.TypedTerm Syntax.PrimaryRhs+primaryRhsSlices x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.PrimaryRhs"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "slices"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the simple variant of hydra.python.syntax.Primary+primarySimple :: Typed.TypedTerm Syntax.Atom -> Typed.TypedTerm Syntax.Primary+primarySimple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Primary"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "simple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.python.syntax.PrimaryWithRhs+primaryWithRhs :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.PrimaryRhs -> Typed.TypedTerm Syntax.PrimaryWithRhs+primaryWithRhs primary rhs =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.PrimaryWithRhs"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "primary"),+ Model.fieldTerm = (Typed.unTypedTerm primary)},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Typed.unTypedTerm rhs)}]}))++-- | DSL accessor for the primary field of hydra.python.syntax.PrimaryWithRhs+primaryWithRhsPrimary :: Typed.TypedTerm Syntax.PrimaryWithRhs -> Typed.TypedTerm Syntax.Primary+primaryWithRhsPrimary x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.PrimaryWithRhs"),+ Model.projectionFieldName = (Model.Name "primary")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.PrimaryWithRhs+primaryWithRhsPrimaryWithRhs :: Typed.TypedName Syntax.PrimaryWithRhs+primaryWithRhsPrimaryWithRhs = Typed.TypedName (Model.Name "hydra.python.syntax.PrimaryWithRhs")++-- | DSL accessor for the rhs field of hydra.python.syntax.PrimaryWithRhs+primaryWithRhsRhs :: Typed.TypedTerm Syntax.PrimaryWithRhs -> Typed.TypedTerm Syntax.PrimaryRhs+primaryWithRhsRhs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.PrimaryWithRhs"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the primary field of hydra.python.syntax.PrimaryWithRhs+primaryWithRhsWithPrimary :: Typed.TypedTerm Syntax.PrimaryWithRhs -> Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.PrimaryWithRhs+primaryWithRhsWithPrimary original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.PrimaryWithRhs"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "primary"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.PrimaryWithRhs"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the rhs field of hydra.python.syntax.PrimaryWithRhs+primaryWithRhsWithRhs :: Typed.TypedTerm Syntax.PrimaryWithRhs -> Typed.TypedTerm Syntax.PrimaryRhs -> Typed.TypedTerm Syntax.PrimaryWithRhs+primaryWithRhsWithRhs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.PrimaryWithRhs"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "primary"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.PrimaryWithRhs"),+ Model.projectionFieldName = (Model.Name "primary")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the double variant of hydra.python.syntax.QuoteStyle+quoteStyleDouble :: Typed.TypedTerm Syntax.QuoteStyle+quoteStyleDouble =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.QuoteStyle"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "double"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.python.syntax.QuoteStyle+quoteStyleQuoteStyle :: Typed.TypedName Syntax.QuoteStyle+quoteStyleQuoteStyle = Typed.TypedName (Model.Name "hydra.python.syntax.QuoteStyle")++-- | DSL injection for the single variant of hydra.python.syntax.QuoteStyle+quoteStyleSingle :: Typed.TypedTerm Syntax.QuoteStyle+quoteStyleSingle =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.QuoteStyle"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "single"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the tripleDouble variant of hydra.python.syntax.QuoteStyle+quoteStyleTripleDouble :: Typed.TypedTerm Syntax.QuoteStyle+quoteStyleTripleDouble =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.QuoteStyle"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "tripleDouble"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the tripleSingle variant of hydra.python.syntax.QuoteStyle+quoteStyleTripleSingle :: Typed.TypedTerm Syntax.QuoteStyle+quoteStyleTripleSingle =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.QuoteStyle"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "tripleSingle"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.python.syntax.RaiseExpression+raiseExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.RaiseExpression+raiseExpression expression from =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.RaiseExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)},+ Model.Field {+ Model.fieldName = (Model.Name "from"),+ Model.fieldTerm = (Typed.unTypedTerm from)}]}))++-- | DSL accessor for the expression field of hydra.python.syntax.RaiseExpression+raiseExpressionExpression :: Typed.TypedTerm Syntax.RaiseExpression -> Typed.TypedTerm Syntax.Expression+raiseExpressionExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.RaiseExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the from field of hydra.python.syntax.RaiseExpression+raiseExpressionFrom :: Typed.TypedTerm Syntax.RaiseExpression -> Typed.TypedTerm (Maybe Syntax.Expression)+raiseExpressionFrom x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.RaiseExpression"),+ Model.projectionFieldName = (Model.Name "from")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.RaiseExpression+raiseExpressionRaiseExpression :: Typed.TypedName Syntax.RaiseExpression+raiseExpressionRaiseExpression = Typed.TypedName (Model.Name "hydra.python.syntax.RaiseExpression")++-- | DSL updater for the expression field of hydra.python.syntax.RaiseExpression+raiseExpressionWithExpression :: Typed.TypedTerm Syntax.RaiseExpression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.RaiseExpression+raiseExpressionWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.RaiseExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "from"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.RaiseExpression"),+ Model.projectionFieldName = (Model.Name "from")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the from field of hydra.python.syntax.RaiseExpression+raiseExpressionWithFrom :: Typed.TypedTerm Syntax.RaiseExpression -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.RaiseExpression+raiseExpressionWithFrom original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.RaiseExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.RaiseExpression"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "from"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for the hydra.python.syntax.RaiseStatement wrapper+raiseStatement :: Typed.TypedTerm (Maybe Syntax.RaiseExpression) -> Typed.TypedTerm Syntax.RaiseStatement+raiseStatement x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.RaiseStatement"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.RaiseStatement+raiseStatementRaiseStatement :: Typed.TypedName Syntax.RaiseStatement+raiseStatementRaiseStatement = Typed.TypedName (Model.Name "hydra.python.syntax.RaiseStatement")++-- | DSL injection for the float variant of hydra.python.syntax.RealNumber+realNumberFloat :: Typed.TypedTerm Double -> Typed.TypedTerm Syntax.RealNumber+realNumberFloat x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.RealNumber"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "float"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the integer variant of hydra.python.syntax.RealNumber+realNumberInteger :: Typed.TypedTerm Integer -> Typed.TypedTerm Syntax.RealNumber+realNumberInteger x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.RealNumber"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "integer"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.RealNumber+realNumberRealNumber :: Typed.TypedName Syntax.RealNumber+realNumberRealNumber = Typed.TypedName (Model.Name "hydra.python.syntax.RealNumber")++-- | DSL injection for the dot variant of hydra.python.syntax.RelativeImportPrefix+relativeImportPrefixDot :: Typed.TypedTerm Syntax.RelativeImportPrefix+relativeImportPrefixDot =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.RelativeImportPrefix"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "dot"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the ellipsis variant of hydra.python.syntax.RelativeImportPrefix+relativeImportPrefixEllipsis :: Typed.TypedTerm Syntax.RelativeImportPrefix+relativeImportPrefixEllipsis =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.RelativeImportPrefix"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "ellipsis"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.python.syntax.RelativeImportPrefix+relativeImportPrefixRelativeImportPrefix :: Typed.TypedName Syntax.RelativeImportPrefix+relativeImportPrefixRelativeImportPrefix = Typed.TypedName (Model.Name "hydra.python.syntax.RelativeImportPrefix")++-- | DSL constructor for the hydra.python.syntax.ReturnStatement wrapper+returnStatement :: Typed.TypedTerm [Syntax.StarExpression] -> Typed.TypedTerm Syntax.ReturnStatement+returnStatement x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.ReturnStatement"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ReturnStatement+returnStatementReturnStatement :: Typed.TypedName Syntax.ReturnStatement+returnStatementReturnStatement = Typed.TypedName (Model.Name "hydra.python.syntax.ReturnStatement")++-- | DSL injection for the list variant of hydra.python.syntax.SequencePattern+sequencePatternList :: Typed.TypedTerm (Maybe Syntax.MaybeSequencePattern) -> Typed.TypedTerm Syntax.SequencePattern+sequencePatternList x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.SequencePattern"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "list"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.SequencePattern+sequencePatternSequencePattern :: Typed.TypedName Syntax.SequencePattern+sequencePatternSequencePattern = Typed.TypedName (Model.Name "hydra.python.syntax.SequencePattern")++-- | DSL injection for the tuple variant of hydra.python.syntax.SequencePattern+sequencePatternTuple :: Typed.TypedTerm (Maybe Syntax.OpenSequencePattern) -> Typed.TypedTerm Syntax.SequencePattern+sequencePatternTuple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.SequencePattern"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "tuple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.python.syntax.Set wrapper+set :: Typed.TypedTerm [Syntax.StarNamedExpression] -> Typed.TypedTerm Syntax.Set+set x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.Set"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Set+setSet :: Typed.TypedName Syntax.Set+setSet = Typed.TypedName (Model.Name "hydra.python.syntax.Set")++-- | DSL constructor for hydra.python.syntax.Setcomp+setcomp :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm Syntax.Setcomp+setcomp expression forIfClauses =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Setcomp"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)},+ Model.Field {+ Model.fieldName = (Model.Name "forIfClauses"),+ Model.fieldTerm = (Typed.unTypedTerm forIfClauses)}]}))++-- | DSL accessor for the expression field of hydra.python.syntax.Setcomp+setcompExpression :: Typed.TypedTerm Syntax.Setcomp -> Typed.TypedTerm Syntax.NamedExpression+setcompExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Setcomp"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the forIfClauses field of hydra.python.syntax.Setcomp+setcompForIfClauses :: Typed.TypedTerm Syntax.Setcomp -> Typed.TypedTerm Syntax.ForIfClauses+setcompForIfClauses x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Setcomp"),+ Model.projectionFieldName = (Model.Name "forIfClauses")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Setcomp+setcompSetcomp :: Typed.TypedName Syntax.Setcomp+setcompSetcomp = Typed.TypedName (Model.Name "hydra.python.syntax.Setcomp")++-- | DSL updater for the expression field of hydra.python.syntax.Setcomp+setcompWithExpression :: Typed.TypedTerm Syntax.Setcomp -> Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.Setcomp+setcompWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Setcomp"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "forIfClauses"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Setcomp"),+ Model.projectionFieldName = (Model.Name "forIfClauses")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the forIfClauses field of hydra.python.syntax.Setcomp+setcompWithForIfClauses :: Typed.TypedTerm Syntax.Setcomp -> Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm Syntax.Setcomp+setcompWithForIfClauses original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Setcomp"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Setcomp"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "forIfClauses"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.ShiftExpression+shiftExpression :: Typed.TypedTerm (Maybe Syntax.ShiftLhs) -> Typed.TypedTerm Syntax.Sum -> Typed.TypedTerm Syntax.ShiftExpression+shiftExpression lhs rhs =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ShiftExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lhs"),+ Model.fieldTerm = (Typed.unTypedTerm lhs)},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Typed.unTypedTerm rhs)}]}))++-- | DSL accessor for the lhs field of hydra.python.syntax.ShiftExpression+shiftExpressionLhs :: Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm (Maybe Syntax.ShiftLhs)+shiftExpressionLhs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ShiftExpression"),+ Model.projectionFieldName = (Model.Name "lhs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the rhs field of hydra.python.syntax.ShiftExpression+shiftExpressionRhs :: Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.Sum+shiftExpressionRhs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ShiftExpression"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ShiftExpression+shiftExpressionShiftExpression :: Typed.TypedName Syntax.ShiftExpression+shiftExpressionShiftExpression = Typed.TypedName (Model.Name "hydra.python.syntax.ShiftExpression")++-- | DSL updater for the lhs field of hydra.python.syntax.ShiftExpression+shiftExpressionWithLhs :: Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm (Maybe Syntax.ShiftLhs) -> Typed.TypedTerm Syntax.ShiftExpression+shiftExpressionWithLhs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ShiftExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lhs"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ShiftExpression"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the rhs field of hydra.python.syntax.ShiftExpression+shiftExpressionWithRhs :: Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.Sum -> Typed.TypedTerm Syntax.ShiftExpression+shiftExpressionWithRhs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ShiftExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lhs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ShiftExpression"),+ Model.projectionFieldName = (Model.Name "lhs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.ShiftLhs+shiftLhs :: Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.ShiftOp -> Typed.TypedTerm Syntax.ShiftLhs+shiftLhs operand operator =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ShiftLhs"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "operand"),+ Model.fieldTerm = (Typed.unTypedTerm operand)},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Typed.unTypedTerm operator)}]}))++-- | DSL accessor for the operand field of hydra.python.syntax.ShiftLhs+shiftLhsOperand :: Typed.TypedTerm Syntax.ShiftLhs -> Typed.TypedTerm Syntax.ShiftExpression+shiftLhsOperand x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ShiftLhs"),+ Model.projectionFieldName = (Model.Name "operand")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the operator field of hydra.python.syntax.ShiftLhs+shiftLhsOperator :: Typed.TypedTerm Syntax.ShiftLhs -> Typed.TypedTerm Syntax.ShiftOp+shiftLhsOperator x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ShiftLhs"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ShiftLhs+shiftLhsShiftLhs :: Typed.TypedName Syntax.ShiftLhs+shiftLhsShiftLhs = Typed.TypedName (Model.Name "hydra.python.syntax.ShiftLhs")++-- | DSL updater for the operand field of hydra.python.syntax.ShiftLhs+shiftLhsWithOperand :: Typed.TypedTerm Syntax.ShiftLhs -> Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.ShiftLhs+shiftLhsWithOperand original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ShiftLhs"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "operand"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ShiftLhs"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the operator field of hydra.python.syntax.ShiftLhs+shiftLhsWithOperator :: Typed.TypedTerm Syntax.ShiftLhs -> Typed.TypedTerm Syntax.ShiftOp -> Typed.TypedTerm Syntax.ShiftLhs+shiftLhsWithOperator original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.ShiftLhs"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "operand"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.ShiftLhs"),+ Model.projectionFieldName = (Model.Name "operand")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the left variant of hydra.python.syntax.ShiftOp+shiftOpLeft :: Typed.TypedTerm Syntax.ShiftOp+shiftOpLeft =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.ShiftOp"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "left"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the right variant of hydra.python.syntax.ShiftOp+shiftOpRight :: Typed.TypedTerm Syntax.ShiftOp+shiftOpRight =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.ShiftOp"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "right"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.python.syntax.ShiftOp+shiftOpShiftOp :: Typed.TypedName Syntax.ShiftOp+shiftOpShiftOp = Typed.TypedName (Model.Name "hydra.python.syntax.ShiftOp")++-- | DSL injection for the number variant of hydra.python.syntax.SignedNumber+signedNumberNumber :: Typed.TypedTerm Syntax.Number -> Typed.TypedTerm Syntax.SignedNumber+signedNumberNumber x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.SignedNumber"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "number"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the sign variant of hydra.python.syntax.SignedNumber+signedNumberSign :: Typed.TypedTerm Syntax.PlusOrMinus -> Typed.TypedTerm Syntax.SignedNumber+signedNumberSign x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.SignedNumber"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "sign"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.SignedNumber+signedNumberSignedNumber :: Typed.TypedName Syntax.SignedNumber+signedNumberSignedNumber = Typed.TypedName (Model.Name "hydra.python.syntax.SignedNumber")++-- | DSL injection for the number variant of hydra.python.syntax.SignedRealNumber+signedRealNumberNumber :: Typed.TypedTerm Syntax.RealNumber -> Typed.TypedTerm Syntax.SignedRealNumber+signedRealNumberNumber x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.SignedRealNumber"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "number"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the sign variant of hydra.python.syntax.SignedRealNumber+signedRealNumberSign :: Typed.TypedTerm Syntax.PlusOrMinus -> Typed.TypedTerm Syntax.SignedRealNumber+signedRealNumberSign x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.SignedRealNumber"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "sign"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.SignedRealNumber+signedRealNumberSignedRealNumber :: Typed.TypedName Syntax.SignedRealNumber+signedRealNumberSignedRealNumber = Typed.TypedName (Model.Name "hydra.python.syntax.SignedRealNumber")++-- | DSL injection for the assert variant of hydra.python.syntax.SimpleStatement+simpleStatementAssert :: Typed.TypedTerm Syntax.AssertStatement -> Typed.TypedTerm Syntax.SimpleStatement+simpleStatementAssert x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.SimpleStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "assert"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the assignment variant of hydra.python.syntax.SimpleStatement+simpleStatementAssignment :: Typed.TypedTerm Syntax.Assignment -> Typed.TypedTerm Syntax.SimpleStatement+simpleStatementAssignment x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.SimpleStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "assignment"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the break variant of hydra.python.syntax.SimpleStatement+simpleStatementBreak :: Typed.TypedTerm Syntax.SimpleStatement+simpleStatementBreak =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.SimpleStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "break"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the continue variant of hydra.python.syntax.SimpleStatement+simpleStatementContinue :: Typed.TypedTerm Syntax.SimpleStatement+simpleStatementContinue =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.SimpleStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "continue"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the del variant of hydra.python.syntax.SimpleStatement+simpleStatementDel :: Typed.TypedTerm Syntax.DelStatement -> Typed.TypedTerm Syntax.SimpleStatement+simpleStatementDel x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.SimpleStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "del"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the global variant of hydra.python.syntax.SimpleStatement+simpleStatementGlobal :: Typed.TypedTerm [Syntax.Name] -> Typed.TypedTerm Syntax.SimpleStatement+simpleStatementGlobal x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.SimpleStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "global"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the import variant of hydra.python.syntax.SimpleStatement+simpleStatementImport :: Typed.TypedTerm Syntax.ImportStatement -> Typed.TypedTerm Syntax.SimpleStatement+simpleStatementImport x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.SimpleStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "import"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the nonlocal variant of hydra.python.syntax.SimpleStatement+simpleStatementNonlocal :: Typed.TypedTerm [Syntax.Name] -> Typed.TypedTerm Syntax.SimpleStatement+simpleStatementNonlocal x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.SimpleStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "nonlocal"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the pass variant of hydra.python.syntax.SimpleStatement+simpleStatementPass :: Typed.TypedTerm Syntax.SimpleStatement+simpleStatementPass =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.SimpleStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "pass"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the raise variant of hydra.python.syntax.SimpleStatement+simpleStatementRaise :: Typed.TypedTerm Syntax.RaiseStatement -> Typed.TypedTerm Syntax.SimpleStatement+simpleStatementRaise x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.SimpleStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "raise"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the return variant of hydra.python.syntax.SimpleStatement+simpleStatementReturn :: Typed.TypedTerm Syntax.ReturnStatement -> Typed.TypedTerm Syntax.SimpleStatement+simpleStatementReturn x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.SimpleStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "return"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.SimpleStatement+simpleStatementSimpleStatement :: Typed.TypedName Syntax.SimpleStatement+simpleStatementSimpleStatement = Typed.TypedName (Model.Name "hydra.python.syntax.SimpleStatement")++-- | DSL injection for the starExpressions variant of hydra.python.syntax.SimpleStatement+simpleStatementStarExpressions :: Typed.TypedTerm [Syntax.StarExpression] -> Typed.TypedTerm Syntax.SimpleStatement+simpleStatementStarExpressions x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.SimpleStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "starExpressions"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the typeAlias variant of hydra.python.syntax.SimpleStatement+simpleStatementTypeAlias :: Typed.TypedTerm Syntax.TypeAlias -> Typed.TypedTerm Syntax.SimpleStatement+simpleStatementTypeAlias x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.SimpleStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "typeAlias"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the yield variant of hydra.python.syntax.SimpleStatement+simpleStatementYield :: Typed.TypedTerm Syntax.YieldStatement -> Typed.TypedTerm Syntax.SimpleStatement+simpleStatementYield x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.SimpleStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "yield"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.python.syntax.SimpleTypeParameter+simpleTypeParameter :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.SimpleTypeParameter+simpleTypeParameter name bound default_ =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.SimpleTypeParameter"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "bound"),+ Model.fieldTerm = (Typed.unTypedTerm bound)},+ Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = (Typed.unTypedTerm default_)}]}))++-- | DSL accessor for the bound field of hydra.python.syntax.SimpleTypeParameter+simpleTypeParameterBound :: Typed.TypedTerm Syntax.SimpleTypeParameter -> Typed.TypedTerm (Maybe Syntax.Expression)+simpleTypeParameterBound x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SimpleTypeParameter"),+ Model.projectionFieldName = (Model.Name "bound")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the default field of hydra.python.syntax.SimpleTypeParameter+simpleTypeParameterDefault :: Typed.TypedTerm Syntax.SimpleTypeParameter -> Typed.TypedTerm (Maybe Syntax.Expression)+simpleTypeParameterDefault x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SimpleTypeParameter"),+ Model.projectionFieldName = (Model.Name "default")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.python.syntax.SimpleTypeParameter+simpleTypeParameterName :: Typed.TypedTerm Syntax.SimpleTypeParameter -> Typed.TypedTerm Syntax.Name+simpleTypeParameterName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SimpleTypeParameter"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.SimpleTypeParameter+simpleTypeParameterSimpleTypeParameter :: Typed.TypedName Syntax.SimpleTypeParameter+simpleTypeParameterSimpleTypeParameter = Typed.TypedName (Model.Name "hydra.python.syntax.SimpleTypeParameter")++-- | DSL updater for the bound field of hydra.python.syntax.SimpleTypeParameter+simpleTypeParameterWithBound :: Typed.TypedTerm Syntax.SimpleTypeParameter -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.SimpleTypeParameter+simpleTypeParameterWithBound original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.SimpleTypeParameter"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SimpleTypeParameter"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "bound"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SimpleTypeParameter"),+ Model.projectionFieldName = (Model.Name "default")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the default field of hydra.python.syntax.SimpleTypeParameter+simpleTypeParameterWithDefault :: Typed.TypedTerm Syntax.SimpleTypeParameter -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.SimpleTypeParameter+simpleTypeParameterWithDefault original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.SimpleTypeParameter"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SimpleTypeParameter"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "bound"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SimpleTypeParameter"),+ Model.projectionFieldName = (Model.Name "bound")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.python.syntax.SimpleTypeParameter+simpleTypeParameterWithName :: Typed.TypedTerm Syntax.SimpleTypeParameter -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.SimpleTypeParameter+simpleTypeParameterWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.SimpleTypeParameter"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "bound"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SimpleTypeParameter"),+ Model.projectionFieldName = (Model.Name "bound")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SimpleTypeParameter"),+ Model.projectionFieldName = (Model.Name "default")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the primaryAndName variant of hydra.python.syntax.SingleSubscriptAttributeTarget+singleSubscriptAttributeTargetPrimaryAndName :: Typed.TypedTerm Syntax.TPrimaryAndName -> Typed.TypedTerm Syntax.SingleSubscriptAttributeTarget+singleSubscriptAttributeTargetPrimaryAndName x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.SingleSubscriptAttributeTarget"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "primaryAndName"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the primaryAndSlices variant of hydra.python.syntax.SingleSubscriptAttributeTarget+singleSubscriptAttributeTargetPrimaryAndSlices :: Typed.TypedTerm Syntax.TPrimaryAndSlices -> Typed.TypedTerm Syntax.SingleSubscriptAttributeTarget+singleSubscriptAttributeTargetPrimaryAndSlices x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.SingleSubscriptAttributeTarget"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "primaryAndSlices"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.SingleSubscriptAttributeTarget+singleSubscriptAttributeTargetSingleSubscriptAttributeTarget :: Typed.TypedName Syntax.SingleSubscriptAttributeTarget+singleSubscriptAttributeTargetSingleSubscriptAttributeTarget =+ Typed.TypedName (Model.Name "hydra.python.syntax.SingleSubscriptAttributeTarget")++-- | DSL injection for the name variant of hydra.python.syntax.SingleTarget+singleTargetName :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.SingleTarget+singleTargetName x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.SingleTarget"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the parens variant of hydra.python.syntax.SingleTarget+singleTargetParens :: Typed.TypedTerm Syntax.SingleTarget -> Typed.TypedTerm Syntax.SingleTarget+singleTargetParens x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.SingleTarget"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "parens"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.SingleTarget+singleTargetSingleTarget :: Typed.TypedName Syntax.SingleTarget+singleTargetSingleTarget = Typed.TypedName (Model.Name "hydra.python.syntax.SingleTarget")++-- | DSL injection for the subscriptAttributeTarget variant of hydra.python.syntax.SingleTarget+singleTargetSubscriptAttributeTarget :: Typed.TypedTerm Syntax.SingleSubscriptAttributeTarget -> Typed.TypedTerm Syntax.SingleTarget+singleTargetSubscriptAttributeTarget x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.SingleTarget"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "subscriptAttributeTarget"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.python.syntax.SlashNoDefault wrapper+slashNoDefault :: Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm Syntax.SlashNoDefault+slashNoDefault x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.SlashNoDefault"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.python.syntax.SlashNoDefaultParameters+slashNoDefaultParameters :: Typed.TypedTerm Syntax.SlashNoDefault -> Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm (Maybe Syntax.StarEtc) -> Typed.TypedTerm Syntax.SlashNoDefaultParameters+slashNoDefaultParameters slash paramNoDefault paramWithDefault starEtc =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "slash"),+ Model.fieldTerm = (Typed.unTypedTerm slash)},+ Model.Field {+ Model.fieldName = (Model.Name "paramNoDefault"),+ Model.fieldTerm = (Typed.unTypedTerm paramNoDefault)},+ Model.Field {+ Model.fieldName = (Model.Name "paramWithDefault"),+ Model.fieldTerm = (Typed.unTypedTerm paramWithDefault)},+ Model.Field {+ Model.fieldName = (Model.Name "starEtc"),+ Model.fieldTerm = (Typed.unTypedTerm starEtc)}]}))++-- | DSL accessor for the paramNoDefault field of hydra.python.syntax.SlashNoDefaultParameters+slashNoDefaultParametersParamNoDefault :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm [Syntax.ParamNoDefault]+slashNoDefaultParametersParamNoDefault x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+ Model.projectionFieldName = (Model.Name "paramNoDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the paramWithDefault field of hydra.python.syntax.SlashNoDefaultParameters+slashNoDefaultParametersParamWithDefault :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm [Syntax.ParamWithDefault]+slashNoDefaultParametersParamWithDefault x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+ Model.projectionFieldName = (Model.Name "paramWithDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the slash field of hydra.python.syntax.SlashNoDefaultParameters+slashNoDefaultParametersSlash :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm Syntax.SlashNoDefault+slashNoDefaultParametersSlash x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+ Model.projectionFieldName = (Model.Name "slash")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.SlashNoDefaultParameters+slashNoDefaultParametersSlashNoDefaultParameters :: Typed.TypedName Syntax.SlashNoDefaultParameters+slashNoDefaultParametersSlashNoDefaultParameters =+ Typed.TypedName (Model.Name "hydra.python.syntax.SlashNoDefaultParameters")++-- | DSL accessor for the starEtc field of hydra.python.syntax.SlashNoDefaultParameters+slashNoDefaultParametersStarEtc :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm (Maybe Syntax.StarEtc)+slashNoDefaultParametersStarEtc x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+ Model.projectionFieldName = (Model.Name "starEtc")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the paramNoDefault field of hydra.python.syntax.SlashNoDefaultParameters+slashNoDefaultParametersWithParamNoDefault :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm Syntax.SlashNoDefaultParameters+slashNoDefaultParametersWithParamNoDefault original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "slash"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+ Model.projectionFieldName = (Model.Name "slash")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "paramNoDefault"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "paramWithDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+ Model.projectionFieldName = (Model.Name "paramWithDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "starEtc"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+ Model.projectionFieldName = (Model.Name "starEtc")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the paramWithDefault field of hydra.python.syntax.SlashNoDefaultParameters+slashNoDefaultParametersWithParamWithDefault :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm Syntax.SlashNoDefaultParameters+slashNoDefaultParametersWithParamWithDefault original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "slash"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+ Model.projectionFieldName = (Model.Name "slash")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "paramNoDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+ Model.projectionFieldName = (Model.Name "paramNoDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "paramWithDefault"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "starEtc"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+ Model.projectionFieldName = (Model.Name "starEtc")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the slash field of hydra.python.syntax.SlashNoDefaultParameters+slashNoDefaultParametersWithSlash :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm Syntax.SlashNoDefault -> Typed.TypedTerm Syntax.SlashNoDefaultParameters+slashNoDefaultParametersWithSlash original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "slash"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "paramNoDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+ Model.projectionFieldName = (Model.Name "paramNoDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "paramWithDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+ Model.projectionFieldName = (Model.Name "paramWithDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "starEtc"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+ Model.projectionFieldName = (Model.Name "starEtc")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the starEtc field of hydra.python.syntax.SlashNoDefaultParameters+slashNoDefaultParametersWithStarEtc :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm (Maybe Syntax.StarEtc) -> Typed.TypedTerm Syntax.SlashNoDefaultParameters+slashNoDefaultParametersWithStarEtc original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "slash"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+ Model.projectionFieldName = (Model.Name "slash")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "paramNoDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+ Model.projectionFieldName = (Model.Name "paramNoDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "paramWithDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+ Model.projectionFieldName = (Model.Name "paramWithDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "starEtc"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL name token for hydra.python.syntax.SlashNoDefault+slashNoDefaultSlashNoDefault :: Typed.TypedName Syntax.SlashNoDefault+slashNoDefaultSlashNoDefault = Typed.TypedName (Model.Name "hydra.python.syntax.SlashNoDefault")++-- | DSL constructor for hydra.python.syntax.SlashWithDefault+slashWithDefault :: Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm Syntax.SlashWithDefault+slashWithDefault paramNoDefault paramWithDefault =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.SlashWithDefault"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "paramNoDefault"),+ Model.fieldTerm = (Typed.unTypedTerm paramNoDefault)},+ Model.Field {+ Model.fieldName = (Model.Name "paramWithDefault"),+ Model.fieldTerm = (Typed.unTypedTerm paramWithDefault)}]}))++-- | DSL accessor for the paramNoDefault field of hydra.python.syntax.SlashWithDefault+slashWithDefaultParamNoDefault :: Typed.TypedTerm Syntax.SlashWithDefault -> Typed.TypedTerm [Syntax.ParamNoDefault]+slashWithDefaultParamNoDefault x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashWithDefault"),+ Model.projectionFieldName = (Model.Name "paramNoDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the paramWithDefault field of hydra.python.syntax.SlashWithDefault+slashWithDefaultParamWithDefault :: Typed.TypedTerm Syntax.SlashWithDefault -> Typed.TypedTerm [Syntax.ParamWithDefault]+slashWithDefaultParamWithDefault x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashWithDefault"),+ Model.projectionFieldName = (Model.Name "paramWithDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.python.syntax.SlashWithDefaultParameters+slashWithDefaultParameters :: Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm (Maybe Syntax.StarEtc) -> Typed.TypedTerm Syntax.SlashWithDefaultParameters+slashWithDefaultParameters paramNoDefault paramWithDefault starEtc =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.SlashWithDefaultParameters"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "paramNoDefault"),+ Model.fieldTerm = (Typed.unTypedTerm paramNoDefault)},+ Model.Field {+ Model.fieldName = (Model.Name "paramWithDefault"),+ Model.fieldTerm = (Typed.unTypedTerm paramWithDefault)},+ Model.Field {+ Model.fieldName = (Model.Name "starEtc"),+ Model.fieldTerm = (Typed.unTypedTerm starEtc)}]}))++-- | DSL accessor for the paramNoDefault field of hydra.python.syntax.SlashWithDefaultParameters+slashWithDefaultParametersParamNoDefault :: Typed.TypedTerm Syntax.SlashWithDefaultParameters -> Typed.TypedTerm [Syntax.ParamNoDefault]+slashWithDefaultParametersParamNoDefault x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashWithDefaultParameters"),+ Model.projectionFieldName = (Model.Name "paramNoDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the paramWithDefault field of hydra.python.syntax.SlashWithDefaultParameters+slashWithDefaultParametersParamWithDefault :: Typed.TypedTerm Syntax.SlashWithDefaultParameters -> Typed.TypedTerm [Syntax.ParamWithDefault]+slashWithDefaultParametersParamWithDefault x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashWithDefaultParameters"),+ Model.projectionFieldName = (Model.Name "paramWithDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.SlashWithDefaultParameters+slashWithDefaultParametersSlashWithDefaultParameters :: Typed.TypedName Syntax.SlashWithDefaultParameters+slashWithDefaultParametersSlashWithDefaultParameters =+ Typed.TypedName (Model.Name "hydra.python.syntax.SlashWithDefaultParameters")++-- | DSL accessor for the starEtc field of hydra.python.syntax.SlashWithDefaultParameters+slashWithDefaultParametersStarEtc :: Typed.TypedTerm Syntax.SlashWithDefaultParameters -> Typed.TypedTerm (Maybe Syntax.StarEtc)+slashWithDefaultParametersStarEtc x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashWithDefaultParameters"),+ Model.projectionFieldName = (Model.Name "starEtc")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the paramNoDefault field of hydra.python.syntax.SlashWithDefaultParameters+slashWithDefaultParametersWithParamNoDefault :: Typed.TypedTerm Syntax.SlashWithDefaultParameters -> Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm Syntax.SlashWithDefaultParameters+slashWithDefaultParametersWithParamNoDefault original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.SlashWithDefaultParameters"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "paramNoDefault"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "paramWithDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashWithDefaultParameters"),+ Model.projectionFieldName = (Model.Name "paramWithDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "starEtc"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashWithDefaultParameters"),+ Model.projectionFieldName = (Model.Name "starEtc")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the paramWithDefault field of hydra.python.syntax.SlashWithDefaultParameters+slashWithDefaultParametersWithParamWithDefault :: Typed.TypedTerm Syntax.SlashWithDefaultParameters -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm Syntax.SlashWithDefaultParameters+slashWithDefaultParametersWithParamWithDefault original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.SlashWithDefaultParameters"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "paramNoDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashWithDefaultParameters"),+ Model.projectionFieldName = (Model.Name "paramNoDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "paramWithDefault"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "starEtc"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashWithDefaultParameters"),+ Model.projectionFieldName = (Model.Name "starEtc")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the starEtc field of hydra.python.syntax.SlashWithDefaultParameters+slashWithDefaultParametersWithStarEtc :: Typed.TypedTerm Syntax.SlashWithDefaultParameters -> Typed.TypedTerm (Maybe Syntax.StarEtc) -> Typed.TypedTerm Syntax.SlashWithDefaultParameters+slashWithDefaultParametersWithStarEtc original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.SlashWithDefaultParameters"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "paramNoDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashWithDefaultParameters"),+ Model.projectionFieldName = (Model.Name "paramNoDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "paramWithDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashWithDefaultParameters"),+ Model.projectionFieldName = (Model.Name "paramWithDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "starEtc"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL name token for hydra.python.syntax.SlashWithDefault+slashWithDefaultSlashWithDefault :: Typed.TypedName Syntax.SlashWithDefault+slashWithDefaultSlashWithDefault = Typed.TypedName (Model.Name "hydra.python.syntax.SlashWithDefault")++-- | DSL updater for the paramNoDefault field of hydra.python.syntax.SlashWithDefault+slashWithDefaultWithParamNoDefault :: Typed.TypedTerm Syntax.SlashWithDefault -> Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm Syntax.SlashWithDefault+slashWithDefaultWithParamNoDefault original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.SlashWithDefault"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "paramNoDefault"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "paramWithDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashWithDefault"),+ Model.projectionFieldName = (Model.Name "paramWithDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the paramWithDefault field of hydra.python.syntax.SlashWithDefault+slashWithDefaultWithParamWithDefault :: Typed.TypedTerm Syntax.SlashWithDefault -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm Syntax.SlashWithDefault+slashWithDefaultWithParamWithDefault original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.SlashWithDefault"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "paramNoDefault"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashWithDefault"),+ Model.projectionFieldName = (Model.Name "paramNoDefault")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "paramWithDefault"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.SliceExpression+sliceExpression :: Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.SliceExpression+sliceExpression start stop step =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.SliceExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "start"),+ Model.fieldTerm = (Typed.unTypedTerm start)},+ Model.Field {+ Model.fieldName = (Model.Name "stop"),+ Model.fieldTerm = (Typed.unTypedTerm stop)},+ Model.Field {+ Model.fieldName = (Model.Name "step"),+ Model.fieldTerm = (Typed.unTypedTerm step)}]}))++-- | DSL name token for hydra.python.syntax.SliceExpression+sliceExpressionSliceExpression :: Typed.TypedName Syntax.SliceExpression+sliceExpressionSliceExpression = Typed.TypedName (Model.Name "hydra.python.syntax.SliceExpression")++-- | DSL accessor for the start field of hydra.python.syntax.SliceExpression+sliceExpressionStart :: Typed.TypedTerm Syntax.SliceExpression -> Typed.TypedTerm (Maybe Syntax.Expression)+sliceExpressionStart x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SliceExpression"),+ Model.projectionFieldName = (Model.Name "start")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the step field of hydra.python.syntax.SliceExpression+sliceExpressionStep :: Typed.TypedTerm Syntax.SliceExpression -> Typed.TypedTerm (Maybe Syntax.Expression)+sliceExpressionStep x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SliceExpression"),+ Model.projectionFieldName = (Model.Name "step")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the stop field of hydra.python.syntax.SliceExpression+sliceExpressionStop :: Typed.TypedTerm Syntax.SliceExpression -> Typed.TypedTerm (Maybe Syntax.Expression)+sliceExpressionStop x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SliceExpression"),+ Model.projectionFieldName = (Model.Name "stop")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the start field of hydra.python.syntax.SliceExpression+sliceExpressionWithStart :: Typed.TypedTerm Syntax.SliceExpression -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.SliceExpression+sliceExpressionWithStart original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.SliceExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "start"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "stop"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SliceExpression"),+ Model.projectionFieldName = (Model.Name "stop")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "step"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SliceExpression"),+ Model.projectionFieldName = (Model.Name "step")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the step field of hydra.python.syntax.SliceExpression+sliceExpressionWithStep :: Typed.TypedTerm Syntax.SliceExpression -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.SliceExpression+sliceExpressionWithStep original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.SliceExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "start"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SliceExpression"),+ Model.projectionFieldName = (Model.Name "start")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "stop"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SliceExpression"),+ Model.projectionFieldName = (Model.Name "stop")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "step"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the stop field of hydra.python.syntax.SliceExpression+sliceExpressionWithStop :: Typed.TypedTerm Syntax.SliceExpression -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.SliceExpression+sliceExpressionWithStop original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.SliceExpression"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "start"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SliceExpression"),+ Model.projectionFieldName = (Model.Name "start")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "stop"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "step"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SliceExpression"),+ Model.projectionFieldName = (Model.Name "step")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the named variant of hydra.python.syntax.Slice+sliceNamed :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.Slice+sliceNamed x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Slice"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "named"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the slice variant of hydra.python.syntax.SliceOrStarredExpression+sliceOrStarredExpressionSlice :: Typed.TypedTerm Syntax.Slice -> Typed.TypedTerm Syntax.SliceOrStarredExpression+sliceOrStarredExpressionSlice x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.SliceOrStarredExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "slice"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.SliceOrStarredExpression+sliceOrStarredExpressionSliceOrStarredExpression :: Typed.TypedName Syntax.SliceOrStarredExpression+sliceOrStarredExpressionSliceOrStarredExpression =+ Typed.TypedName (Model.Name "hydra.python.syntax.SliceOrStarredExpression")++-- | DSL injection for the starred variant of hydra.python.syntax.SliceOrStarredExpression+sliceOrStarredExpressionStarred :: Typed.TypedTerm Syntax.StarredExpression -> Typed.TypedTerm Syntax.SliceOrStarredExpression+sliceOrStarredExpressionStarred x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.SliceOrStarredExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "starred"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.Slice+sliceSlice :: Typed.TypedName Syntax.Slice+sliceSlice = Typed.TypedName (Model.Name "hydra.python.syntax.Slice")++-- | DSL injection for the slice_ variant of hydra.python.syntax.Slice+sliceSlice_ :: Typed.TypedTerm Syntax.SliceExpression -> Typed.TypedTerm Syntax.Slice+sliceSlice_ x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Slice"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "slice_"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.python.syntax.Slices+slices :: Typed.TypedTerm Syntax.Slice -> Typed.TypedTerm [Syntax.SliceOrStarredExpression] -> Typed.TypedTerm Syntax.Slices+slices head tail =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Slices"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "head"),+ Model.fieldTerm = (Typed.unTypedTerm head)},+ Model.Field {+ Model.fieldName = (Model.Name "tail"),+ Model.fieldTerm = (Typed.unTypedTerm tail)}]}))++-- | DSL accessor for the head field of hydra.python.syntax.Slices+slicesHead :: Typed.TypedTerm Syntax.Slices -> Typed.TypedTerm Syntax.Slice+slicesHead x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Slices"),+ Model.projectionFieldName = (Model.Name "head")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Slices+slicesSlices :: Typed.TypedName Syntax.Slices+slicesSlices = Typed.TypedName (Model.Name "hydra.python.syntax.Slices")++-- | DSL accessor for the tail field of hydra.python.syntax.Slices+slicesTail :: Typed.TypedTerm Syntax.Slices -> Typed.TypedTerm [Syntax.SliceOrStarredExpression]+slicesTail x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Slices"),+ Model.projectionFieldName = (Model.Name "tail")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the head field of hydra.python.syntax.Slices+slicesWithHead :: Typed.TypedTerm Syntax.Slices -> Typed.TypedTerm Syntax.Slice -> Typed.TypedTerm Syntax.Slices+slicesWithHead original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Slices"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "head"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "tail"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Slices"),+ Model.projectionFieldName = (Model.Name "tail")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the tail field of hydra.python.syntax.Slices+slicesWithTail :: Typed.TypedTerm Syntax.Slices -> Typed.TypedTerm [Syntax.SliceOrStarredExpression] -> Typed.TypedTerm Syntax.Slices+slicesWithTail original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Slices"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "head"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Slices"),+ Model.projectionFieldName = (Model.Name "head")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "tail"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for the hydra.python.syntax.StarAnnotation wrapper+starAnnotation :: Typed.TypedTerm Syntax.StarExpression -> Typed.TypedTerm Syntax.StarAnnotation+starAnnotation x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.StarAnnotation"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.StarAnnotation+starAnnotationStarAnnotation :: Typed.TypedName Syntax.StarAnnotation+starAnnotationStarAnnotation = Typed.TypedName (Model.Name "hydra.python.syntax.StarAnnotation")++-- | DSL injection for the name variant of hydra.python.syntax.StarAtom+starAtomName :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.StarAtom+starAtomName x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.StarAtom"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.StarAtom+starAtomStarAtom :: Typed.TypedName Syntax.StarAtom+starAtomStarAtom = Typed.TypedName (Model.Name "hydra.python.syntax.StarAtom")++-- | DSL injection for the starTargetsListSeq variant of hydra.python.syntax.StarAtom+starAtomStarTargetsListSeq :: Typed.TypedTerm (Maybe Syntax.StarTargetsListSeq) -> Typed.TypedTerm Syntax.StarAtom+starAtomStarTargetsListSeq x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.StarAtom"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "starTargetsListSeq"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the starTargetsTupleSeq variant of hydra.python.syntax.StarAtom+starAtomStarTargetsTupleSeq :: Typed.TypedTerm (Maybe Syntax.StarTargetsTupleSeq) -> Typed.TypedTerm Syntax.StarAtom+starAtomStarTargetsTupleSeq x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.StarAtom"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "starTargetsTupleSeq"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the targetWithStarAtom variant of hydra.python.syntax.StarAtom+starAtomTargetWithStarAtom :: Typed.TypedTerm Syntax.TargetWithStarAtom -> Typed.TypedTerm Syntax.StarAtom+starAtomTargetWithStarAtom x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.StarAtom"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "targetWithStarAtom"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the keywords variant of hydra.python.syntax.StarEtc+starEtcKeywords :: Typed.TypedTerm Syntax.Keywords -> Typed.TypedTerm Syntax.StarEtc+starEtcKeywords x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.StarEtc"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "keywords"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the starComma variant of hydra.python.syntax.StarEtc+starEtcStarComma :: Typed.TypedTerm Syntax.CommaStarEtc -> Typed.TypedTerm Syntax.StarEtc+starEtcStarComma x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.StarEtc"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "starComma"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.StarEtc+starEtcStarEtc :: Typed.TypedName Syntax.StarEtc+starEtcStarEtc = Typed.TypedName (Model.Name "hydra.python.syntax.StarEtc")++-- | DSL injection for the starNoDefault variant of hydra.python.syntax.StarEtc+starEtcStarNoDefault :: Typed.TypedTerm Syntax.NoDefaultStarEtc -> Typed.TypedTerm Syntax.StarEtc+starEtcStarNoDefault x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.StarEtc"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "starNoDefault"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the starNoDefaultStarAnnotation variant of hydra.python.syntax.StarEtc+starEtcStarNoDefaultStarAnnotation :: Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc -> Typed.TypedTerm Syntax.StarEtc+starEtcStarNoDefaultStarAnnotation x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.StarEtc"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "starNoDefaultStarAnnotation"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the simple variant of hydra.python.syntax.StarExpression+starExpressionSimple :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.StarExpression+starExpressionSimple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.StarExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "simple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the star variant of hydra.python.syntax.StarExpression+starExpressionStar :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.StarExpression+starExpressionStar x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.StarExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "star"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.StarExpression+starExpressionStarExpression :: Typed.TypedName Syntax.StarExpression+starExpressionStarExpression = Typed.TypedName (Model.Name "hydra.python.syntax.StarExpression")++-- | DSL injection for the simple variant of hydra.python.syntax.StarNamedExpression+starNamedExpressionSimple :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.StarNamedExpression+starNamedExpressionSimple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.StarNamedExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "simple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the star variant of hydra.python.syntax.StarNamedExpression+starNamedExpressionStar :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.StarNamedExpression+starNamedExpressionStar x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.StarNamedExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "star"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.StarNamedExpression+starNamedExpressionStarNamedExpression :: Typed.TypedName Syntax.StarNamedExpression+starNamedExpressionStarNamedExpression = Typed.TypedName (Model.Name "hydra.python.syntax.StarNamedExpression")++-- | DSL constructor for the hydra.python.syntax.StarNamedExpressions wrapper+starNamedExpressions :: Typed.TypedTerm [Syntax.StarNamedExpression] -> Typed.TypedTerm Syntax.StarNamedExpressions+starNamedExpressions x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.StarNamedExpressions"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.StarNamedExpressions+starNamedExpressionsStarNamedExpressions :: Typed.TypedName Syntax.StarNamedExpressions+starNamedExpressionsStarNamedExpressions = Typed.TypedName (Model.Name "hydra.python.syntax.StarNamedExpressions")++-- | DSL injection for the capture variant of hydra.python.syntax.StarPattern+starPatternCapture :: Typed.TypedTerm Syntax.PatternCaptureTarget -> Typed.TypedTerm Syntax.StarPattern+starPatternCapture x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.StarPattern"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "capture"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.StarPattern+starPatternStarPattern :: Typed.TypedName Syntax.StarPattern+starPatternStarPattern = Typed.TypedName (Model.Name "hydra.python.syntax.StarPattern")++-- | DSL injection for the wildcard variant of hydra.python.syntax.StarPattern+starPatternWildcard :: Typed.TypedTerm Syntax.StarPattern+starPatternWildcard =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.StarPattern"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "wildcard"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.python.syntax.StarTarget+starTargetStarTarget :: Typed.TypedName Syntax.StarTarget+starTargetStarTarget = Typed.TypedName (Model.Name "hydra.python.syntax.StarTarget")++-- | DSL injection for the starred variant of hydra.python.syntax.StarTarget+starTargetStarred :: Typed.TypedTerm Syntax.StarTarget -> Typed.TypedTerm Syntax.StarTarget+starTargetStarred x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.StarTarget"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "starred"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the unstarred variant of hydra.python.syntax.StarTarget+starTargetUnstarred :: Typed.TypedTerm Syntax.TargetWithStarAtom -> Typed.TypedTerm Syntax.StarTarget+starTargetUnstarred x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.StarTarget"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "unstarred"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.python.syntax.StarTargetsListSeq wrapper+starTargetsListSeq :: Typed.TypedTerm [Syntax.StarTarget] -> Typed.TypedTerm Syntax.StarTargetsListSeq+starTargetsListSeq x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.StarTargetsListSeq"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.StarTargetsListSeq+starTargetsListSeqStarTargetsListSeq :: Typed.TypedName Syntax.StarTargetsListSeq+starTargetsListSeqStarTargetsListSeq = Typed.TypedName (Model.Name "hydra.python.syntax.StarTargetsListSeq")++-- | DSL constructor for the hydra.python.syntax.StarTargetsTupleSeq wrapper+starTargetsTupleSeq :: Typed.TypedTerm [Syntax.StarTarget] -> Typed.TypedTerm Syntax.StarTargetsTupleSeq+starTargetsTupleSeq x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.StarTargetsTupleSeq"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.StarTargetsTupleSeq+starTargetsTupleSeqStarTargetsTupleSeq :: Typed.TypedName Syntax.StarTargetsTupleSeq+starTargetsTupleSeqStarTargetsTupleSeq = Typed.TypedName (Model.Name "hydra.python.syntax.StarTargetsTupleSeq")++-- | DSL constructor for hydra.python.syntax.StarTypeParameter+starTypeParameter :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.StarExpression) -> Typed.TypedTerm Syntax.StarTypeParameter+starTypeParameter name default_ =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.StarTypeParameter"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = (Typed.unTypedTerm default_)}]}))++-- | DSL accessor for the default field of hydra.python.syntax.StarTypeParameter+starTypeParameterDefault :: Typed.TypedTerm Syntax.StarTypeParameter -> Typed.TypedTerm (Maybe Syntax.StarExpression)+starTypeParameterDefault x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.StarTypeParameter"),+ Model.projectionFieldName = (Model.Name "default")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.python.syntax.StarTypeParameter+starTypeParameterName :: Typed.TypedTerm Syntax.StarTypeParameter -> Typed.TypedTerm Syntax.Name+starTypeParameterName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.StarTypeParameter"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.StarTypeParameter+starTypeParameterStarTypeParameter :: Typed.TypedName Syntax.StarTypeParameter+starTypeParameterStarTypeParameter = Typed.TypedName (Model.Name "hydra.python.syntax.StarTypeParameter")++-- | DSL updater for the default field of hydra.python.syntax.StarTypeParameter+starTypeParameterWithDefault :: Typed.TypedTerm Syntax.StarTypeParameter -> Typed.TypedTerm (Maybe Syntax.StarExpression) -> Typed.TypedTerm Syntax.StarTypeParameter+starTypeParameterWithDefault original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.StarTypeParameter"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.StarTypeParameter"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.python.syntax.StarTypeParameter+starTypeParameterWithName :: Typed.TypedTerm Syntax.StarTypeParameter -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.StarTypeParameter+starTypeParameterWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.StarTypeParameter"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "default"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.StarTypeParameter"),+ Model.projectionFieldName = (Model.Name "default")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.python.syntax.StarredExpression wrapper+starredExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.StarredExpression+starredExpression x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.StarredExpression"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.StarredExpression+starredExpressionStarredExpression :: Typed.TypedName Syntax.StarredExpression+starredExpressionStarredExpression = Typed.TypedName (Model.Name "hydra.python.syntax.StarredExpression")++-- | DSL injection for the annotated variant of hydra.python.syntax.Statement+statementAnnotated :: Typed.TypedTerm Syntax.AnnotatedStatement -> Typed.TypedTerm Syntax.Statement+statementAnnotated x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Statement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "annotated"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the compound variant of hydra.python.syntax.Statement+statementCompound :: Typed.TypedTerm Syntax.CompoundStatement -> Typed.TypedTerm Syntax.Statement+statementCompound x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Statement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "compound"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the simple variant of hydra.python.syntax.Statement+statementSimple :: Typed.TypedTerm [Syntax.SimpleStatement] -> Typed.TypedTerm Syntax.Statement+statementSimple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.Statement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "simple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.Statement+statementStatement :: Typed.TypedName Syntax.Statement+statementStatement = Typed.TypedName (Model.Name "hydra.python.syntax.Statement")++-- | DSL constructor for hydra.python.syntax.String+string :: Typed.TypedTerm String -> Typed.TypedTerm (Maybe Syntax.StringPrefix) -> Typed.TypedTerm Syntax.QuoteStyle -> Typed.TypedTerm Syntax.String_+string value prefix quoteStyle =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.String"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm value)},+ Model.Field {+ Model.fieldName = (Model.Name "prefix"),+ Model.fieldTerm = (Typed.unTypedTerm prefix)},+ Model.Field {+ Model.fieldName = (Model.Name "quoteStyle"),+ Model.fieldTerm = (Typed.unTypedTerm quoteStyle)}]}))++-- | DSL accessor for the prefix field of hydra.python.syntax.String+stringPrefix :: Typed.TypedTerm Syntax.String_ -> Typed.TypedTerm (Maybe Syntax.StringPrefix)+stringPrefix x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.String"),+ Model.projectionFieldName = (Model.Name "prefix")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL injection for the bytes variant of hydra.python.syntax.StringPrefix+stringPrefixBytes :: Typed.TypedTerm Syntax.StringPrefix+stringPrefixBytes =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.StringPrefix"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "bytes"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the raw variant of hydra.python.syntax.StringPrefix+stringPrefixRaw :: Typed.TypedTerm Syntax.StringPrefix+stringPrefixRaw =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.StringPrefix"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "raw"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the rawBytes variant of hydra.python.syntax.StringPrefix+stringPrefixRawBytes :: Typed.TypedTerm Syntax.StringPrefix+stringPrefixRawBytes =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.StringPrefix"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "rawBytes"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.python.syntax.StringPrefix+stringPrefixStringPrefix :: Typed.TypedName Syntax.StringPrefix+stringPrefixStringPrefix = Typed.TypedName (Model.Name "hydra.python.syntax.StringPrefix")++-- | DSL injection for the unicode variant of hydra.python.syntax.StringPrefix+stringPrefixUnicode :: Typed.TypedTerm Syntax.StringPrefix+stringPrefixUnicode =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.StringPrefix"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "unicode"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL accessor for the quoteStyle field of hydra.python.syntax.String+stringQuoteStyle :: Typed.TypedTerm Syntax.String_ -> Typed.TypedTerm Syntax.QuoteStyle+stringQuoteStyle x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.String"),+ Model.projectionFieldName = (Model.Name "quoteStyle")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.String+stringString :: Typed.TypedName Syntax.String_+stringString = Typed.TypedName (Model.Name "hydra.python.syntax.String")++-- | DSL accessor for the value field of hydra.python.syntax.String+stringValue :: Typed.TypedTerm Syntax.String_ -> Typed.TypedTerm String+stringValue x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.String"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the prefix field of hydra.python.syntax.String+stringWithPrefix :: Typed.TypedTerm Syntax.String_ -> Typed.TypedTerm (Maybe Syntax.StringPrefix) -> Typed.TypedTerm Syntax.String_+stringWithPrefix original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.String"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.String"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "prefix"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "quoteStyle"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.String"),+ Model.projectionFieldName = (Model.Name "quoteStyle")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the quoteStyle field of hydra.python.syntax.String+stringWithQuoteStyle :: Typed.TypedTerm Syntax.String_ -> Typed.TypedTerm Syntax.QuoteStyle -> Typed.TypedTerm Syntax.String_+stringWithQuoteStyle original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.String"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.String"),+ Model.projectionFieldName = (Model.Name "value")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "prefix"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.String"),+ Model.projectionFieldName = (Model.Name "prefix")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "quoteStyle"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the value field of hydra.python.syntax.String+stringWithValue :: Typed.TypedTerm Syntax.String_ -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.String_+stringWithValue original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.String"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "value"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "prefix"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.String"),+ Model.projectionFieldName = (Model.Name "prefix")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "quoteStyle"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.String"),+ Model.projectionFieldName = (Model.Name "quoteStyle")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the simple variant of hydra.python.syntax.SubjectExpression+subjectExpressionSimple :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.SubjectExpression+subjectExpressionSimple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.SubjectExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "simple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.SubjectExpression+subjectExpressionSubjectExpression :: Typed.TypedName Syntax.SubjectExpression+subjectExpressionSubjectExpression = Typed.TypedName (Model.Name "hydra.python.syntax.SubjectExpression")++-- | DSL injection for the tuple variant of hydra.python.syntax.SubjectExpression+subjectExpressionTuple :: Typed.TypedTerm [Syntax.StarNamedExpression] -> Typed.TypedTerm Syntax.SubjectExpression+subjectExpressionTuple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.SubjectExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "tuple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.python.syntax.Sum+sum :: Typed.TypedTerm (Maybe Syntax.SumLhs) -> Typed.TypedTerm Syntax.Term -> Typed.TypedTerm Syntax.Sum+sum lhs rhs =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Sum"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lhs"),+ Model.fieldTerm = (Typed.unTypedTerm lhs)},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Typed.unTypedTerm rhs)}]}))++-- | DSL accessor for the lhs field of hydra.python.syntax.Sum+sumLhs :: Typed.TypedTerm Syntax.Sum -> Typed.TypedTerm (Maybe Syntax.SumLhs)+sumLhs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Sum"),+ Model.projectionFieldName = (Model.Name "lhs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.python.syntax.SumLhs+sumLhs2 :: Typed.TypedTerm Syntax.Sum -> Typed.TypedTerm Syntax.SumOp -> Typed.TypedTerm Syntax.SumLhs+sumLhs2 operand operator =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.SumLhs"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "operand"),+ Model.fieldTerm = (Typed.unTypedTerm operand)},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Typed.unTypedTerm operator)}]}))++-- | DSL accessor for the operand field of hydra.python.syntax.SumLhs+sumLhsOperand :: Typed.TypedTerm Syntax.SumLhs -> Typed.TypedTerm Syntax.Sum+sumLhsOperand x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SumLhs"),+ Model.projectionFieldName = (Model.Name "operand")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the operator field of hydra.python.syntax.SumLhs+sumLhsOperator :: Typed.TypedTerm Syntax.SumLhs -> Typed.TypedTerm Syntax.SumOp+sumLhsOperator x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SumLhs"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.SumLhs+sumLhsSumLhs :: Typed.TypedName Syntax.SumLhs+sumLhsSumLhs = Typed.TypedName (Model.Name "hydra.python.syntax.SumLhs")++-- | DSL updater for the operand field of hydra.python.syntax.SumLhs+sumLhsWithOperand :: Typed.TypedTerm Syntax.SumLhs -> Typed.TypedTerm Syntax.Sum -> Typed.TypedTerm Syntax.SumLhs+sumLhsWithOperand original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.SumLhs"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "operand"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SumLhs"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the operator field of hydra.python.syntax.SumLhs+sumLhsWithOperator :: Typed.TypedTerm Syntax.SumLhs -> Typed.TypedTerm Syntax.SumOp -> Typed.TypedTerm Syntax.SumLhs+sumLhsWithOperator original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.SumLhs"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "operand"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.SumLhs"),+ Model.projectionFieldName = (Model.Name "operand")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the add variant of hydra.python.syntax.SumOp+sumOpAdd :: Typed.TypedTerm Syntax.SumOp+sumOpAdd =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.SumOp"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "add"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the sub variant of hydra.python.syntax.SumOp+sumOpSub :: Typed.TypedTerm Syntax.SumOp+sumOpSub =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.SumOp"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "sub"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.python.syntax.SumOp+sumOpSumOp :: Typed.TypedName Syntax.SumOp+sumOpSumOp = Typed.TypedName (Model.Name "hydra.python.syntax.SumOp")++-- | DSL accessor for the rhs field of hydra.python.syntax.Sum+sumRhs :: Typed.TypedTerm Syntax.Sum -> Typed.TypedTerm Syntax.Term+sumRhs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Sum"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Sum+sumSum :: Typed.TypedName Syntax.Sum+sumSum = Typed.TypedName (Model.Name "hydra.python.syntax.Sum")++-- | DSL updater for the lhs field of hydra.python.syntax.Sum+sumWithLhs :: Typed.TypedTerm Syntax.Sum -> Typed.TypedTerm (Maybe Syntax.SumLhs) -> Typed.TypedTerm Syntax.Sum+sumWithLhs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Sum"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lhs"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Sum"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the rhs field of hydra.python.syntax.Sum+sumWithRhs :: Typed.TypedTerm Syntax.Sum -> Typed.TypedTerm Syntax.Term -> Typed.TypedTerm Syntax.Sum+sumWithRhs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Sum"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lhs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Sum"),+ Model.projectionFieldName = (Model.Name "lhs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.TPrimaryAndArguments+tPrimaryAndArguments :: Typed.TypedTerm Syntax.TPrimary -> Typed.TypedTerm (Maybe Syntax.Args) -> Typed.TypedTerm Syntax.TPrimaryAndArguments+tPrimaryAndArguments primary arguments =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndArguments"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "primary"),+ Model.fieldTerm = (Typed.unTypedTerm primary)},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm arguments)}]}))++-- | DSL accessor for the arguments field of hydra.python.syntax.TPrimaryAndArguments+tPrimaryAndArgumentsArguments :: Typed.TypedTerm Syntax.TPrimaryAndArguments -> Typed.TypedTerm (Maybe Syntax.Args)+tPrimaryAndArgumentsArguments x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndArguments"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the primary field of hydra.python.syntax.TPrimaryAndArguments+tPrimaryAndArgumentsPrimary :: Typed.TypedTerm Syntax.TPrimaryAndArguments -> Typed.TypedTerm Syntax.TPrimary+tPrimaryAndArgumentsPrimary x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndArguments"),+ Model.projectionFieldName = (Model.Name "primary")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.TPrimaryAndArguments+tPrimaryAndArgumentsTPrimaryAndArguments :: Typed.TypedName Syntax.TPrimaryAndArguments+tPrimaryAndArgumentsTPrimaryAndArguments = Typed.TypedName (Model.Name "hydra.python.syntax.TPrimaryAndArguments")++-- | DSL updater for the arguments field of hydra.python.syntax.TPrimaryAndArguments+tPrimaryAndArgumentsWithArguments :: Typed.TypedTerm Syntax.TPrimaryAndArguments -> Typed.TypedTerm (Maybe Syntax.Args) -> Typed.TypedTerm Syntax.TPrimaryAndArguments+tPrimaryAndArgumentsWithArguments original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndArguments"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "primary"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndArguments"),+ Model.projectionFieldName = (Model.Name "primary")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the primary field of hydra.python.syntax.TPrimaryAndArguments+tPrimaryAndArgumentsWithPrimary :: Typed.TypedTerm Syntax.TPrimaryAndArguments -> Typed.TypedTerm Syntax.TPrimary -> Typed.TypedTerm Syntax.TPrimaryAndArguments+tPrimaryAndArgumentsWithPrimary original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndArguments"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "primary"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "arguments"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndArguments"),+ Model.projectionFieldName = (Model.Name "arguments")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.python.syntax.TPrimaryAndGenexp+tPrimaryAndGenexp :: Typed.TypedTerm Syntax.TPrimary -> Typed.TypedTerm Syntax.Genexp -> Typed.TypedTerm Syntax.TPrimaryAndGenexp+tPrimaryAndGenexp primary genexp =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndGenexp"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "primary"),+ Model.fieldTerm = (Typed.unTypedTerm primary)},+ Model.Field {+ Model.fieldName = (Model.Name "genexp"),+ Model.fieldTerm = (Typed.unTypedTerm genexp)}]}))++-- | DSL accessor for the genexp field of hydra.python.syntax.TPrimaryAndGenexp+tPrimaryAndGenexpGenexp :: Typed.TypedTerm Syntax.TPrimaryAndGenexp -> Typed.TypedTerm Syntax.Genexp+tPrimaryAndGenexpGenexp x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndGenexp"),+ Model.projectionFieldName = (Model.Name "genexp")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the primary field of hydra.python.syntax.TPrimaryAndGenexp+tPrimaryAndGenexpPrimary :: Typed.TypedTerm Syntax.TPrimaryAndGenexp -> Typed.TypedTerm Syntax.TPrimary+tPrimaryAndGenexpPrimary x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndGenexp"),+ Model.projectionFieldName = (Model.Name "primary")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.TPrimaryAndGenexp+tPrimaryAndGenexpTPrimaryAndGenexp :: Typed.TypedName Syntax.TPrimaryAndGenexp+tPrimaryAndGenexpTPrimaryAndGenexp = Typed.TypedName (Model.Name "hydra.python.syntax.TPrimaryAndGenexp")++-- | DSL updater for the genexp field of hydra.python.syntax.TPrimaryAndGenexp+tPrimaryAndGenexpWithGenexp :: Typed.TypedTerm Syntax.TPrimaryAndGenexp -> Typed.TypedTerm Syntax.Genexp -> Typed.TypedTerm Syntax.TPrimaryAndGenexp+tPrimaryAndGenexpWithGenexp original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndGenexp"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "primary"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndGenexp"),+ Model.projectionFieldName = (Model.Name "primary")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "genexp"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the primary field of hydra.python.syntax.TPrimaryAndGenexp+tPrimaryAndGenexpWithPrimary :: Typed.TypedTerm Syntax.TPrimaryAndGenexp -> Typed.TypedTerm Syntax.TPrimary -> Typed.TypedTerm Syntax.TPrimaryAndGenexp+tPrimaryAndGenexpWithPrimary original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndGenexp"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "primary"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "genexp"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndGenexp"),+ Model.projectionFieldName = (Model.Name "genexp")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.python.syntax.TPrimaryAndName+tPrimaryAndName :: Typed.TypedTerm Syntax.TPrimary -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.TPrimaryAndName+tPrimaryAndName primary name =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndName"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "primary"),+ Model.fieldTerm = (Typed.unTypedTerm primary)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)}]}))++-- | DSL accessor for the name field of hydra.python.syntax.TPrimaryAndName+tPrimaryAndNameName :: Typed.TypedTerm Syntax.TPrimaryAndName -> Typed.TypedTerm Syntax.Name+tPrimaryAndNameName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndName"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the primary field of hydra.python.syntax.TPrimaryAndName+tPrimaryAndNamePrimary :: Typed.TypedTerm Syntax.TPrimaryAndName -> Typed.TypedTerm Syntax.TPrimary+tPrimaryAndNamePrimary x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndName"),+ Model.projectionFieldName = (Model.Name "primary")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.TPrimaryAndName+tPrimaryAndNameTPrimaryAndName :: Typed.TypedName Syntax.TPrimaryAndName+tPrimaryAndNameTPrimaryAndName = Typed.TypedName (Model.Name "hydra.python.syntax.TPrimaryAndName")++-- | DSL updater for the name field of hydra.python.syntax.TPrimaryAndName+tPrimaryAndNameWithName :: Typed.TypedTerm Syntax.TPrimaryAndName -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.TPrimaryAndName+tPrimaryAndNameWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndName"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "primary"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndName"),+ Model.projectionFieldName = (Model.Name "primary")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the primary field of hydra.python.syntax.TPrimaryAndName+tPrimaryAndNameWithPrimary :: Typed.TypedTerm Syntax.TPrimaryAndName -> Typed.TypedTerm Syntax.TPrimary -> Typed.TypedTerm Syntax.TPrimaryAndName+tPrimaryAndNameWithPrimary original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndName"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "primary"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndName"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.python.syntax.TPrimaryAndSlices+tPrimaryAndSlices :: Typed.TypedTerm Syntax.TPrimary -> Typed.TypedTerm Syntax.Slices -> Typed.TypedTerm Syntax.TPrimaryAndSlices+tPrimaryAndSlices primary slices =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndSlices"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "primary"),+ Model.fieldTerm = (Typed.unTypedTerm primary)},+ Model.Field {+ Model.fieldName = (Model.Name "slices"),+ Model.fieldTerm = (Typed.unTypedTerm slices)}]}))++-- | DSL accessor for the primary field of hydra.python.syntax.TPrimaryAndSlices+tPrimaryAndSlicesPrimary :: Typed.TypedTerm Syntax.TPrimaryAndSlices -> Typed.TypedTerm Syntax.TPrimary+tPrimaryAndSlicesPrimary x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndSlices"),+ Model.projectionFieldName = (Model.Name "primary")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the slices field of hydra.python.syntax.TPrimaryAndSlices+tPrimaryAndSlicesSlices :: Typed.TypedTerm Syntax.TPrimaryAndSlices -> Typed.TypedTerm Syntax.Slices+tPrimaryAndSlicesSlices x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndSlices"),+ Model.projectionFieldName = (Model.Name "slices")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.TPrimaryAndSlices+tPrimaryAndSlicesTPrimaryAndSlices :: Typed.TypedName Syntax.TPrimaryAndSlices+tPrimaryAndSlicesTPrimaryAndSlices = Typed.TypedName (Model.Name "hydra.python.syntax.TPrimaryAndSlices")++-- | DSL updater for the primary field of hydra.python.syntax.TPrimaryAndSlices+tPrimaryAndSlicesWithPrimary :: Typed.TypedTerm Syntax.TPrimaryAndSlices -> Typed.TypedTerm Syntax.TPrimary -> Typed.TypedTerm Syntax.TPrimaryAndSlices+tPrimaryAndSlicesWithPrimary original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndSlices"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "primary"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "slices"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndSlices"),+ Model.projectionFieldName = (Model.Name "slices")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the slices field of hydra.python.syntax.TPrimaryAndSlices+tPrimaryAndSlicesWithSlices :: Typed.TypedTerm Syntax.TPrimaryAndSlices -> Typed.TypedTerm Syntax.Slices -> Typed.TypedTerm Syntax.TPrimaryAndSlices+tPrimaryAndSlicesWithSlices original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndSlices"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "primary"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndSlices"),+ Model.projectionFieldName = (Model.Name "primary")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "slices"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the atom variant of hydra.python.syntax.TPrimary+tPrimaryAtom :: Typed.TypedTerm Syntax.Atom -> Typed.TypedTerm Syntax.TPrimary+tPrimaryAtom x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.TPrimary"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "atom"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the primaryAndArguments variant of hydra.python.syntax.TPrimary+tPrimaryPrimaryAndArguments :: Typed.TypedTerm Syntax.TPrimaryAndArguments -> Typed.TypedTerm Syntax.TPrimary+tPrimaryPrimaryAndArguments x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.TPrimary"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "primaryAndArguments"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the primaryAndGenexp variant of hydra.python.syntax.TPrimary+tPrimaryPrimaryAndGenexp :: Typed.TypedTerm Syntax.TPrimaryAndGenexp -> Typed.TypedTerm Syntax.TPrimary+tPrimaryPrimaryAndGenexp x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.TPrimary"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "primaryAndGenexp"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the primaryAndName variant of hydra.python.syntax.TPrimary+tPrimaryPrimaryAndName :: Typed.TypedTerm Syntax.TPrimaryAndName -> Typed.TypedTerm Syntax.TPrimary+tPrimaryPrimaryAndName x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.TPrimary"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "primaryAndName"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the primaryAndSlices variant of hydra.python.syntax.TPrimary+tPrimaryPrimaryAndSlices :: Typed.TypedTerm Syntax.TPrimaryAndSlices -> Typed.TypedTerm Syntax.TPrimary+tPrimaryPrimaryAndSlices x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.TPrimary"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "primaryAndSlices"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.TPrimary+tPrimaryTPrimary :: Typed.TypedName Syntax.TPrimary+tPrimaryTPrimary = Typed.TypedName (Model.Name "hydra.python.syntax.TPrimary")++-- | DSL injection for the atom variant of hydra.python.syntax.TargetWithStarAtom+targetWithStarAtomAtom :: Typed.TypedTerm Syntax.StarAtom -> Typed.TypedTerm Syntax.TargetWithStarAtom+targetWithStarAtomAtom x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.TargetWithStarAtom"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "atom"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the project variant of hydra.python.syntax.TargetWithStarAtom+targetWithStarAtomProject :: Typed.TypedTerm Syntax.TPrimaryAndName -> Typed.TypedTerm Syntax.TargetWithStarAtom+targetWithStarAtomProject x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.TargetWithStarAtom"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "project"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the slices variant of hydra.python.syntax.TargetWithStarAtom+targetWithStarAtomSlices :: Typed.TypedTerm Syntax.TPrimaryAndSlices -> Typed.TypedTerm Syntax.TargetWithStarAtom+targetWithStarAtomSlices x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.TargetWithStarAtom"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "slices"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.TargetWithStarAtom+targetWithStarAtomTargetWithStarAtom :: Typed.TypedName Syntax.TargetWithStarAtom+targetWithStarAtomTargetWithStarAtom = Typed.TypedName (Model.Name "hydra.python.syntax.TargetWithStarAtom")++-- | DSL constructor for hydra.python.syntax.Term+term :: Typed.TypedTerm (Maybe Syntax.TermLhs) -> Typed.TypedTerm Syntax.Factor -> Typed.TypedTerm Syntax.Term+term lhs rhs =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Term"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lhs"),+ Model.fieldTerm = (Typed.unTypedTerm lhs)},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Typed.unTypedTerm rhs)}]}))++-- | DSL accessor for the lhs field of hydra.python.syntax.Term+termLhs :: Typed.TypedTerm Syntax.Term -> Typed.TypedTerm (Maybe Syntax.TermLhs)+termLhs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Term"),+ Model.projectionFieldName = (Model.Name "lhs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.python.syntax.TermLhs+termLhs2 :: Typed.TypedTerm Syntax.Term -> Typed.TypedTerm Syntax.TermOp -> Typed.TypedTerm Syntax.TermLhs+termLhs2 operand operator =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TermLhs"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "operand"),+ Model.fieldTerm = (Typed.unTypedTerm operand)},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Typed.unTypedTerm operator)}]}))++-- | DSL accessor for the operand field of hydra.python.syntax.TermLhs+termLhsOperand :: Typed.TypedTerm Syntax.TermLhs -> Typed.TypedTerm Syntax.Term+termLhsOperand x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TermLhs"),+ Model.projectionFieldName = (Model.Name "operand")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the operator field of hydra.python.syntax.TermLhs+termLhsOperator :: Typed.TypedTerm Syntax.TermLhs -> Typed.TypedTerm Syntax.TermOp+termLhsOperator x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TermLhs"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.TermLhs+termLhsTermLhs :: Typed.TypedName Syntax.TermLhs+termLhsTermLhs = Typed.TypedName (Model.Name "hydra.python.syntax.TermLhs")++-- | DSL updater for the operand field of hydra.python.syntax.TermLhs+termLhsWithOperand :: Typed.TypedTerm Syntax.TermLhs -> Typed.TypedTerm Syntax.Term -> Typed.TypedTerm Syntax.TermLhs+termLhsWithOperand original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TermLhs"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "operand"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TermLhs"),+ Model.projectionFieldName = (Model.Name "operator")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the operator field of hydra.python.syntax.TermLhs+termLhsWithOperator :: Typed.TypedTerm Syntax.TermLhs -> Typed.TypedTerm Syntax.TermOp -> Typed.TypedTerm Syntax.TermLhs+termLhsWithOperator original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TermLhs"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "operand"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TermLhs"),+ Model.projectionFieldName = (Model.Name "operand")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "operator"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the div variant of hydra.python.syntax.TermOp+termOpDiv :: Typed.TypedTerm Syntax.TermOp+termOpDiv =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.TermOp"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "div"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the floordiv variant of hydra.python.syntax.TermOp+termOpFloordiv :: Typed.TypedTerm Syntax.TermOp+termOpFloordiv =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.TermOp"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "floordiv"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the matmul variant of hydra.python.syntax.TermOp+termOpMatmul :: Typed.TypedTerm Syntax.TermOp+termOpMatmul =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.TermOp"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "matmul"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the mod variant of hydra.python.syntax.TermOp+termOpMod :: Typed.TypedTerm Syntax.TermOp+termOpMod =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.TermOp"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "mod"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the mul variant of hydra.python.syntax.TermOp+termOpMul :: Typed.TypedTerm Syntax.TermOp+termOpMul =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.TermOp"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "mul"),+ Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.python.syntax.TermOp+termOpTermOp :: Typed.TypedName Syntax.TermOp+termOpTermOp = Typed.TypedName (Model.Name "hydra.python.syntax.TermOp")++-- | DSL accessor for the rhs field of hydra.python.syntax.Term+termRhs :: Typed.TypedTerm Syntax.Term -> Typed.TypedTerm Syntax.Factor+termRhs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Term"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Term+termTerm :: Typed.TypedName Syntax.Term+termTerm = Typed.TypedName (Model.Name "hydra.python.syntax.Term")++-- | DSL updater for the lhs field of hydra.python.syntax.Term+termWithLhs :: Typed.TypedTerm Syntax.Term -> Typed.TypedTerm (Maybe Syntax.TermLhs) -> Typed.TypedTerm Syntax.Term+termWithLhs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Term"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lhs"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Term"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the rhs field of hydra.python.syntax.Term+termWithRhs :: Typed.TypedTerm Syntax.Term -> Typed.TypedTerm Syntax.Factor -> Typed.TypedTerm Syntax.Term+termWithRhs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.Term"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lhs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.Term"),+ Model.projectionFieldName = (Model.Name "lhs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.TryExceptStarStatement+tryExceptStarStatement :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm [Syntax.ExceptStarBlock] -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.TryExceptStarStatement+tryExceptStarStatement body excepts else_ finally =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)},+ Model.Field {+ Model.fieldName = (Model.Name "excepts"),+ Model.fieldTerm = (Typed.unTypedTerm excepts)},+ Model.Field {+ Model.fieldName = (Model.Name "else"),+ Model.fieldTerm = (Typed.unTypedTerm else_)},+ Model.Field {+ Model.fieldName = (Model.Name "finally"),+ Model.fieldTerm = (Typed.unTypedTerm finally)}]}))++-- | DSL accessor for the body field of hydra.python.syntax.TryExceptStarStatement+tryExceptStarStatementBody :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm Syntax.Block+tryExceptStarStatementBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the else field of hydra.python.syntax.TryExceptStarStatement+tryExceptStarStatementElse :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm (Maybe Syntax.Block)+tryExceptStarStatementElse x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+ Model.projectionFieldName = (Model.Name "else")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the excepts field of hydra.python.syntax.TryExceptStarStatement+tryExceptStarStatementExcepts :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm [Syntax.ExceptStarBlock]+tryExceptStarStatementExcepts x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+ Model.projectionFieldName = (Model.Name "excepts")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the finally field of hydra.python.syntax.TryExceptStarStatement+tryExceptStarStatementFinally :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm (Maybe Syntax.Block)+tryExceptStarStatementFinally x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+ Model.projectionFieldName = (Model.Name "finally")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.TryExceptStarStatement+tryExceptStarStatementTryExceptStarStatement :: Typed.TypedName Syntax.TryExceptStarStatement+tryExceptStarStatementTryExceptStarStatement = Typed.TypedName (Model.Name "hydra.python.syntax.TryExceptStarStatement")++-- | DSL updater for the body field of hydra.python.syntax.TryExceptStarStatement+tryExceptStarStatementWithBody :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.TryExceptStarStatement+tryExceptStarStatementWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "excepts"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+ Model.projectionFieldName = (Model.Name "excepts")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "else"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+ Model.projectionFieldName = (Model.Name "else")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "finally"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+ Model.projectionFieldName = (Model.Name "finally")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the else field of hydra.python.syntax.TryExceptStarStatement+tryExceptStarStatementWithElse :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.TryExceptStarStatement+tryExceptStarStatementWithElse original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "excepts"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+ Model.projectionFieldName = (Model.Name "excepts")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "else"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "finally"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+ Model.projectionFieldName = (Model.Name "finally")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the excepts field of hydra.python.syntax.TryExceptStarStatement+tryExceptStarStatementWithExcepts :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm [Syntax.ExceptStarBlock] -> Typed.TypedTerm Syntax.TryExceptStarStatement+tryExceptStarStatementWithExcepts original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "excepts"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "else"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+ Model.projectionFieldName = (Model.Name "else")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "finally"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+ Model.projectionFieldName = (Model.Name "finally")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the finally field of hydra.python.syntax.TryExceptStarStatement+tryExceptStarStatementWithFinally :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.TryExceptStarStatement+tryExceptStarStatementWithFinally original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "excepts"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+ Model.projectionFieldName = (Model.Name "excepts")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "else"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+ Model.projectionFieldName = (Model.Name "else")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "finally"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.TryExceptStatement+tryExceptStatement :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm [Syntax.ExceptBlock] -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.TryExceptStatement+tryExceptStatement body excepts else_ finally =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)},+ Model.Field {+ Model.fieldName = (Model.Name "excepts"),+ Model.fieldTerm = (Typed.unTypedTerm excepts)},+ Model.Field {+ Model.fieldName = (Model.Name "else"),+ Model.fieldTerm = (Typed.unTypedTerm else_)},+ Model.Field {+ Model.fieldName = (Model.Name "finally"),+ Model.fieldTerm = (Typed.unTypedTerm finally)}]}))++-- | DSL accessor for the body field of hydra.python.syntax.TryExceptStatement+tryExceptStatementBody :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm Syntax.Block+tryExceptStatementBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the else field of hydra.python.syntax.TryExceptStatement+tryExceptStatementElse :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm (Maybe Syntax.Block)+tryExceptStatementElse x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+ Model.projectionFieldName = (Model.Name "else")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the excepts field of hydra.python.syntax.TryExceptStatement+tryExceptStatementExcepts :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm [Syntax.ExceptBlock]+tryExceptStatementExcepts x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+ Model.projectionFieldName = (Model.Name "excepts")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the finally field of hydra.python.syntax.TryExceptStatement+tryExceptStatementFinally :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm (Maybe Syntax.Block)+tryExceptStatementFinally x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+ Model.projectionFieldName = (Model.Name "finally")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.TryExceptStatement+tryExceptStatementTryExceptStatement :: Typed.TypedName Syntax.TryExceptStatement+tryExceptStatementTryExceptStatement = Typed.TypedName (Model.Name "hydra.python.syntax.TryExceptStatement")++-- | DSL updater for the body field of hydra.python.syntax.TryExceptStatement+tryExceptStatementWithBody :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.TryExceptStatement+tryExceptStatementWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "excepts"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+ Model.projectionFieldName = (Model.Name "excepts")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "else"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+ Model.projectionFieldName = (Model.Name "else")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "finally"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+ Model.projectionFieldName = (Model.Name "finally")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the else field of hydra.python.syntax.TryExceptStatement+tryExceptStatementWithElse :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.TryExceptStatement+tryExceptStatementWithElse original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "excepts"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+ Model.projectionFieldName = (Model.Name "excepts")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "else"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "finally"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+ Model.projectionFieldName = (Model.Name "finally")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the excepts field of hydra.python.syntax.TryExceptStatement+tryExceptStatementWithExcepts :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm [Syntax.ExceptBlock] -> Typed.TypedTerm Syntax.TryExceptStatement+tryExceptStatementWithExcepts original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "excepts"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "else"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+ Model.projectionFieldName = (Model.Name "else")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "finally"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+ Model.projectionFieldName = (Model.Name "finally")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the finally field of hydra.python.syntax.TryExceptStatement+tryExceptStatementWithFinally :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.TryExceptStatement+tryExceptStatementWithFinally original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "excepts"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+ Model.projectionFieldName = (Model.Name "excepts")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "else"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+ Model.projectionFieldName = (Model.Name "else")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "finally"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.TryFinallyStatement+tryFinallyStatement :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.TryFinallyStatement+tryFinallyStatement body finally =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TryFinallyStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)},+ Model.Field {+ Model.fieldName = (Model.Name "finally"),+ Model.fieldTerm = (Typed.unTypedTerm finally)}]}))++-- | DSL accessor for the body field of hydra.python.syntax.TryFinallyStatement+tryFinallyStatementBody :: Typed.TypedTerm Syntax.TryFinallyStatement -> Typed.TypedTerm Syntax.Block+tryFinallyStatementBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryFinallyStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the finally field of hydra.python.syntax.TryFinallyStatement+tryFinallyStatementFinally :: Typed.TypedTerm Syntax.TryFinallyStatement -> Typed.TypedTerm Syntax.Block+tryFinallyStatementFinally x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryFinallyStatement"),+ Model.projectionFieldName = (Model.Name "finally")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.TryFinallyStatement+tryFinallyStatementTryFinallyStatement :: Typed.TypedName Syntax.TryFinallyStatement+tryFinallyStatementTryFinallyStatement = Typed.TypedName (Model.Name "hydra.python.syntax.TryFinallyStatement")++-- | DSL updater for the body field of hydra.python.syntax.TryFinallyStatement+tryFinallyStatementWithBody :: Typed.TypedTerm Syntax.TryFinallyStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.TryFinallyStatement+tryFinallyStatementWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TryFinallyStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "finally"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryFinallyStatement"),+ Model.projectionFieldName = (Model.Name "finally")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the finally field of hydra.python.syntax.TryFinallyStatement+tryFinallyStatementWithFinally :: Typed.TypedTerm Syntax.TryFinallyStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.TryFinallyStatement+tryFinallyStatementWithFinally original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TryFinallyStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryFinallyStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "finally"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the except variant of hydra.python.syntax.TryStatement+tryStatementExcept :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm Syntax.TryStatement+tryStatementExcept x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.TryStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "except"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the exceptStar variant of hydra.python.syntax.TryStatement+tryStatementExceptStar :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm Syntax.TryStatement+tryStatementExceptStar x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.TryStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "exceptStar"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the finally variant of hydra.python.syntax.TryStatement+tryStatementFinally :: Typed.TypedTerm Syntax.TryFinallyStatement -> Typed.TypedTerm Syntax.TryStatement+tryStatementFinally x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.TryStatement"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "finally"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.TryStatement+tryStatementTryStatement :: Typed.TypedName Syntax.TryStatement+tryStatementTryStatement = Typed.TypedName (Model.Name "hydra.python.syntax.TryStatement")++-- | DSL constructor for the hydra.python.syntax.Tuple wrapper+tuple :: Typed.TypedTerm [Syntax.StarNamedExpression] -> Typed.TypedTerm Syntax.Tuple+tuple x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.Tuple"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Tuple+tupleTuple :: Typed.TypedName Syntax.Tuple+tupleTuple = Typed.TypedName (Model.Name "hydra.python.syntax.Tuple")++-- | DSL constructor for hydra.python.syntax.TypeAlias+typeAlias :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm [Syntax.TypeParameter] -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.TypeAlias+typeAlias name typeParams expression =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TypeAlias"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm name)},+ Model.Field {+ Model.fieldName = (Model.Name "typeParams"),+ Model.fieldTerm = (Typed.unTypedTerm typeParams)},+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)}]}))++-- | DSL accessor for the expression field of hydra.python.syntax.TypeAlias+typeAliasExpression :: Typed.TypedTerm Syntax.TypeAlias -> Typed.TypedTerm Syntax.Expression+typeAliasExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypeAlias"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.python.syntax.TypeAlias+typeAliasName :: Typed.TypedTerm Syntax.TypeAlias -> Typed.TypedTerm Syntax.Name+typeAliasName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypeAlias"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.TypeAlias+typeAliasTypeAlias :: Typed.TypedName Syntax.TypeAlias+typeAliasTypeAlias = Typed.TypedName (Model.Name "hydra.python.syntax.TypeAlias")++-- | DSL accessor for the typeParams field of hydra.python.syntax.TypeAlias+typeAliasTypeParams :: Typed.TypedTerm Syntax.TypeAlias -> Typed.TypedTerm [Syntax.TypeParameter]+typeAliasTypeParams x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypeAlias"),+ Model.projectionFieldName = (Model.Name "typeParams")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the expression field of hydra.python.syntax.TypeAlias+typeAliasWithExpression :: Typed.TypedTerm Syntax.TypeAlias -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.TypeAlias+typeAliasWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TypeAlias"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypeAlias"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeParams"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypeAlias"),+ Model.projectionFieldName = (Model.Name "typeParams")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.python.syntax.TypeAlias+typeAliasWithName :: Typed.TypedTerm Syntax.TypeAlias -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.TypeAlias+typeAliasWithName original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TypeAlias"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "typeParams"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypeAlias"),+ Model.projectionFieldName = (Model.Name "typeParams")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypeAlias"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeParams field of hydra.python.syntax.TypeAlias+typeAliasWithTypeParams :: Typed.TypedTerm Syntax.TypeAlias -> Typed.TypedTerm [Syntax.TypeParameter] -> Typed.TypedTerm Syntax.TypeAlias+typeAliasWithTypeParams original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TypeAlias"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "name"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypeAlias"),+ Model.projectionFieldName = (Model.Name "name")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeParams"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypeAlias"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.python.syntax.TypeComment wrapper+typeComment :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.TypeComment+typeComment x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.TypeComment"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.TypeComment+typeCommentTypeComment :: Typed.TypedName Syntax.TypeComment+typeCommentTypeComment = Typed.TypedName (Model.Name "hydra.python.syntax.TypeComment")++-- | DSL injection for the doubleStarredExpression variant of hydra.python.syntax.TypeExpression+typeExpressionDoubleStarredExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.TypeExpression+typeExpressionDoubleStarredExpression x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.TypeExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "doubleStarredExpression"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the expression variant of hydra.python.syntax.TypeExpression+typeExpressionExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.TypeExpression+typeExpressionExpression x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.TypeExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the starredExpression variant of hydra.python.syntax.TypeExpression+typeExpressionStarredExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.TypeExpression+typeExpressionStarredExpression x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.TypeExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "starredExpression"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.TypeExpression+typeExpressionTypeExpression :: Typed.TypedName Syntax.TypeExpression+typeExpressionTypeExpression = Typed.TypedName (Model.Name "hydra.python.syntax.TypeExpression")++-- | DSL injection for the doubleStar variant of hydra.python.syntax.TypeParameter+typeParameterDoubleStar :: Typed.TypedTerm Syntax.DoubleStarTypeParameter -> Typed.TypedTerm Syntax.TypeParameter+typeParameterDoubleStar x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.TypeParameter"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "doubleStar"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the simple variant of hydra.python.syntax.TypeParameter+typeParameterSimple :: Typed.TypedTerm Syntax.SimpleTypeParameter -> Typed.TypedTerm Syntax.TypeParameter+typeParameterSimple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.TypeParameter"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "simple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the star variant of hydra.python.syntax.TypeParameter+typeParameterStar :: Typed.TypedTerm Syntax.StarTypeParameter -> Typed.TypedTerm Syntax.TypeParameter+typeParameterStar x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.TypeParameter"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "star"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.TypeParameter+typeParameterTypeParameter :: Typed.TypedName Syntax.TypeParameter+typeParameterTypeParameter = Typed.TypedName (Model.Name "hydra.python.syntax.TypeParameter")++-- | DSL constructor for hydra.python.syntax.TypedAssignment+typedAssignment :: Typed.TypedTerm Syntax.SingleTarget -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm (Maybe Syntax.AnnotatedRhs) -> Typed.TypedTerm Syntax.TypedAssignment+typedAssignment lhs type_ rhs =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TypedAssignment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lhs"),+ Model.fieldTerm = (Typed.unTypedTerm lhs)},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm type_)},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Typed.unTypedTerm rhs)}]}))++-- | DSL accessor for the lhs field of hydra.python.syntax.TypedAssignment+typedAssignmentLhs :: Typed.TypedTerm Syntax.TypedAssignment -> Typed.TypedTerm Syntax.SingleTarget+typedAssignmentLhs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypedAssignment"),+ Model.projectionFieldName = (Model.Name "lhs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the rhs field of hydra.python.syntax.TypedAssignment+typedAssignmentRhs :: Typed.TypedTerm Syntax.TypedAssignment -> Typed.TypedTerm (Maybe Syntax.AnnotatedRhs)+typedAssignmentRhs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypedAssignment"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.python.syntax.TypedAssignment+typedAssignmentType :: Typed.TypedTerm Syntax.TypedAssignment -> Typed.TypedTerm Syntax.Expression+typedAssignmentType x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypedAssignment"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.TypedAssignment+typedAssignmentTypedAssignment :: Typed.TypedName Syntax.TypedAssignment+typedAssignmentTypedAssignment = Typed.TypedName (Model.Name "hydra.python.syntax.TypedAssignment")++-- | DSL updater for the lhs field of hydra.python.syntax.TypedAssignment+typedAssignmentWithLhs :: Typed.TypedTerm Syntax.TypedAssignment -> Typed.TypedTerm Syntax.SingleTarget -> Typed.TypedTerm Syntax.TypedAssignment+typedAssignmentWithLhs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TypedAssignment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lhs"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypedAssignment"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypedAssignment"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the rhs field of hydra.python.syntax.TypedAssignment+typedAssignmentWithRhs :: Typed.TypedTerm Syntax.TypedAssignment -> Typed.TypedTerm (Maybe Syntax.AnnotatedRhs) -> Typed.TypedTerm Syntax.TypedAssignment+typedAssignmentWithRhs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TypedAssignment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lhs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypedAssignment"),+ Model.projectionFieldName = (Model.Name "lhs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypedAssignment"),+ Model.projectionFieldName = (Model.Name "type")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the type field of hydra.python.syntax.TypedAssignment+typedAssignmentWithType :: Typed.TypedTerm Syntax.TypedAssignment -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.TypedAssignment+typedAssignmentWithType original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.TypedAssignment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "lhs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypedAssignment"),+ Model.projectionFieldName = (Model.Name "lhs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "type"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypedAssignment"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL accessor for the body of hydra.python.syntax.Annotation+unAnnotation :: Typed.TypedTerm Syntax.Annotation -> Typed.TypedTerm Syntax.Expression+unAnnotation x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.Annotation")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.Attribute+unAttribute :: Typed.TypedTerm Syntax.Attribute -> Typed.TypedTerm [Syntax.Name]+unAttribute x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.Attribute")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.CapturePattern+unCapturePattern :: Typed.TypedTerm Syntax.CapturePattern -> Typed.TypedTerm Syntax.PatternCaptureTarget+unCapturePattern x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.CapturePattern")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.Conjunction+unConjunction :: Typed.TypedTerm Syntax.Conjunction -> Typed.TypedTerm [Syntax.Inversion]+unConjunction x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.Conjunction")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.Decorators+unDecorators :: Typed.TypedTerm Syntax.Decorators -> Typed.TypedTerm [Syntax.NamedExpression]+unDecorators x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.Decorators")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.Default+unDefault :: Typed.TypedTerm Syntax.Default -> Typed.TypedTerm Syntax.Expression+unDefault x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.Default")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.DelStatement+unDelStatement :: Typed.TypedTerm Syntax.DelStatement -> Typed.TypedTerm Syntax.DelTargets+unDelStatement x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.DelStatement")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.DelTargets+unDelTargets :: Typed.TypedTerm Syntax.DelTargets -> Typed.TypedTerm [Syntax.DelTarget]+unDelTargets x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.DelTargets")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.Dict+unDict :: Typed.TypedTerm Syntax.Dict -> Typed.TypedTerm [Syntax.DoubleStarredKvpair]+unDict x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.Dict")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.Disjunction+unDisjunction :: Typed.TypedTerm Syntax.Disjunction -> Typed.TypedTerm [Syntax.Conjunction]+unDisjunction x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.Disjunction")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.DottedName+unDottedName :: Typed.TypedTerm Syntax.DottedName -> Typed.TypedTerm [Syntax.Name]+unDottedName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.DottedName")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.DoubleStarPattern+unDoubleStarPattern :: Typed.TypedTerm Syntax.DoubleStarPattern -> Typed.TypedTerm Syntax.PatternCaptureTarget+unDoubleStarPattern x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.DoubleStarPattern")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.Eval+unEval :: Typed.TypedTerm Syntax.Eval -> Typed.TypedTerm [Syntax.Expression]+unEval x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.Eval")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.File+unFile :: Typed.TypedTerm Syntax.File -> Typed.TypedTerm [Syntax.Statement]+unFile x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.File")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.ForIfClauses+unForIfClauses :: Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm [Syntax.ForIfClause]+unForIfClauses x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.ForIfClauses")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.FuncTypeComment+unFuncTypeComment :: Typed.TypedTerm Syntax.FuncTypeComment -> Typed.TypedTerm Syntax.TypeComment+unFuncTypeComment x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.FuncTypeComment")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.GroupPattern+unGroupPattern :: Typed.TypedTerm Syntax.GroupPattern -> Typed.TypedTerm Syntax.Pattern+unGroupPattern x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.GroupPattern")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.Guard+unGuard :: Typed.TypedTerm Syntax.Guard -> Typed.TypedTerm Syntax.NamedExpression+unGuard x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.Guard")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.ImaginaryNumber+unImaginaryNumber :: Typed.TypedTerm Syntax.ImaginaryNumber -> Typed.TypedTerm Double+unImaginaryNumber x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.ImaginaryNumber")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.ImportName+unImportName :: Typed.TypedTerm Syntax.ImportName -> Typed.TypedTerm [Syntax.DottedAsName]+unImportName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.ImportName")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.Interactive+unInteractive :: Typed.TypedTerm Syntax.Interactive -> Typed.TypedTerm Syntax.Statement+unInteractive x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.Interactive")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.ItemsPattern+unItemsPattern :: Typed.TypedTerm Syntax.ItemsPattern -> Typed.TypedTerm [Syntax.KeyValuePattern]+unItemsPattern x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.ItemsPattern")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.KeywordPatterns+unKeywordPatterns :: Typed.TypedTerm Syntax.KeywordPatterns -> Typed.TypedTerm [Syntax.KeywordPattern]+unKeywordPatterns x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.KeywordPatterns")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.Keywords+unKeywords :: Typed.TypedTerm Syntax.Keywords -> Typed.TypedTerm Syntax.ParamNoDefault+unKeywords x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.Keywords")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.LambdaKwds+unLambdaKwds :: Typed.TypedTerm Syntax.LambdaKwds -> Typed.TypedTerm Syntax.LambdaParamNoDefault+unLambdaKwds x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.LambdaKwds")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.LambdaParamNoDefault+unLambdaParamNoDefault :: Typed.TypedTerm Syntax.LambdaParamNoDefault -> Typed.TypedTerm Syntax.Name+unLambdaParamNoDefault x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.LambdaParamNoDefault")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.List+unList :: Typed.TypedTerm Syntax.List -> Typed.TypedTerm [Syntax.StarNamedExpression]+unList x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.List")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.MaybeSequencePattern+unMaybeSequencePattern :: Typed.TypedTerm Syntax.MaybeSequencePattern -> Typed.TypedTerm [Syntax.MaybeStarPattern]+unMaybeSequencePattern x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.MaybeSequencePattern")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.Module+unModule :: Typed.TypedTerm Syntax.Module -> Typed.TypedTerm [[Syntax.Statement]]+unModule x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.Module")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.Name+unName :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm String+unName x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.Name")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.NameOrAttribute+unNameOrAttribute :: Typed.TypedTerm Syntax.NameOrAttribute -> Typed.TypedTerm [Syntax.Name]+unNameOrAttribute x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.NameOrAttribute")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.OrPattern+unOrPattern :: Typed.TypedTerm Syntax.OrPattern -> Typed.TypedTerm [Syntax.ClosedPattern]+unOrPattern x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.OrPattern")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.PatternCaptureTarget+unPatternCaptureTarget :: Typed.TypedTerm Syntax.PatternCaptureTarget -> Typed.TypedTerm Syntax.Name+unPatternCaptureTarget x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.PatternCaptureTarget")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.PositionalPatterns+unPositionalPatterns :: Typed.TypedTerm Syntax.PositionalPatterns -> Typed.TypedTerm [Syntax.Pattern]+unPositionalPatterns x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.PositionalPatterns")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.RaiseStatement+unRaiseStatement :: Typed.TypedTerm Syntax.RaiseStatement -> Typed.TypedTerm (Maybe Syntax.RaiseExpression)+unRaiseStatement x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.RaiseStatement")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.ReturnStatement+unReturnStatement :: Typed.TypedTerm Syntax.ReturnStatement -> Typed.TypedTerm [Syntax.StarExpression]+unReturnStatement x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.ReturnStatement")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.Set+unSet :: Typed.TypedTerm Syntax.Set -> Typed.TypedTerm [Syntax.StarNamedExpression]+unSet x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.Set")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.SlashNoDefault+unSlashNoDefault :: Typed.TypedTerm Syntax.SlashNoDefault -> Typed.TypedTerm [Syntax.ParamNoDefault]+unSlashNoDefault x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.SlashNoDefault")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.StarAnnotation+unStarAnnotation :: Typed.TypedTerm Syntax.StarAnnotation -> Typed.TypedTerm Syntax.StarExpression+unStarAnnotation x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.StarAnnotation")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.StarNamedExpressions+unStarNamedExpressions :: Typed.TypedTerm Syntax.StarNamedExpressions -> Typed.TypedTerm [Syntax.StarNamedExpression]+unStarNamedExpressions x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.StarNamedExpressions")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.StarTargetsListSeq+unStarTargetsListSeq :: Typed.TypedTerm Syntax.StarTargetsListSeq -> Typed.TypedTerm [Syntax.StarTarget]+unStarTargetsListSeq x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.StarTargetsListSeq")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.StarTargetsTupleSeq+unStarTargetsTupleSeq :: Typed.TypedTerm Syntax.StarTargetsTupleSeq -> Typed.TypedTerm [Syntax.StarTarget]+unStarTargetsTupleSeq x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.StarTargetsTupleSeq")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.StarredExpression+unStarredExpression :: Typed.TypedTerm Syntax.StarredExpression -> Typed.TypedTerm Syntax.Expression+unStarredExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.StarredExpression")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.Tuple+unTuple :: Typed.TypedTerm Syntax.Tuple -> Typed.TypedTerm [Syntax.StarNamedExpression]+unTuple x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.Tuple")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.TypeComment+unTypeComment :: Typed.TypedTerm Syntax.TypeComment -> Typed.TypedTerm String+unTypeComment x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.TypeComment")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.ValuePattern+unValuePattern :: Typed.TypedTerm Syntax.ValuePattern -> Typed.TypedTerm Syntax.Attribute+unValuePattern x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.ValuePattern")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.YieldStatement+unYieldStatement :: Typed.TypedTerm Syntax.YieldStatement -> Typed.TypedTerm Syntax.YieldExpression+unYieldStatement x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.YieldStatement")),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.python.syntax.UntypedAssignment+untypedAssignment :: Typed.TypedTerm [Syntax.StarTarget] -> Typed.TypedTerm Syntax.AnnotatedRhs -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.UntypedAssignment+untypedAssignment targets rhs typeComment =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.UntypedAssignment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "targets"),+ Model.fieldTerm = (Typed.unTypedTerm targets)},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Typed.unTypedTerm rhs)},+ Model.Field {+ Model.fieldName = (Model.Name "typeComment"),+ Model.fieldTerm = (Typed.unTypedTerm typeComment)}]}))++-- | DSL accessor for the rhs field of hydra.python.syntax.UntypedAssignment+untypedAssignmentRhs :: Typed.TypedTerm Syntax.UntypedAssignment -> Typed.TypedTerm Syntax.AnnotatedRhs+untypedAssignmentRhs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.UntypedAssignment"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the targets field of hydra.python.syntax.UntypedAssignment+untypedAssignmentTargets :: Typed.TypedTerm Syntax.UntypedAssignment -> Typed.TypedTerm [Syntax.StarTarget]+untypedAssignmentTargets x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.UntypedAssignment"),+ Model.projectionFieldName = (Model.Name "targets")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the typeComment field of hydra.python.syntax.UntypedAssignment+untypedAssignmentTypeComment :: Typed.TypedTerm Syntax.UntypedAssignment -> Typed.TypedTerm (Maybe Syntax.TypeComment)+untypedAssignmentTypeComment x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.UntypedAssignment"),+ Model.projectionFieldName = (Model.Name "typeComment")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.UntypedAssignment+untypedAssignmentUntypedAssignment :: Typed.TypedName Syntax.UntypedAssignment+untypedAssignmentUntypedAssignment = Typed.TypedName (Model.Name "hydra.python.syntax.UntypedAssignment")++-- | DSL updater for the rhs field of hydra.python.syntax.UntypedAssignment+untypedAssignmentWithRhs :: Typed.TypedTerm Syntax.UntypedAssignment -> Typed.TypedTerm Syntax.AnnotatedRhs -> Typed.TypedTerm Syntax.UntypedAssignment+untypedAssignmentWithRhs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.UntypedAssignment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "targets"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.UntypedAssignment"),+ Model.projectionFieldName = (Model.Name "targets")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "typeComment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.UntypedAssignment"),+ Model.projectionFieldName = (Model.Name "typeComment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the targets field of hydra.python.syntax.UntypedAssignment+untypedAssignmentWithTargets :: Typed.TypedTerm Syntax.UntypedAssignment -> Typed.TypedTerm [Syntax.StarTarget] -> Typed.TypedTerm Syntax.UntypedAssignment+untypedAssignmentWithTargets original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.UntypedAssignment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "targets"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.UntypedAssignment"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeComment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.UntypedAssignment"),+ Model.projectionFieldName = (Model.Name "typeComment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeComment field of hydra.python.syntax.UntypedAssignment+untypedAssignmentWithTypeComment :: Typed.TypedTerm Syntax.UntypedAssignment -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.UntypedAssignment+untypedAssignmentWithTypeComment original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.UntypedAssignment"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "targets"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.UntypedAssignment"),+ Model.projectionFieldName = (Model.Name "targets")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "rhs"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.UntypedAssignment"),+ Model.projectionFieldName = (Model.Name "rhs")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeComment"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for the hydra.python.syntax.ValuePattern wrapper+valuePattern :: Typed.TypedTerm Syntax.Attribute -> Typed.TypedTerm Syntax.ValuePattern+valuePattern x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.ValuePattern"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ValuePattern+valuePatternValuePattern :: Typed.TypedName Syntax.ValuePattern+valuePatternValuePattern = Typed.TypedName (Model.Name "hydra.python.syntax.ValuePattern")++-- | DSL constructor for hydra.python.syntax.WhileStatement+whileStatement :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.WhileStatement+whileStatement condition body else_ =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.WhileStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Typed.unTypedTerm condition)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)},+ Model.Field {+ Model.fieldName = (Model.Name "else"),+ Model.fieldTerm = (Typed.unTypedTerm else_)}]}))++-- | DSL accessor for the body field of hydra.python.syntax.WhileStatement+whileStatementBody :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm Syntax.Block+whileStatementBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.WhileStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the condition field of hydra.python.syntax.WhileStatement+whileStatementCondition :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm Syntax.NamedExpression+whileStatementCondition x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.WhileStatement"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the else field of hydra.python.syntax.WhileStatement+whileStatementElse :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm (Maybe Syntax.Block)+whileStatementElse x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.WhileStatement"),+ Model.projectionFieldName = (Model.Name "else")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.WhileStatement+whileStatementWhileStatement :: Typed.TypedName Syntax.WhileStatement+whileStatementWhileStatement = Typed.TypedName (Model.Name "hydra.python.syntax.WhileStatement")++-- | DSL updater for the body field of hydra.python.syntax.WhileStatement+whileStatementWithBody :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.WhileStatement+whileStatementWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.WhileStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.WhileStatement"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "else"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.WhileStatement"),+ Model.projectionFieldName = (Model.Name "else")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the condition field of hydra.python.syntax.WhileStatement+whileStatementWithCondition :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.WhileStatement+whileStatementWithCondition original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.WhileStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.WhileStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "else"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.WhileStatement"),+ Model.projectionFieldName = (Model.Name "else")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the else field of hydra.python.syntax.WhileStatement+whileStatementWithElse :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.WhileStatement+whileStatementWithElse original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.WhileStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "condition"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.WhileStatement"),+ Model.projectionFieldName = (Model.Name "condition")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.WhileStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "else"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.WithItem+withItem :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm (Maybe Syntax.StarTarget) -> Typed.TypedTerm Syntax.WithItem+withItem expression as =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.WithItem"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm expression)},+ Model.Field {+ Model.fieldName = (Model.Name "as"),+ Model.fieldTerm = (Typed.unTypedTerm as)}]}))++-- | DSL accessor for the as field of hydra.python.syntax.WithItem+withItemAs :: Typed.TypedTerm Syntax.WithItem -> Typed.TypedTerm (Maybe Syntax.StarTarget)+withItemAs x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithItem"),+ Model.projectionFieldName = (Model.Name "as")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the expression field of hydra.python.syntax.WithItem+withItemExpression :: Typed.TypedTerm Syntax.WithItem -> Typed.TypedTerm Syntax.Expression+withItemExpression x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithItem"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the as field of hydra.python.syntax.WithItem+withItemWithAs :: Typed.TypedTerm Syntax.WithItem -> Typed.TypedTerm (Maybe Syntax.StarTarget) -> Typed.TypedTerm Syntax.WithItem+withItemWithAs original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.WithItem"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithItem"),+ Model.projectionFieldName = (Model.Name "expression")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "as"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the expression field of hydra.python.syntax.WithItem+withItemWithExpression :: Typed.TypedTerm Syntax.WithItem -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.WithItem+withItemWithExpression original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.WithItem"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "expression"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "as"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithItem"),+ Model.projectionFieldName = (Model.Name "as")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.python.syntax.WithItem+withItemWithItem :: Typed.TypedName Syntax.WithItem+withItemWithItem = Typed.TypedName (Model.Name "hydra.python.syntax.WithItem")++-- | DSL constructor for hydra.python.syntax.WithStatement+withStatement :: Typed.TypedTerm Bool -> Typed.TypedTerm [Syntax.WithItem] -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.WithStatement+withStatement async items typeComment body =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "async"),+ Model.fieldTerm = (Typed.unTypedTerm async)},+ Model.Field {+ Model.fieldName = (Model.Name "items"),+ Model.fieldTerm = (Typed.unTypedTerm items)},+ Model.Field {+ Model.fieldName = (Model.Name "typeComment"),+ Model.fieldTerm = (Typed.unTypedTerm typeComment)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the async field of hydra.python.syntax.WithStatement+withStatementAsync :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm Bool+withStatementAsync x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+ Model.projectionFieldName = (Model.Name "async")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body field of hydra.python.syntax.WithStatement+withStatementBody :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm Syntax.Block+withStatementBody x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the items field of hydra.python.syntax.WithStatement+withStatementItems :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm [Syntax.WithItem]+withStatementItems x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+ Model.projectionFieldName = (Model.Name "items")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the typeComment field of hydra.python.syntax.WithStatement+withStatementTypeComment :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm (Maybe Syntax.TypeComment)+withStatementTypeComment x =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+ Model.projectionFieldName = (Model.Name "typeComment")})),+ Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the async field of hydra.python.syntax.WithStatement+withStatementWithAsync :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.WithStatement+withStatementWithAsync original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "async"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "items"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+ Model.projectionFieldName = (Model.Name "items")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeComment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+ Model.projectionFieldName = (Model.Name "typeComment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the body field of hydra.python.syntax.WithStatement+withStatementWithBody :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.WithStatement+withStatementWithBody original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "async"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+ Model.projectionFieldName = (Model.Name "async")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "items"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+ Model.projectionFieldName = (Model.Name "items")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeComment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+ Model.projectionFieldName = (Model.Name "typeComment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the items field of hydra.python.syntax.WithStatement+withStatementWithItems :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm [Syntax.WithItem] -> Typed.TypedTerm Syntax.WithStatement+withStatementWithItems original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "async"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+ Model.projectionFieldName = (Model.Name "async")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "items"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "typeComment"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+ Model.projectionFieldName = (Model.Name "typeComment")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.python.syntax.WithStatement+withStatementWithStatement :: Typed.TypedName Syntax.WithStatement+withStatementWithStatement = Typed.TypedName (Model.Name "hydra.python.syntax.WithStatement")++-- | DSL updater for the typeComment field of hydra.python.syntax.WithStatement+withStatementWithTypeComment :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.WithStatement+withStatementWithTypeComment original newVal =+ Typed.TypedTerm (Model.TermRecord (Model.Record {+ Model.recordTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+ Model.recordFields = [+ Model.Field {+ Model.fieldName = (Model.Name "async"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+ Model.projectionFieldName = (Model.Name "async")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "items"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+ Model.projectionFieldName = (Model.Name "items")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))},+ Model.Field {+ Model.fieldName = (Model.Name "typeComment"),+ Model.fieldTerm = (Typed.unTypedTerm newVal)},+ Model.Field {+ Model.fieldName = (Model.Name "body"),+ Model.fieldTerm = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermProject (Model.Projection {+ Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+ Model.projectionFieldName = (Model.Name "body")})),+ Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the from variant of hydra.python.syntax.YieldExpression+yieldExpressionFrom :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.YieldExpression+yieldExpressionFrom x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.YieldExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "from"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the simple variant of hydra.python.syntax.YieldExpression+yieldExpressionSimple :: Typed.TypedTerm [Syntax.StarExpression] -> Typed.TypedTerm Syntax.YieldExpression+yieldExpressionSimple x =+ Typed.TypedTerm (Model.TermInject (Model.Injection {+ Model.injectionTypeName = (Model.Name "hydra.python.syntax.YieldExpression"),+ Model.injectionField = Model.Field {+ Model.fieldName = (Model.Name "simple"),+ Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.YieldExpression+yieldExpressionYieldExpression :: Typed.TypedName Syntax.YieldExpression+yieldExpressionYieldExpression = Typed.TypedName (Model.Name "hydra.python.syntax.YieldExpression")++-- | DSL constructor for the hydra.python.syntax.YieldStatement wrapper+yieldStatement :: Typed.TypedTerm Syntax.YieldExpression -> Typed.TypedTerm Syntax.YieldStatement+yieldStatement x =+ Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+ Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.YieldStatement"),+ Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.YieldStatement+yieldStatementYieldStatement :: Typed.TypedName Syntax.YieldStatement+yieldStatementYieldStatement = Typed.TypedName (Model.Name "hydra.python.syntax.YieldStatement")
+ src/main/haskell/Hydra/Python/Dsl/Utils.hs view
@@ -0,0 +1,561 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.python.utils++module Hydra.Python.Dsl.Utils where++import qualified Hydra.Core.Analysis as Analysis+import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Classes as Classes+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Errors as Errors+import qualified Hydra.Core.Graph as Graph+import qualified Hydra.Core.Json.Model as JsonModel+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.Query as Query+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.Serialization as Serialization+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+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 qualified Hydra.Python.Dsl.Environment as DslEnvironment+import qualified Hydra.Python.Dsl.Names as DslNames+import qualified Hydra.Python.Dsl.Syntax as DslSyntax+import qualified Hydra.Python.Environment as Environment+import qualified Hydra.Python.Names as Names+import qualified Hydra.Python.Serde as Serde+import qualified Hydra.Python.Syntax as Syntax+import qualified Hydra.Python.Utils as Utils+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.Set as S++-- | DSL reference to hydra.python.utils.annotatedExpression+annotatedExpression :: Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Expression+annotatedExpression arg0 arg1 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.annotatedExpression")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)})),+ Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.utils.annotatedStatement+annotatedStatement :: Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm Syntax.Statement+annotatedStatement arg0 arg1 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.annotatedStatement")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)})),+ Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.utils.assignment+assignment :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.AnnotatedRhs -> Typed.TypedTerm Syntax.Statement+assignment arg0 arg1 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.assignment")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)})),+ Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.utils.assignmentStatement+assignmentStatement :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement+assignmentStatement arg0 arg1 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.assignmentStatement")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)})),+ Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.utils.castTo+castTo :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Expression+castTo arg0 arg1 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.castTo")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)})),+ Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.utils.commentStatement+commentStatement :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Statement+commentStatement arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.commentStatement")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.decimalVariantMethods+decimalVariantMethods :: Typed.TypedTerm [Syntax.Statement]+decimalVariantMethods = Typed.TypedTerm (Model.TermVariable (Model.Name "hydra.python.utils.decimalVariantMethods"))++-- | DSL reference to hydra.python.utils.decodePyComparisonToPyAwaitPrimary+decodePyComparisonToPyAwaitPrimary :: Typed.TypedTerm Syntax.Comparison -> Typed.TypedTerm (Maybe Syntax.Primary)+decodePyComparisonToPyAwaitPrimary arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.decodePyComparisonToPyAwaitPrimary")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.decodePyConjunctionToPyPrimary+decodePyConjunctionToPyPrimary :: Typed.TypedTerm Syntax.Conjunction -> Typed.TypedTerm (Maybe Syntax.Primary)+decodePyConjunctionToPyPrimary arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.decodePyConjunctionToPyPrimary")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.decodePyExpressionToPyPrimary+decodePyExpressionToPyPrimary :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm (Maybe Syntax.Primary)+decodePyExpressionToPyPrimary arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.decodePyExpressionToPyPrimary")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.decodePyInversionToPyPrimary+decodePyInversionToPyPrimary :: Typed.TypedTerm Syntax.Inversion -> Typed.TypedTerm (Maybe Syntax.Primary)+decodePyInversionToPyPrimary arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.decodePyInversionToPyPrimary")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.decodePyPowerToPyPrimary+decodePyPowerToPyPrimary :: Typed.TypedTerm Syntax.Power -> Typed.TypedTerm (Maybe Syntax.Primary)+decodePyPowerToPyPrimary arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.decodePyPowerToPyPrimary")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.dottedAssignmentStatement+dottedAssignmentStatement :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement+dottedAssignmentStatement 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.python.utils.dottedAssignmentStatement")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)})),+ Model.applicationArgument = (Typed.unTypedTerm arg1)})),+ Model.applicationArgument = (Typed.unTypedTerm arg2)}))++-- | DSL reference to hydra.python.utils.doubleQuotedString+doubleQuotedString :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Expression+doubleQuotedString arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.doubleQuotedString")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.findNamespaces+findNamespaces :: Typed.TypedTerm (S.Set String) -> Typed.TypedTerm Packaging.ModuleName -> Typed.TypedTerm [Packaging.Definition] -> Typed.TypedTerm (Util.ModuleNames Syntax.DottedName)+findNamespaces 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.python.utils.findNamespaces")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)})),+ Model.applicationArgument = (Typed.unTypedTerm arg1)})),+ Model.applicationArgument = (Typed.unTypedTerm arg2)}))++-- | DSL reference to hydra.python.utils.functionCall+functionCall :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.Expression+functionCall arg0 arg1 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.functionCall")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)})),+ Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.utils.getItemParams+getItemParams :: Typed.TypedTerm Syntax.Parameters+getItemParams = Typed.TypedTerm (Model.TermVariable (Model.Name "hydra.python.utils.getItemParams"))++-- | DSL reference to hydra.python.utils.indentedBlock+indentedBlock :: Typed.TypedTerm (Maybe String) -> Typed.TypedTerm [[Syntax.Statement]] -> Typed.TypedTerm Syntax.Block+indentedBlock arg0 arg1 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.indentedBlock")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)})),+ Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.utils.nameAndParams+nameAndParams :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.Expression+nameAndParams arg0 arg1 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.nameAndParams")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)})),+ Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.utils.newtypeStatement+newtypeStatement :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement+newtypeStatement 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.python.utils.newtypeStatement")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)})),+ Model.applicationArgument = (Typed.unTypedTerm arg1)})),+ Model.applicationArgument = (Typed.unTypedTerm arg2)}))++-- | DSL reference to hydra.python.utils.orExpression+orExpression :: Typed.TypedTerm [Syntax.Primary] -> Typed.TypedTerm Syntax.Expression+orExpression arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.orExpression")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.primaryAndParams+primaryAndParams :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.Expression+primaryAndParams arg0 arg1 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.primaryAndParams")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)})),+ Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.utils.primaryWithExpressionSlices+primaryWithExpressionSlices :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.Primary+primaryWithExpressionSlices arg0 arg1 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.primaryWithExpressionSlices")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)})),+ Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.utils.primaryWithRhs+primaryWithRhs :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.PrimaryRhs -> Typed.TypedTerm Syntax.Primary+primaryWithRhs arg0 arg1 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.primaryWithRhs")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)})),+ Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.utils.primaryWithSlices+primaryWithSlices :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.Slice -> Typed.TypedTerm [Syntax.SliceOrStarredExpression] -> Typed.TypedTerm Syntax.Primary+primaryWithSlices 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.python.utils.primaryWithSlices")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)})),+ Model.applicationArgument = (Typed.unTypedTerm arg1)})),+ Model.applicationArgument = (Typed.unTypedTerm arg2)}))++-- | DSL reference to hydra.python.utils.projectFromExpression+projectFromExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Expression+projectFromExpression arg0 arg1 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.projectFromExpression")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)})),+ Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.utils.pyAssignmentToPyStatement+pyAssignmentToPyStatement :: Typed.TypedTerm Syntax.Assignment -> Typed.TypedTerm Syntax.Statement+pyAssignmentToPyStatement arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyAssignmentToPyStatement")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyAtomToPyExpression+pyAtomToPyExpression :: Typed.TypedTerm Syntax.Atom -> Typed.TypedTerm Syntax.Expression+pyAtomToPyExpression arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyAtomToPyExpression")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyBitwiseOrToPyConjunction+pyBitwiseOrToPyConjunction :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.Conjunction+pyBitwiseOrToPyConjunction arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyBitwiseOrToPyConjunction")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyBitwiseOrToPyExpression+pyBitwiseOrToPyExpression :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.Expression+pyBitwiseOrToPyExpression arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyBitwiseOrToPyExpression")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyClassDefinitionToPyStatement+pyClassDefinitionToPyStatement :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm Syntax.Statement+pyClassDefinitionToPyStatement arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyClassDefinitionToPyStatement")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyClosedPatternToPyPatterns+pyClosedPatternToPyPatterns :: Typed.TypedTerm Syntax.ClosedPattern -> Typed.TypedTerm Syntax.Patterns+pyClosedPatternToPyPatterns arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyClosedPatternToPyPatterns")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyConjunctionToPyExpression+pyConjunctionToPyExpression :: Typed.TypedTerm Syntax.Conjunction -> Typed.TypedTerm Syntax.Expression+pyConjunctionToPyExpression arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyConjunctionToPyExpression")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyExpressionToBitwiseOr+pyExpressionToBitwiseOr :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.BitwiseOr+pyExpressionToBitwiseOr arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyExpressionToBitwiseOr")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyExpressionToDisjunction+pyExpressionToDisjunction :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Disjunction+pyExpressionToDisjunction arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyExpressionToDisjunction")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyExpressionToPyAnnotatedRhs+pyExpressionToPyAnnotatedRhs :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.AnnotatedRhs+pyExpressionToPyAnnotatedRhs arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyExpressionToPyAnnotatedRhs")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyExpressionToPyPrimary+pyExpressionToPyPrimary :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Primary+pyExpressionToPyPrimary arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyExpressionToPyPrimary")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyExpressionToPySimpleStatement+pyExpressionToPySimpleStatement :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.SimpleStatement+pyExpressionToPySimpleStatement arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyExpressionToPySimpleStatement")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyExpressionToPySlice+pyExpressionToPySlice :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Slice+pyExpressionToPySlice arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyExpressionToPySlice")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyExpressionToPyStarNamedExpression+pyExpressionToPyStarNamedExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.StarNamedExpression+pyExpressionToPyStarNamedExpression arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyExpressionToPyStarNamedExpression")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyExpressionToPyStatement+pyExpressionToPyStatement :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement+pyExpressionToPyStatement arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyExpressionToPyStatement")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyExpressionsToPyArgs+pyExpressionsToPyArgs :: Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.Args+pyExpressionsToPyArgs arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyExpressionsToPyArgs")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyList+pyList :: Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.List+pyList arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyList")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyNameToPyExpression+pyNameToPyExpression :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Expression+pyNameToPyExpression arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyNameToPyExpression")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyNameToPyNamedExpression+pyNameToPyNamedExpression :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.NamedExpression+pyNameToPyNamedExpression arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyNameToPyNamedExpression")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyNameToPyPrimary+pyNameToPyPrimary :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Primary+pyNameToPyPrimary arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyNameToPyPrimary")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyNameToPyStarTarget+pyNameToPyStarTarget :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.StarTarget+pyNameToPyStarTarget arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyNameToPyStarTarget")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyNameToPyTypeParameter+pyNameToPyTypeParameter :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.TypeParameter+pyNameToPyTypeParameter arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyNameToPyTypeParameter")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyNone+pyNone :: Typed.TypedTerm Syntax.Name+pyNone = Typed.TypedTerm (Model.TermVariable (Model.Name "hydra.python.utils.pyNone"))++-- | DSL reference to hydra.python.utils.pyPrimaryToPyBitwiseOr+pyPrimaryToPyBitwiseOr :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.BitwiseOr+pyPrimaryToPyBitwiseOr arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyPrimaryToPyBitwiseOr")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyPrimaryToPyBitwiseXor+pyPrimaryToPyBitwiseXor :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.BitwiseXor+pyPrimaryToPyBitwiseXor arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyPrimaryToPyBitwiseXor")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyPrimaryToPyConjunction+pyPrimaryToPyConjunction :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.Conjunction+pyPrimaryToPyConjunction arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyPrimaryToPyConjunction")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyPrimaryToPyExpression+pyPrimaryToPyExpression :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.Expression+pyPrimaryToPyExpression arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyPrimaryToPyExpression")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyPrimaryToPySlice+pyPrimaryToPySlice :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.Slice+pyPrimaryToPySlice arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyPrimaryToPySlice")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pySimpleStatementToPyStatement+pySimpleStatementToPyStatement :: Typed.TypedTerm Syntax.SimpleStatement -> Typed.TypedTerm Syntax.Statement+pySimpleStatementToPyStatement arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pySimpleStatementToPyStatement")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.raiseAssertionError+raiseAssertionError :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Statement+raiseAssertionError arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.raiseAssertionError")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.raiseTypeError+raiseTypeError :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Statement+raiseTypeError arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.raiseTypeError")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.returnSingle+returnSingle :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement+returnSingle arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.returnSingle")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.selfOnlyParams+selfOnlyParams :: Typed.TypedTerm Syntax.Parameters+selfOnlyParams = Typed.TypedTerm (Model.TermVariable (Model.Name "hydra.python.utils.selfOnlyParams"))++-- | DSL reference to hydra.python.utils.selfOtherParams+selfOtherParams :: Typed.TypedTerm Syntax.Parameters+selfOtherParams = Typed.TypedTerm (Model.TermVariable (Model.Name "hydra.python.utils.selfOtherParams"))++-- | DSL reference to hydra.python.utils.singleQuotedString+singleQuotedString :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Expression+singleQuotedString arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.singleQuotedString")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.stringToPyExpression+stringToPyExpression :: Typed.TypedTerm Syntax.QuoteStyle -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.Expression+stringToPyExpression arg0 arg1 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.stringToPyExpression")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)})),+ Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.utils.targetPythonVersion+targetPythonVersion :: Typed.TypedTerm Environment.PythonVersion+targetPythonVersion = Typed.TypedTerm (Model.TermVariable (Model.Name "hydra.python.utils.targetPythonVersion"))++-- | DSL reference to hydra.python.utils.tripleQuotedString+tripleQuotedString :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Expression+tripleQuotedString arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.tripleQuotedString")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.typeAliasStatement+typeAliasStatement :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm [Syntax.TypeParameter] -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement+typeAliasStatement 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.python.utils.typeAliasStatement")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)})),+ Model.applicationArgument = (Typed.unTypedTerm arg1)})),+ Model.applicationArgument = (Typed.unTypedTerm arg2)})),+ Model.applicationArgument = (Typed.unTypedTerm arg3)}))++-- | DSL reference to hydra.python.utils.typeAliasStatement310+typeAliasStatement310 :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm t0 -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement+typeAliasStatement310 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.python.utils.typeAliasStatement310")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)})),+ Model.applicationArgument = (Typed.unTypedTerm arg1)})),+ Model.applicationArgument = (Typed.unTypedTerm arg2)})),+ Model.applicationArgument = (Typed.unTypedTerm arg3)}))++-- | DSL reference to hydra.python.utils.unionTypeClassStatements310+unionTypeClassStatements310 :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm [Syntax.Statement] -> Typed.TypedTerm [Syntax.Statement]+unionTypeClassStatements310 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.python.utils.unionTypeClassStatements310")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)})),+ Model.applicationArgument = (Typed.unTypedTerm arg1)})),+ Model.applicationArgument = (Typed.unTypedTerm arg2)})),+ Model.applicationArgument = (Typed.unTypedTerm arg3)}))++-- | DSL reference to hydra.python.utils.unitVariantMethods+unitVariantMethods :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm [Syntax.Statement]+unitVariantMethods arg0 =+ Typed.TypedTerm (Model.TermApplication (Model.Application {+ Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.unitVariantMethods")),+ Model.applicationArgument = (Typed.unTypedTerm arg0)}))
src/main/haskell/Hydra/Python/Environment.hs view
@@ -4,12 +4,12 @@ module Hydra.Python.Environment where -import qualified Hydra.Core as Core-import qualified Hydra.Graph as Graph-import qualified Hydra.Packaging as Packaging+import qualified Hydra.Core.Graph as Graph+import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Packaging as Packaging+import qualified Hydra.Core.Typing as Typing+import qualified Hydra.Core.Util as Util import qualified Hydra.Python.Syntax as Syntax-import qualified Hydra.Typing as Typing-import qualified Hydra.Util as Util import Prelude hiding (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines) import qualified Data.Scientific as Sci import Data.Void@@ -22,11 +22,11 @@ PythonVersionPython312 deriving (Eq, Ord, Read, Show) -_PythonVersion = Core.Name "hydra.python.environment.PythonVersion"+_PythonVersion = Model.Name "hydra.python.environment.PythonVersion" -_PythonVersion_python310 = Core.Name "python310"+_PythonVersion_python310 = Model.Name "python310" -_PythonVersion_python312 = Core.Name "python312"+_PythonVersion_python312 = Model.Name "python312" -- | Environment for Python code generation data PythonEnvironment =@@ -34,37 +34,37 @@ -- | ModuleName mapping for imports pythonEnvironmentNamespaces :: (Util.ModuleNames Syntax.DottedName), -- | Type variables in scope, with their Python names- pythonEnvironmentBoundTypeVariables :: ([Core.Name], (M.Map Core.Name Syntax.Name)),+ pythonEnvironmentBoundTypeVariables :: ([Model.Name], (M.Map Model.Name Syntax.Name)), -- | Graph context for type inference pythonEnvironmentGraph :: Graph.Graph, -- | Set of nullary bindings (need call syntax)- pythonEnvironmentNullaryBindings :: (S.Set Core.Name),+ pythonEnvironmentNullaryBindings :: (S.Set Model.Name), -- | Target Python version pythonEnvironmentVersion :: PythonVersion, -- | When True, skip generating cast() calls for reduced memory usage pythonEnvironmentSkipCasts :: Bool, -- | Variables that are inline let bindings (walrus operators)- pythonEnvironmentInlineVariables :: (S.Set Core.Name),- -- | hydra.lib.<sub> sub-namespaces that have an overlay implementation on this host (#630) -- the on-disk existence signal driving emission-time redirect of primitive references to hydra.overlay.python.lib.<sub>+ pythonEnvironmentInlineVariables :: (S.Set Model.Name),+ -- | hydra.lib.<sub> sub-namespaces that have an overlay implementation on this host (#630) -- the on-disk existence signal driving emission-time redirect of primitive references to hydra.core.overlay.python.lib.<sub> pythonEnvironmentOverlaySubs :: (S.Set String)} -_PythonEnvironment = Core.Name "hydra.python.environment.PythonEnvironment"+_PythonEnvironment = Model.Name "hydra.python.environment.PythonEnvironment" -_PythonEnvironment_namespaces = Core.Name "namespaces"+_PythonEnvironment_namespaces = Model.Name "namespaces" -_PythonEnvironment_boundTypeVariables = Core.Name "boundTypeVariables"+_PythonEnvironment_boundTypeVariables = Model.Name "boundTypeVariables" -_PythonEnvironment_graph = Core.Name "graph"+_PythonEnvironment_graph = Model.Name "graph" -_PythonEnvironment_nullaryBindings = Core.Name "nullaryBindings"+_PythonEnvironment_nullaryBindings = Model.Name "nullaryBindings" -_PythonEnvironment_version = Core.Name "version"+_PythonEnvironment_version = Model.Name "version" -_PythonEnvironment_skipCasts = Core.Name "skipCasts"+_PythonEnvironment_skipCasts = Model.Name "skipCasts" -_PythonEnvironment_inlineVariables = Core.Name "inlineVariables"+_PythonEnvironment_inlineVariables = Model.Name "inlineVariables" -_PythonEnvironment_overlaySubs = Core.Name "overlaySubs"+_PythonEnvironment_overlaySubs = Model.Name "overlaySubs" -- | Temporary metadata used to create the header section of a Python file data PythonModuleMetadata =@@ -72,7 +72,7 @@ -- | ModuleName mapping for imports pythonModuleMetadataNamespaces :: (Util.ModuleNames Syntax.DottedName), -- | Type variables used in the module- pythonModuleMetadataTypeVariables :: (S.Set Core.Name),+ pythonModuleMetadataTypeVariables :: (S.Set Model.Name), pythonModuleMetadataUsesAnnotated :: Bool, pythonModuleMetadataUsesCallable :: Bool, pythonModuleMetadataUsesCast :: Bool,@@ -96,53 +96,53 @@ pythonModuleMetadataUsesTypeVar :: Bool} deriving (Eq, Ord, Read, Show) -_PythonModuleMetadata = Core.Name "hydra.python.environment.PythonModuleMetadata"+_PythonModuleMetadata = Model.Name "hydra.python.environment.PythonModuleMetadata" -_PythonModuleMetadata_namespaces = Core.Name "namespaces"+_PythonModuleMetadata_namespaces = Model.Name "namespaces" -_PythonModuleMetadata_typeVariables = Core.Name "typeVariables"+_PythonModuleMetadata_typeVariables = Model.Name "typeVariables" -_PythonModuleMetadata_usesAnnotated = Core.Name "usesAnnotated"+_PythonModuleMetadata_usesAnnotated = Model.Name "usesAnnotated" -_PythonModuleMetadata_usesCallable = Core.Name "usesCallable"+_PythonModuleMetadata_usesCallable = Model.Name "usesCallable" -_PythonModuleMetadata_usesCast = Core.Name "usesCast"+_PythonModuleMetadata_usesCast = Model.Name "usesCast" -_PythonModuleMetadata_usesLruCache = Core.Name "usesLruCache"+_PythonModuleMetadata_usesLruCache = Model.Name "usesLruCache" -_PythonModuleMetadata_usesTypeAlias = Core.Name "usesTypeAlias"+_PythonModuleMetadata_usesTypeAlias = Model.Name "usesTypeAlias" -_PythonModuleMetadata_usesDataclass = Core.Name "usesDataclass"+_PythonModuleMetadata_usesDataclass = Model.Name "usesDataclass" -_PythonModuleMetadata_usesDecimal = Core.Name "usesDecimal"+_PythonModuleMetadata_usesDecimal = Model.Name "usesDecimal" -_PythonModuleMetadata_usesEither = Core.Name "usesEither"+_PythonModuleMetadata_usesEither = Model.Name "usesEither" -_PythonModuleMetadata_usesEnum = Core.Name "usesEnum"+_PythonModuleMetadata_usesEnum = Model.Name "usesEnum" -_PythonModuleMetadata_usesFrozenDict = Core.Name "usesFrozenDict"+_PythonModuleMetadata_usesFrozenDict = Model.Name "usesFrozenDict" -_PythonModuleMetadata_usesFrozenList = Core.Name "usesFrozenList"+_PythonModuleMetadata_usesFrozenList = Model.Name "usesFrozenList" -_PythonModuleMetadata_usesFrozenSet = Core.Name "usesFrozenSet"+_PythonModuleMetadata_usesFrozenSet = Model.Name "usesFrozenSet" -_PythonModuleMetadata_usesGeneric = Core.Name "usesGeneric"+_PythonModuleMetadata_usesGeneric = Model.Name "usesGeneric" -_PythonModuleMetadata_usesJust = Core.Name "usesJust"+_PythonModuleMetadata_usesJust = Model.Name "usesJust" -_PythonModuleMetadata_usesLeft = Core.Name "usesLeft"+_PythonModuleMetadata_usesLeft = Model.Name "usesLeft" -_PythonModuleMetadata_usesMaybe = Core.Name "usesMaybe"+_PythonModuleMetadata_usesMaybe = Model.Name "usesMaybe" -_PythonModuleMetadata_usesName = Core.Name "usesName"+_PythonModuleMetadata_usesName = Model.Name "usesName" -_PythonModuleMetadata_usesNode = Core.Name "usesNode"+_PythonModuleMetadata_usesNode = Model.Name "usesNode" -_PythonModuleMetadata_usesNothing = Core.Name "usesNothing"+_PythonModuleMetadata_usesNothing = Model.Name "usesNothing" -_PythonModuleMetadata_usesRight = Core.Name "usesRight"+_PythonModuleMetadata_usesRight = Model.Name "usesRight" -_PythonModuleMetadata_usesTypeVar = Core.Name "usesTypeVar"+_PythonModuleMetadata_usesTypeVar = Model.Name "usesTypeVar" -- | Combined graph and metadata state for Python code generation data PyGraph =@@ -152,8 +152,8 @@ -- | Accumulated module metadata pyGraphMetadata :: PythonModuleMetadata} -_PyGraph = Core.Name "hydra.python.environment.PyGraph"+_PyGraph = Model.Name "hydra.python.environment.PyGraph" -_PyGraph_graph = Core.Name "graph"+_PyGraph_graph = Model.Name "graph" -_PyGraph_metadata = Core.Name "metadata"+_PyGraph_metadata = Model.Name "metadata"
src/main/haskell/Hydra/Python/Language.hs view
@@ -4,33 +4,33 @@ module Hydra.Python.Language where -import qualified Hydra.Ast as Ast-import qualified Hydra.Classes as Classes-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Errors as Errors-import qualified Hydra.File as File-import qualified Hydra.Graph as Graph-import qualified Hydra.Json.Model as Model-import qualified Hydra.Lexical as Lexical-import qualified Hydra.Overlay.Haskell.Lib.Lists as Lists-import qualified Hydra.Overlay.Haskell.Lib.Sets as Sets-import qualified Hydra.Packaging as Packaging-import qualified Hydra.Parsing as Parsing-import qualified Hydra.Paths as Paths-import qualified Hydra.Query as Query-import qualified Hydra.Relational as Relational-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Topology as Topology-import qualified Hydra.Typed as Typed-import qualified Hydra.Typing as Typing-import qualified Hydra.Util as Util-import qualified Hydra.Validation as Validation-import qualified Hydra.Variants as Variants+import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Classes as Classes+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+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.Overlay.Haskell.Lib.Lists as Lists+import qualified Hydra.Core.Overlay.Haskell.Lib.Sets as Sets+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.Query as Query+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+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@@ -72,9 +72,9 @@ Variants.LiteralVariantInteger, Variants.LiteralVariantString] floatTypes = Sets.fromList [- Core.FloatTypeFloat64]+ Model.FloatTypeFloat64] integerTypes = Sets.fromList [- Core.IntegerTypeBigint]+ Model.IntegerTypeBigint] termVariants = Sets.fromList [ Variants.TermVariantAnnotated,
src/main/haskell/Hydra/Python/Names.hs view
@@ -4,43 +4,43 @@ module Hydra.Python.Names where -import qualified Hydra.Ast as Ast-import qualified Hydra.Classes as Classes-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Errors as Errors-import qualified Hydra.Formatting as Formatting-import qualified Hydra.Graph as Graph-import qualified Hydra.Json.Model as Model-import qualified Hydra.Overlay.Haskell.Lib.Equality as Equality-import qualified Hydra.Overlay.Haskell.Lib.Lists as Lists-import qualified Hydra.Overlay.Haskell.Lib.Logic as Logic-import qualified Hydra.Overlay.Haskell.Lib.Maps as Maps-import qualified Hydra.Overlay.Haskell.Lib.Optionals as Optionals-import qualified Hydra.Overlay.Haskell.Lib.Pairs as Pairs-import qualified Hydra.Overlay.Haskell.Lib.Sets as Sets-import qualified Hydra.Overlay.Haskell.Lib.Strings as Strings-import qualified Hydra.Names as Names-import qualified Hydra.Packaging as Packaging-import qualified Hydra.Parsing as Parsing-import qualified Hydra.Paths as Paths+import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Classes as Classes+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Errors as Errors+import qualified Hydra.Core.Formatting as Formatting+import qualified Hydra.Core.Graph as Graph+import qualified Hydra.Core.Json.Model as JsonModel+import qualified Hydra.Core.Overlay.Haskell.Lib.Equality as Equality+import qualified Hydra.Core.Overlay.Haskell.Lib.Lists as Lists+import qualified Hydra.Core.Overlay.Haskell.Lib.Logic as Logic+import qualified Hydra.Core.Overlay.Haskell.Lib.Maps as Maps+import qualified Hydra.Core.Overlay.Haskell.Lib.Optionals as Optionals+import qualified Hydra.Core.Overlay.Haskell.Lib.Pairs as Pairs+import qualified Hydra.Core.Overlay.Haskell.Lib.Sets as Sets+import qualified Hydra.Core.Overlay.Haskell.Lib.Strings as Strings+import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Names as Names+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.Query as Query+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+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 qualified Hydra.Python.Environment as Environment import qualified Hydra.Python.Language as Language import qualified Hydra.Python.Serde as Serde import qualified Hydra.Python.Syntax as Syntax-import qualified Hydra.Query as Query-import qualified Hydra.Relational as Relational-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Topology as Topology-import qualified Hydra.Typed as Typed-import qualified Hydra.Typing as Typing-import qualified Hydra.Util as Util-import qualified Hydra.Validation as Validation-import qualified Hydra.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@@ -48,24 +48,24 @@ import qualified Data.Set as S -- | Generate a constant name for a field definition-encodeConstantForFieldName :: t0 -> t1 -> Core.Name -> Syntax.Name+encodeConstantForFieldName :: t0 -> t1 -> Model.Name -> Syntax.Name encodeConstantForFieldName env tname fname =- Syntax.Name (Formatting.convertCase Util.CaseConventionCamel Util.CaseConventionUpperSnake (Strings.join "_" (Strings.splitOn "-" (Core.unName fname))))+ Syntax.Name (Formatting.convertCase Util.CaseConventionCamel Util.CaseConventionUpperSnake (Strings.join "_" (Strings.splitOn "-" (Model.unName fname)))) -- | Generate a constant name for a type definition encodeConstantForTypeName :: t0 -> t1 -> Syntax.Name encodeConstantForTypeName env tname = Syntax.Name "TYPE_" -- | Encode a name as a Python enum value (UPPER_SNAKE case)-encodeEnumValue :: Environment.PythonEnvironment -> Core.Name -> Syntax.Name+encodeEnumValue :: Environment.PythonEnvironment -> Model.Name -> Syntax.Name encodeEnumValue = encodeName False Util.CaseConventionUpperSnake -- | Encode a name as a Python field name (lower_snake case)-encodeFieldName :: Environment.PythonEnvironment -> Core.Name -> Syntax.Name+encodeFieldName :: Environment.PythonEnvironment -> Model.Name -> Syntax.Name encodeFieldName env fname = encodeName False Util.CaseConventionLowerSnake env fname -- | Encode a Hydra name as a Python name-encodeName :: Bool -> Util.CaseConvention -> Environment.PythonEnvironment -> Core.Name -> Syntax.Name+encodeName :: Bool -> Util.CaseConvention -> Environment.PythonEnvironment -> Model.Name -> Syntax.Name encodeName isQualified conv env name = let namespaces = Environment.pythonEnvironmentNamespaces env@@ -80,7 +80,7 @@ in (Logic.ifElse isQualified (Optionals.match (Maps.lookup name boundVars) (Logic.ifElse (Equality.equal mns (Just focusNs)) (Syntax.Name (Logic.ifElse useFutureAnnotations pyLocal (Serde.escapePythonString True pyLocal))) (Optionals.match mns (Syntax.Name pyLocal) (\nsVal -> Syntax.Name (Strings.concat2 (pyNs nsVal) (Strings.concat2 "." pyLocal))))) (\n -> n)) (Syntax.Name pyLocal)) -- | Encode a name as a fully qualified Python name-encodeNameQualified :: Environment.PythonEnvironment -> Core.Name -> Syntax.Name+encodeNameQualified :: Environment.PythonEnvironment -> Model.Name -> Syntax.Name encodeNameQualified env name = let namespaces = Environment.pythonEnvironmentNamespaces env@@ -98,38 +98,39 @@ encodeNamespace nsVal = Syntax.DottedName (Lists.map (\part -> Syntax.Name (Formatting.convertCase Util.CaseConventionCamel Util.CaseConventionLowerSnake part)) (Strings.splitOn "." (Packaging.unModuleName nsVal))) --- | Convert a ModuleName to its Python dotted import string, routing overlay modules to hydra.overlay.python.*+-- | Convert a ModuleName to its Python dotted import string, routing overlay modules to hydra.core.overlay.python.* encodeNamespaceStringWithOverrides :: S.Set String -> Packaging.ModuleName -> String encodeNamespaceStringWithOverrides overlaySubs nsVal =- Optionals.match (Logic.ifElse (Logic.and (Logic.and (Equality.equal (Lists.length (Strings.splitOn "." (Packaging.unModuleName nsVal))) 3) (Equality.equal (Lists.take 2 (Strings.splitOn "." (Packaging.unModuleName nsVal))) [+ Optionals.match (Logic.ifElse (Logic.and (Logic.and (Equality.equal (Lists.length (Strings.splitOn "." (Packaging.unModuleName nsVal))) 4) (Equality.equal (Lists.take 3 (Strings.splitOn "." (Packaging.unModuleName nsVal))) [ "hydra",- "lib"])) (Sets.member (Strings.join "." (Lists.drop 2 (Strings.splitOn "." (Packaging.unModuleName nsVal)))) overlaySubs)) (Just (Strings.concat2 "hydra.overlay.python.lib." (Strings.join "." (Lists.drop 2 (Strings.splitOn "." (Packaging.unModuleName nsVal)))))) Nothing) (Optionals.withDefault (Strings.join "." (Lists.map (Formatting.convertCase Util.CaseConventionCamel Util.CaseConventionLowerSnake) (Strings.splitOn "." (Packaging.unModuleName nsVal)))) (Maps.lookup nsVal overlayPythonModuleAliases)) (\redirected -> redirected)+ "core",+ "lib"])) (Sets.member (Strings.join "." (Lists.drop 3 (Strings.splitOn "." (Packaging.unModuleName nsVal)))) overlaySubs)) (Just (Strings.concat2 "hydra.core.overlay.python.lib." (Strings.join "." (Lists.drop 3 (Strings.splitOn "." (Packaging.unModuleName nsVal)))))) Nothing) (Optionals.withDefault (Strings.join "." (Lists.map (Formatting.convertCase Util.CaseConventionCamel Util.CaseConventionLowerSnake) (Strings.splitOn "." (Packaging.unModuleName nsVal)))) (Maps.lookup nsVal overlayPythonModuleAliases)) (\redirected -> redirected) --- | Encode a namespace as a Python dotted name, routing overlay modules to their hydra.overlay.python.* paths+-- | Encode a namespace as a Python dotted name, routing overlay modules to their hydra.core.overlay.python.* paths encodeNamespaceWithOverrides :: S.Set String -> Packaging.ModuleName -> Syntax.DottedName encodeNamespaceWithOverrides overlaySubs nsVal = Syntax.DottedName (Lists.map (\part -> Syntax.Name part) (Strings.splitOn "." (encodeNamespaceStringWithOverrides overlaySubs nsVal))) -- | Encode a type variable name (capitalized)-encodeTypeVariable :: Core.Name -> Syntax.Name-encodeTypeVariable name = Syntax.Name (Formatting.capitalize (Core.unName name))+encodeTypeVariable :: Model.Name -> Syntax.Name+encodeTypeVariable name = Syntax.Name (Formatting.capitalize (Model.unName name)) --- | Alias map routing DSL-declared module names to their hydra.overlay.python.* import strings+-- | Alias map routing DSL-declared module names to their hydra.core.overlay.python.* import strings overlayPythonModuleAliases :: M.Map Packaging.ModuleName String overlayPythonModuleAliases = Maps.fromList [- (Packaging.ModuleName "hydra.test.testEnv", "hydra.overlay.python.test_env")]+ (Packaging.ModuleName "hydra.core.test.testEnv", "hydra.core.overlay.python.test_env")] -- | Sanitize a string to be a valid Python name sanitizePythonName :: String -> String sanitizePythonName = Formatting.sanitizeWithUnderscores Language.pythonReservedWords -- | Reference a term variable as a Python expression-termVariableReference :: Environment.PythonEnvironment -> Core.Name -> Syntax.Expression+termVariableReference :: Environment.PythonEnvironment -> Model.Name -> Syntax.Expression termVariableReference = variableReference Util.CaseConventionLowerSnake False -- | Reference a type variable as a Python expression-typeVariableReference :: Environment.PythonEnvironment -> Core.Name -> Syntax.Expression+typeVariableReference :: Environment.PythonEnvironment -> Model.Name -> Syntax.Expression typeVariableReference = variableReference Util.CaseConventionPascal False -- | Whether to use __future__ annotations for forward references@@ -137,7 +138,7 @@ useFutureAnnotations = True -- | Reference a variable as a Python expression-variableReference :: Util.CaseConvention -> Bool -> Environment.PythonEnvironment -> Core.Name -> Syntax.Expression+variableReference :: Util.CaseConvention -> Bool -> Environment.PythonEnvironment -> Model.Name -> Syntax.Expression variableReference conv quoted env name = let pyName = encodeName True conv env name@@ -194,6 +195,6 @@ Syntax.comparisonRhs = []})]])) unquoted) -- | Generate a variant name from type name and field name-variantName :: Bool -> Environment.PythonEnvironment -> Core.Name -> Core.Name -> Syntax.Name+variantName :: Bool -> Environment.PythonEnvironment -> Model.Name -> Model.Name -> Syntax.Name variantName isQualified env tname fname =- encodeName isQualified Util.CaseConventionPascal env (Core.Name (Strings.concat2 (Core.unName tname) (Formatting.capitalize (Core.unName fname))))+ encodeName isQualified Util.CaseConventionPascal env (Model.Name (Strings.concat2 (Model.unName tname) (Formatting.capitalize (Model.unName fname))))
src/main/haskell/Hydra/Python/Pyproject.hs view
@@ -4,8 +4,8 @@ module Hydra.Python.Pyproject where -import qualified Hydra.Core as Core-import qualified Hydra.Packaging as Packaging+import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Packaging as Packaging import Prelude hiding (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines) import qualified Data.Scientific as Sci import Data.Void@@ -15,6 +15,6 @@ pyProjectBuildConfigurationDependencies :: [Packaging.PackageDependency]} deriving (Eq, Ord, Read, Show) -_PyProjectBuildConfiguration = Core.Name "hydra.python.pyproject.PyProjectBuildConfiguration"+_PyProjectBuildConfiguration = Model.Name "hydra.python.pyproject.PyProjectBuildConfiguration" -_PyProjectBuildConfiguration_dependencies = Core.Name "dependencies"+_PyProjectBuildConfiguration_dependencies = Model.Name "dependencies"
src/main/haskell/Hydra/Python/Serde.hs view
@@ -4,41 +4,41 @@ module Hydra.Python.Serde where -import qualified Hydra.Ast as Ast-import qualified Hydra.Classes as Classes-import qualified Hydra.Coders as Coders-import qualified Hydra.Constants as Constants-import qualified Hydra.Core as Core-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Errors as Errors-import qualified Hydra.Formatting as Formatting-import qualified Hydra.Graph as Graph-import qualified Hydra.Json.Model as Model-import qualified Hydra.Overlay.Haskell.Lib.Equality as Equality-import qualified Hydra.Overlay.Haskell.Lib.Lists as Lists-import qualified Hydra.Overlay.Haskell.Lib.Literals as Literals-import qualified Hydra.Overlay.Haskell.Lib.Logic as Logic-import qualified Hydra.Overlay.Haskell.Lib.Optionals as Optionals-import qualified Hydra.Overlay.Haskell.Lib.Strings as Strings-import qualified Hydra.Names as Names-import qualified Hydra.Packaging as Packaging-import qualified Hydra.Parsing as Parsing-import qualified Hydra.Paths as Paths-import qualified Hydra.Print.Docs as Docs+import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Classes as Classes+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Constants as Constants+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Errors as Errors+import qualified Hydra.Core.Formatting as Formatting+import qualified Hydra.Core.Graph as Graph+import qualified Hydra.Core.Json.Model as JsonModel+import qualified Hydra.Core.Overlay.Haskell.Lib.Equality as Equality+import qualified Hydra.Core.Overlay.Haskell.Lib.Lists as Lists+import qualified Hydra.Core.Overlay.Haskell.Lib.Literals as Literals+import qualified Hydra.Core.Overlay.Haskell.Lib.Logic as Logic+import qualified Hydra.Core.Overlay.Haskell.Lib.Optionals as Optionals+import qualified Hydra.Core.Overlay.Haskell.Lib.Strings as Strings+import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Names as Names+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.Docs as Docs+import qualified Hydra.Core.Query as Query+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.Serialization as Serialization+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+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 qualified Hydra.Python.Syntax as Syntax-import qualified Hydra.Query as Query-import qualified Hydra.Relational as Relational-import qualified Hydra.Serialization as Serialization-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Topology as Topology-import qualified Hydra.Typed as Typed-import qualified Hydra.Typing as Typing-import qualified Hydra.Util as Util-import qualified Hydra.Validation as Validation-import qualified Hydra.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@@ -757,7 +757,7 @@ primaryToExpr prim, (primaryRhsToExpr rhs)]) --- | Render a hydra.packaging.EntityReference as Sphinx/RST link syntax+-- | Render a hydra.core.packaging.EntityReference as Sphinx/RST link syntax pythonDocEntityRef :: Packaging.EntityReference -> String pythonDocEntityRef ref = case ref of
src/main/haskell/Hydra/Python/Syntax.hs view
@@ -5,2499 +5,2499 @@ module Hydra.Python.Syntax where -import qualified Hydra.Core as Core-import Prelude hiding (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)-import qualified Data.Scientific as Sci-import Data.Void--data AnnotatedStatement =- AnnotatedStatement {- annotatedStatementComment :: String,- annotatedStatementStatement :: Statement}- deriving (Eq, Ord, Read, Show)--_AnnotatedStatement = Core.Name "hydra.python.syntax.AnnotatedStatement"--_AnnotatedStatement_comment = Core.Name "comment"--_AnnotatedStatement_statement = Core.Name "statement"--newtype Module =- Module {- unModule :: [[Statement]]}- deriving (Eq, Ord, Read, Show)--_Module = Core.Name "hydra.python.syntax.Module"--data QuoteStyle =- QuoteStyleSingle |- QuoteStyleDouble |- QuoteStyleTripleSingle |- QuoteStyleTripleDouble- deriving (Eq, Ord, Read, Show)--_QuoteStyle = Core.Name "hydra.python.syntax.QuoteStyle"--_QuoteStyle_single = Core.Name "single"--_QuoteStyle_double = Core.Name "double"--_QuoteStyle_tripleSingle = Core.Name "tripleSingle"--_QuoteStyle_tripleDouble = Core.Name "tripleDouble"--data StringPrefix =- StringPrefixRaw |- StringPrefixBytes |- StringPrefixRawBytes |- StringPrefixUnicode- deriving (Eq, Ord, Read, Show)--_StringPrefix = Core.Name "hydra.python.syntax.StringPrefix"--_StringPrefix_raw = Core.Name "raw"--_StringPrefix_bytes = Core.Name "bytes"--_StringPrefix_rawBytes = Core.Name "rawBytes"--_StringPrefix_unicode = Core.Name "unicode"--newtype Name =- Name {- unName :: String}- deriving (Eq, Ord, Read, Show)--_Name = Core.Name "hydra.python.syntax.Name"--data Number =- NumberInteger Integer |- NumberFloat Double |- NumberImaginary Double- deriving (Eq, Ord, Read, Show)--_Number = Core.Name "hydra.python.syntax.Number"--_Number_integer = Core.Name "integer"--_Number_float = Core.Name "float"--_Number_imaginary = Core.Name "imaginary"--data String_ =- String_ {- stringValue :: String,- stringPrefix :: (Maybe StringPrefix),- stringQuoteStyle :: QuoteStyle}- deriving (Eq, Ord, Read, Show)--_String = Core.Name "hydra.python.syntax.String"--_String_value = Core.Name "value"--_String_prefix = Core.Name "prefix"--_String_quoteStyle = Core.Name "quoteStyle"--newtype TypeComment =- TypeComment {- unTypeComment :: String}- deriving (Eq, Ord, Read, Show)--_TypeComment = Core.Name "hydra.python.syntax.TypeComment"--newtype File =- File {- unFile :: [Statement]}- deriving (Eq, Ord, Read, Show)--_File = Core.Name "hydra.python.syntax.File"--newtype Interactive =- Interactive {- unInteractive :: Statement}- deriving (Eq, Ord, Read, Show)--_Interactive = Core.Name "hydra.python.syntax.Interactive"--newtype Eval =- Eval {- unEval :: [Expression]}- deriving (Eq, Ord, Read, Show)--_Eval = Core.Name "hydra.python.syntax.Eval"--data Statement =- StatementCompound CompoundStatement |- StatementSimple [SimpleStatement] |- StatementAnnotated AnnotatedStatement- deriving (Eq, Ord, Read, Show)--_Statement = Core.Name "hydra.python.syntax.Statement"--_Statement_compound = Core.Name "compound"--_Statement_simple = Core.Name "simple"--_Statement_annotated = Core.Name "annotated"--data SimpleStatement =- SimpleStatementAssignment Assignment |- SimpleStatementTypeAlias TypeAlias |- SimpleStatementStarExpressions [StarExpression] |- SimpleStatementReturn ReturnStatement |- SimpleStatementImport ImportStatement |- SimpleStatementRaise RaiseStatement |- SimpleStatementPass |- SimpleStatementDel DelStatement |- SimpleStatementYield YieldStatement |- SimpleStatementAssert AssertStatement |- SimpleStatementBreak |- SimpleStatementContinue |- SimpleStatementGlobal [Name] |- SimpleStatementNonlocal [Name]- deriving (Eq, Ord, Read, Show)--_SimpleStatement = Core.Name "hydra.python.syntax.SimpleStatement"--_SimpleStatement_assignment = Core.Name "assignment"--_SimpleStatement_typeAlias = Core.Name "typeAlias"--_SimpleStatement_starExpressions = Core.Name "starExpressions"--_SimpleStatement_return = Core.Name "return"--_SimpleStatement_import = Core.Name "import"--_SimpleStatement_raise = Core.Name "raise"--_SimpleStatement_pass = Core.Name "pass"--_SimpleStatement_del = Core.Name "del"--_SimpleStatement_yield = Core.Name "yield"--_SimpleStatement_assert = Core.Name "assert"--_SimpleStatement_break = Core.Name "break"--_SimpleStatement_continue = Core.Name "continue"--_SimpleStatement_global = Core.Name "global"--_SimpleStatement_nonlocal = Core.Name "nonlocal"--data CompoundStatement =- CompoundStatementFunction FunctionDefinition |- CompoundStatementIf IfStatement |- CompoundStatementClassDef ClassDefinition |- CompoundStatementWith WithStatement |- CompoundStatementFor ForStatement |- CompoundStatementTry TryStatement |- CompoundStatementWhile WhileStatement |- CompoundStatementMatch MatchStatement- deriving (Eq, Ord, Read, Show)--_CompoundStatement = Core.Name "hydra.python.syntax.CompoundStatement"--_CompoundStatement_function = Core.Name "function"--_CompoundStatement_if = Core.Name "if"--_CompoundStatement_classDef = Core.Name "classDef"--_CompoundStatement_with = Core.Name "with"--_CompoundStatement_for = Core.Name "for"--_CompoundStatement_try = Core.Name "try"--_CompoundStatement_while = Core.Name "while"--_CompoundStatement_match = Core.Name "match"--data Assignment =- AssignmentTyped TypedAssignment |- AssignmentUntyped UntypedAssignment |- AssignmentAug AugAssignment- deriving (Eq, Ord, Read, Show)--_Assignment = Core.Name "hydra.python.syntax.Assignment"--_Assignment_typed = Core.Name "typed"--_Assignment_untyped = Core.Name "untyped"--_Assignment_aug = Core.Name "aug"--data TypedAssignment =- TypedAssignment {- typedAssignmentLhs :: SingleTarget,- typedAssignmentType :: Expression,- typedAssignmentRhs :: (Maybe AnnotatedRhs)}- deriving (Eq, Ord, Read, Show)--_TypedAssignment = Core.Name "hydra.python.syntax.TypedAssignment"--_TypedAssignment_lhs = Core.Name "lhs"--_TypedAssignment_type = Core.Name "type"--_TypedAssignment_rhs = Core.Name "rhs"--data UntypedAssignment =- UntypedAssignment {- untypedAssignmentTargets :: [StarTarget],- untypedAssignmentRhs :: AnnotatedRhs,- untypedAssignmentTypeComment :: (Maybe TypeComment)}- deriving (Eq, Ord, Read, Show)--_UntypedAssignment = Core.Name "hydra.python.syntax.UntypedAssignment"--_UntypedAssignment_targets = Core.Name "targets"--_UntypedAssignment_rhs = Core.Name "rhs"--_UntypedAssignment_typeComment = Core.Name "typeComment"--data AugAssignment =- AugAssignment {- augAssignmentLhs :: SingleTarget,- augAssignmentAugassign :: AugAssign,- augAssignmentRhs :: AnnotatedRhs}- deriving (Eq, Ord, Read, Show)--_AugAssignment = Core.Name "hydra.python.syntax.AugAssignment"--_AugAssignment_lhs = Core.Name "lhs"--_AugAssignment_augassign = Core.Name "augassign"--_AugAssignment_rhs = Core.Name "rhs"--data AnnotatedRhs =- AnnotatedRhsYield YieldExpression |- AnnotatedRhsStar [StarExpression]- deriving (Eq, Ord, Read, Show)--_AnnotatedRhs = Core.Name "hydra.python.syntax.AnnotatedRhs"--_AnnotatedRhs_yield = Core.Name "yield"--_AnnotatedRhs_star = Core.Name "star"--data AugAssign =- AugAssignPlusEqual |- AugAssignMinusEqual |- AugAssignTimesEqual |- AugAssignAtEqual |- AugAssignSlashEqual |- AugAssignPercentEqual |- AugAssignAmpersandEqual |- AugAssignBarEqual |- AugAssignCaretEqual |- AugAssignLeftShiftEqual |- AugAssignRightShiftEqual |- AugAssignStarStarEqual |- AugAssignDoubleSlashEqual- deriving (Eq, Ord, Read, Show)--_AugAssign = Core.Name "hydra.python.syntax.AugAssign"--_AugAssign_plusEqual = Core.Name "plusEqual"--_AugAssign_minusEqual = Core.Name "minusEqual"--_AugAssign_timesEqual = Core.Name "timesEqual"--_AugAssign_atEqual = Core.Name "atEqual"--_AugAssign_slashEqual = Core.Name "slashEqual"--_AugAssign_percentEqual = Core.Name "percentEqual"--_AugAssign_ampersandEqual = Core.Name "ampersandEqual"--_AugAssign_barEqual = Core.Name "barEqual"--_AugAssign_caretEqual = Core.Name "caretEqual"--_AugAssign_leftShiftEqual = Core.Name "leftShiftEqual"--_AugAssign_rightShiftEqual = Core.Name "rightShiftEqual"--_AugAssign_starStarEqual = Core.Name "starStarEqual"--_AugAssign_doubleSlashEqual = Core.Name "doubleSlashEqual"--newtype ReturnStatement =- ReturnStatement {- unReturnStatement :: [StarExpression]}- deriving (Eq, Ord, Read, Show)--_ReturnStatement = Core.Name "hydra.python.syntax.ReturnStatement"--newtype RaiseStatement =- RaiseStatement {- unRaiseStatement :: (Maybe RaiseExpression)}- deriving (Eq, Ord, Read, Show)--_RaiseStatement = Core.Name "hydra.python.syntax.RaiseStatement"--data RaiseExpression =- RaiseExpression {- raiseExpressionExpression :: Expression,- raiseExpressionFrom :: (Maybe Expression)}- deriving (Eq, Ord, Read, Show)--_RaiseExpression = Core.Name "hydra.python.syntax.RaiseExpression"--_RaiseExpression_expression = Core.Name "expression"--_RaiseExpression_from = Core.Name "from"--newtype DelStatement =- DelStatement {- unDelStatement :: DelTargets}- deriving (Eq, Ord, Read, Show)--_DelStatement = Core.Name "hydra.python.syntax.DelStatement"--newtype YieldStatement =- YieldStatement {- unYieldStatement :: YieldExpression}- deriving (Eq, Ord, Read, Show)--_YieldStatement = Core.Name "hydra.python.syntax.YieldStatement"--data AssertStatement =- AssertStatement {- assertStatementExpression1 :: Expression,- assertStatementExpression2 :: (Maybe Expression)}- deriving (Eq, Ord, Read, Show)--_AssertStatement = Core.Name "hydra.python.syntax.AssertStatement"--_AssertStatement_expression1 = Core.Name "expression1"--_AssertStatement_expression2 = Core.Name "expression2"--data ImportStatement =- ImportStatementName ImportName |- ImportStatementFrom ImportFrom- deriving (Eq, Ord, Read, Show)--_ImportStatement = Core.Name "hydra.python.syntax.ImportStatement"--_ImportStatement_name = Core.Name "name"--_ImportStatement_from = Core.Name "from"--newtype ImportName =- ImportName {- unImportName :: [DottedAsName]}- deriving (Eq, Ord, Read, Show)--_ImportName = Core.Name "hydra.python.syntax.ImportName"--data ImportFrom =- ImportFrom {- importFromPrefixes :: [RelativeImportPrefix],- importFromDottedName :: (Maybe DottedName),- importFromTargets :: ImportFromTargets}- deriving (Eq, Ord, Read, Show)--_ImportFrom = Core.Name "hydra.python.syntax.ImportFrom"--_ImportFrom_prefixes = Core.Name "prefixes"--_ImportFrom_dottedName = Core.Name "dottedName"--_ImportFrom_targets = Core.Name "targets"--data RelativeImportPrefix =- RelativeImportPrefixDot |- RelativeImportPrefixEllipsis- deriving (Eq, Ord, Read, Show)--_RelativeImportPrefix = Core.Name "hydra.python.syntax.RelativeImportPrefix"--_RelativeImportPrefix_dot = Core.Name "dot"--_RelativeImportPrefix_ellipsis = Core.Name "ellipsis"--data ImportFromTargets =- ImportFromTargetsSimple [ImportFromAsName] |- ImportFromTargetsParens [ImportFromAsName] |- ImportFromTargetsStar- deriving (Eq, Ord, Read, Show)--_ImportFromTargets = Core.Name "hydra.python.syntax.ImportFromTargets"--_ImportFromTargets_simple = Core.Name "simple"--_ImportFromTargets_parens = Core.Name "parens"--_ImportFromTargets_star = Core.Name "star"--data ImportFromAsName =- ImportFromAsName {- importFromAsNameName :: Name,- importFromAsNameAs :: (Maybe Name)}- deriving (Eq, Ord, Read, Show)--_ImportFromAsName = Core.Name "hydra.python.syntax.ImportFromAsName"--_ImportFromAsName_name = Core.Name "name"--_ImportFromAsName_as = Core.Name "as"--data DottedAsName =- DottedAsName {- dottedAsNameName :: DottedName,- dottedAsNameAs :: (Maybe Name)}- deriving (Eq, Ord, Read, Show)--_DottedAsName = Core.Name "hydra.python.syntax.DottedAsName"--_DottedAsName_name = Core.Name "name"--_DottedAsName_as = Core.Name "as"--newtype DottedName =- DottedName {- unDottedName :: [Name]}- deriving (Eq, Ord, Read, Show)--_DottedName = Core.Name "hydra.python.syntax.DottedName"--data Block =- BlockIndented [[Statement]] |- BlockSimple [SimpleStatement]- deriving (Eq, Ord, Read, Show)--_Block = Core.Name "hydra.python.syntax.Block"--_Block_indented = Core.Name "indented"--_Block_simple = Core.Name "simple"--newtype Decorators =- Decorators {- unDecorators :: [NamedExpression]}- deriving (Eq, Ord, Read, Show)--_Decorators = Core.Name "hydra.python.syntax.Decorators"--data ClassDefinition =- ClassDefinition {- classDefinitionDecorators :: (Maybe Decorators),- classDefinitionName :: Name,- classDefinitionTypeParams :: [TypeParameter],- classDefinitionArguments :: (Maybe Args),- classDefinitionBody :: Block}- deriving (Eq, Ord, Read, Show)--_ClassDefinition = Core.Name "hydra.python.syntax.ClassDefinition"--_ClassDefinition_decorators = Core.Name "decorators"--_ClassDefinition_name = Core.Name "name"--_ClassDefinition_typeParams = Core.Name "typeParams"--_ClassDefinition_arguments = Core.Name "arguments"--_ClassDefinition_body = Core.Name "body"--data FunctionDefinition =- FunctionDefinition {- functionDefinitionDecorators :: (Maybe Decorators),- functionDefinitionRaw :: FunctionDefRaw}- deriving (Eq, Ord, Read, Show)--_FunctionDefinition = Core.Name "hydra.python.syntax.FunctionDefinition"--_FunctionDefinition_decorators = Core.Name "decorators"--_FunctionDefinition_raw = Core.Name "raw"--data FunctionDefRaw =- FunctionDefRaw {- functionDefRawAsync :: Bool,- functionDefRawName :: Name,- functionDefRawTypeParams :: [TypeParameter],- functionDefRawParams :: (Maybe Parameters),- functionDefRawReturnType :: (Maybe Expression),- functionDefRawFuncTypeComment :: (Maybe FuncTypeComment),- functionDefRawBlock :: Block}- deriving (Eq, Ord, Read, Show)--_FunctionDefRaw = Core.Name "hydra.python.syntax.FunctionDefRaw"--_FunctionDefRaw_async = Core.Name "async"--_FunctionDefRaw_name = Core.Name "name"--_FunctionDefRaw_typeParams = Core.Name "typeParams"--_FunctionDefRaw_params = Core.Name "params"--_FunctionDefRaw_returnType = Core.Name "returnType"--_FunctionDefRaw_funcTypeComment = Core.Name "funcTypeComment"--_FunctionDefRaw_block = Core.Name "block"--data Parameters =- ParametersSlashNoDefault SlashNoDefaultParameters |- ParametersSlashWithDefault SlashWithDefaultParameters |- ParametersParamNoDefault ParamNoDefaultParameters |- ParametersParamWithDefault ParamWithDefaultParameters |- ParametersStarEtc StarEtc- deriving (Eq, Ord, Read, Show)--_Parameters = Core.Name "hydra.python.syntax.Parameters"--_Parameters_slashNoDefault = Core.Name "slashNoDefault"--_Parameters_slashWithDefault = Core.Name "slashWithDefault"--_Parameters_paramNoDefault = Core.Name "paramNoDefault"--_Parameters_paramWithDefault = Core.Name "paramWithDefault"--_Parameters_starEtc = Core.Name "starEtc"--data SlashNoDefaultParameters =- SlashNoDefaultParameters {- slashNoDefaultParametersSlash :: SlashNoDefault,- slashNoDefaultParametersParamNoDefault :: [ParamNoDefault],- slashNoDefaultParametersParamWithDefault :: [ParamWithDefault],- slashNoDefaultParametersStarEtc :: (Maybe StarEtc)}- deriving (Eq, Ord, Read, Show)--_SlashNoDefaultParameters = Core.Name "hydra.python.syntax.SlashNoDefaultParameters"--_SlashNoDefaultParameters_slash = Core.Name "slash"--_SlashNoDefaultParameters_paramNoDefault = Core.Name "paramNoDefault"--_SlashNoDefaultParameters_paramWithDefault = Core.Name "paramWithDefault"--_SlashNoDefaultParameters_starEtc = Core.Name "starEtc"--data SlashWithDefaultParameters =- SlashWithDefaultParameters {- slashWithDefaultParametersParamNoDefault :: [ParamNoDefault],- slashWithDefaultParametersParamWithDefault :: [ParamWithDefault],- slashWithDefaultParametersStarEtc :: (Maybe StarEtc)}- deriving (Eq, Ord, Read, Show)--_SlashWithDefaultParameters = Core.Name "hydra.python.syntax.SlashWithDefaultParameters"--_SlashWithDefaultParameters_paramNoDefault = Core.Name "paramNoDefault"--_SlashWithDefaultParameters_paramWithDefault = Core.Name "paramWithDefault"--_SlashWithDefaultParameters_starEtc = Core.Name "starEtc"--data ParamNoDefaultParameters =- ParamNoDefaultParameters {- paramNoDefaultParametersParamNoDefault :: [ParamNoDefault],- paramNoDefaultParametersParamWithDefault :: [ParamWithDefault],- paramNoDefaultParametersStarEtc :: (Maybe StarEtc)}- deriving (Eq, Ord, Read, Show)--_ParamNoDefaultParameters = Core.Name "hydra.python.syntax.ParamNoDefaultParameters"--_ParamNoDefaultParameters_paramNoDefault = Core.Name "paramNoDefault"--_ParamNoDefaultParameters_paramWithDefault = Core.Name "paramWithDefault"--_ParamNoDefaultParameters_starEtc = Core.Name "starEtc"--data ParamWithDefaultParameters =- ParamWithDefaultParameters {- paramWithDefaultParametersParamWithDefault :: [ParamWithDefault],- paramWithDefaultParametersStarEtc :: (Maybe StarEtc)}- deriving (Eq, Ord, Read, Show)--_ParamWithDefaultParameters = Core.Name "hydra.python.syntax.ParamWithDefaultParameters"--_ParamWithDefaultParameters_paramWithDefault = Core.Name "paramWithDefault"--_ParamWithDefaultParameters_starEtc = Core.Name "starEtc"--newtype SlashNoDefault =- SlashNoDefault {- unSlashNoDefault :: [ParamNoDefault]}- deriving (Eq, Ord, Read, Show)--_SlashNoDefault = Core.Name "hydra.python.syntax.SlashNoDefault"--data SlashWithDefault =- SlashWithDefault {- slashWithDefaultParamNoDefault :: [ParamNoDefault],- slashWithDefaultParamWithDefault :: [ParamWithDefault]}- deriving (Eq, Ord, Read, Show)--_SlashWithDefault = Core.Name "hydra.python.syntax.SlashWithDefault"--_SlashWithDefault_paramNoDefault = Core.Name "paramNoDefault"--_SlashWithDefault_paramWithDefault = Core.Name "paramWithDefault"--data StarEtc =- StarEtcStarNoDefault NoDefaultStarEtc |- StarEtcStarNoDefaultStarAnnotation NoDefaultStarAnnotationStarEtc |- StarEtcStarComma CommaStarEtc |- StarEtcKeywords Keywords- deriving (Eq, Ord, Read, Show)--_StarEtc = Core.Name "hydra.python.syntax.StarEtc"--_StarEtc_starNoDefault = Core.Name "starNoDefault"--_StarEtc_starNoDefaultStarAnnotation = Core.Name "starNoDefaultStarAnnotation"--_StarEtc_starComma = Core.Name "starComma"--_StarEtc_keywords = Core.Name "keywords"--data NoDefaultStarEtc =- NoDefaultStarEtc {- noDefaultStarEtcParamNoDefault :: ParamNoDefault,- noDefaultStarEtcParamMaybeDefault :: [ParamMaybeDefault],- noDefaultStarEtcKeywords :: (Maybe Keywords)}- deriving (Eq, Ord, Read, Show)--_NoDefaultStarEtc = Core.Name "hydra.python.syntax.NoDefaultStarEtc"--_NoDefaultStarEtc_paramNoDefault = Core.Name "paramNoDefault"--_NoDefaultStarEtc_paramMaybeDefault = Core.Name "paramMaybeDefault"--_NoDefaultStarEtc_keywords = Core.Name "keywords"--data NoDefaultStarAnnotationStarEtc =- NoDefaultStarAnnotationStarEtc {- noDefaultStarAnnotationStarEtcParamNoDefaultStarAnnotation :: ParamNoDefaultStarAnnotation,- noDefaultStarAnnotationStarEtcParamMaybeDefault :: [ParamMaybeDefault],- noDefaultStarAnnotationStarEtcKeywords :: (Maybe Keywords)}- deriving (Eq, Ord, Read, Show)--_NoDefaultStarAnnotationStarEtc = Core.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"--_NoDefaultStarAnnotationStarEtc_paramNoDefaultStarAnnotation = Core.Name "paramNoDefaultStarAnnotation"--_NoDefaultStarAnnotationStarEtc_paramMaybeDefault = Core.Name "paramMaybeDefault"--_NoDefaultStarAnnotationStarEtc_keywords = Core.Name "keywords"--data CommaStarEtc =- CommaStarEtc {- commaStarEtcParamMaybeDefault :: [ParamMaybeDefault],- commaStarEtcKeywords :: (Maybe Keywords)}- deriving (Eq, Ord, Read, Show)--_CommaStarEtc = Core.Name "hydra.python.syntax.CommaStarEtc"--_CommaStarEtc_paramMaybeDefault = Core.Name "paramMaybeDefault"--_CommaStarEtc_keywords = Core.Name "keywords"--newtype Keywords =- Keywords {- unKeywords :: ParamNoDefault}- deriving (Eq, Ord, Read, Show)--_Keywords = Core.Name "hydra.python.syntax.Keywords"--data ParamNoDefault =- ParamNoDefault {- paramNoDefaultParam :: Param,- paramNoDefaultTypeComment :: (Maybe TypeComment)}- deriving (Eq, Ord, Read, Show)--_ParamNoDefault = Core.Name "hydra.python.syntax.ParamNoDefault"--_ParamNoDefault_param = Core.Name "param"--_ParamNoDefault_typeComment = Core.Name "typeComment"--data ParamNoDefaultStarAnnotation =- ParamNoDefaultStarAnnotation {- paramNoDefaultStarAnnotationParamStarAnnotation :: ParamStarAnnotation,- paramNoDefaultStarAnnotationTypeComment :: (Maybe TypeComment)}- deriving (Eq, Ord, Read, Show)--_ParamNoDefaultStarAnnotation = Core.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation"--_ParamNoDefaultStarAnnotation_paramStarAnnotation = Core.Name "paramStarAnnotation"--_ParamNoDefaultStarAnnotation_typeComment = Core.Name "typeComment"--data ParamWithDefault =- ParamWithDefault {- paramWithDefaultParam :: Param,- paramWithDefaultDefault :: Default,- paramWithDefaultTypeComment :: (Maybe TypeComment)}- deriving (Eq, Ord, Read, Show)--_ParamWithDefault = Core.Name "hydra.python.syntax.ParamWithDefault"--_ParamWithDefault_param = Core.Name "param"--_ParamWithDefault_default = Core.Name "default"--_ParamWithDefault_typeComment = Core.Name "typeComment"--data ParamMaybeDefault =- ParamMaybeDefault {- paramMaybeDefaultParam :: Param,- paramMaybeDefaultDefault :: (Maybe Default),- paramMaybeDefaultTypeComment :: (Maybe TypeComment)}- deriving (Eq, Ord, Read, Show)--_ParamMaybeDefault = Core.Name "hydra.python.syntax.ParamMaybeDefault"--_ParamMaybeDefault_param = Core.Name "param"--_ParamMaybeDefault_default = Core.Name "default"--_ParamMaybeDefault_typeComment = Core.Name "typeComment"--data Param =- Param {- paramName :: Name,- paramAnnotation :: (Maybe Annotation)}- deriving (Eq, Ord, Read, Show)--_Param = Core.Name "hydra.python.syntax.Param"--_Param_name = Core.Name "name"--_Param_annotation = Core.Name "annotation"--data ParamStarAnnotation =- ParamStarAnnotation {- paramStarAnnotationName :: Name,- paramStarAnnotationAnnotation :: StarAnnotation}- deriving (Eq, Ord, Read, Show)--_ParamStarAnnotation = Core.Name "hydra.python.syntax.ParamStarAnnotation"--_ParamStarAnnotation_name = Core.Name "name"--_ParamStarAnnotation_annotation = Core.Name "annotation"--newtype Annotation =- Annotation {- unAnnotation :: Expression}- deriving (Eq, Ord, Read, Show)--_Annotation = Core.Name "hydra.python.syntax.Annotation"--newtype StarAnnotation =- StarAnnotation {- unStarAnnotation :: StarExpression}- deriving (Eq, Ord, Read, Show)--_StarAnnotation = Core.Name "hydra.python.syntax.StarAnnotation"--newtype Default =- Default {- unDefault :: Expression}- deriving (Eq, Ord, Read, Show)--_Default = Core.Name "hydra.python.syntax.Default"--data IfStatement =- IfStatement {- ifStatementCondition :: NamedExpression,- ifStatementBody :: Block,- ifStatementContinuation :: (Maybe IfTail)}- deriving (Eq, Ord, Read, Show)--_IfStatement = Core.Name "hydra.python.syntax.IfStatement"--_IfStatement_condition = Core.Name "condition"--_IfStatement_body = Core.Name "body"--_IfStatement_continuation = Core.Name "continuation"--data IfTail =- IfTailElif IfStatement |- IfTailElse Block- deriving (Eq, Ord, Read, Show)--_IfTail = Core.Name "hydra.python.syntax.IfTail"--_IfTail_elif = Core.Name "elif"--_IfTail_else = Core.Name "else"--data WhileStatement =- WhileStatement {- whileStatementCondition :: NamedExpression,- whileStatementBody :: Block,- whileStatementElse :: (Maybe Block)}- deriving (Eq, Ord, Read, Show)--_WhileStatement = Core.Name "hydra.python.syntax.WhileStatement"--_WhileStatement_condition = Core.Name "condition"--_WhileStatement_body = Core.Name "body"--_WhileStatement_else = Core.Name "else"--data ForStatement =- ForStatement {- forStatementAsync :: Bool,- forStatementTargets :: [StarTarget],- forStatementExpressions :: [StarExpression],- forStatementTypeComment :: (Maybe TypeComment),- forStatementBody :: Block,- forStatementElse :: (Maybe Block)}- deriving (Eq, Ord, Read, Show)--_ForStatement = Core.Name "hydra.python.syntax.ForStatement"--_ForStatement_async = Core.Name "async"--_ForStatement_targets = Core.Name "targets"--_ForStatement_expressions = Core.Name "expressions"--_ForStatement_typeComment = Core.Name "typeComment"--_ForStatement_body = Core.Name "body"--_ForStatement_else = Core.Name "else"--data WithStatement =- WithStatement {- withStatementAsync :: Bool,- withStatementItems :: [WithItem],- withStatementTypeComment :: (Maybe TypeComment),- withStatementBody :: Block}- deriving (Eq, Ord, Read, Show)--_WithStatement = Core.Name "hydra.python.syntax.WithStatement"--_WithStatement_async = Core.Name "async"--_WithStatement_items = Core.Name "items"--_WithStatement_typeComment = Core.Name "typeComment"--_WithStatement_body = Core.Name "body"--data WithItem =- WithItem {- withItemExpression :: Expression,- withItemAs :: (Maybe StarTarget)}- deriving (Eq, Ord, Read, Show)--_WithItem = Core.Name "hydra.python.syntax.WithItem"--_WithItem_expression = Core.Name "expression"--_WithItem_as = Core.Name "as"--data TryStatement =- TryStatementFinally TryFinallyStatement |- TryStatementExcept TryExceptStatement |- TryStatementExceptStar TryExceptStarStatement- deriving (Eq, Ord, Read, Show)--_TryStatement = Core.Name "hydra.python.syntax.TryStatement"--_TryStatement_finally = Core.Name "finally"--_TryStatement_except = Core.Name "except"--_TryStatement_exceptStar = Core.Name "exceptStar"--data TryFinallyStatement =- TryFinallyStatement {- tryFinallyStatementBody :: Block,- tryFinallyStatementFinally :: Block}- deriving (Eq, Ord, Read, Show)--_TryFinallyStatement = Core.Name "hydra.python.syntax.TryFinallyStatement"--_TryFinallyStatement_body = Core.Name "body"--_TryFinallyStatement_finally = Core.Name "finally"--data TryExceptStatement =- TryExceptStatement {- tryExceptStatementBody :: Block,- tryExceptStatementExcepts :: [ExceptBlock],- tryExceptStatementElse :: (Maybe Block),- tryExceptStatementFinally :: (Maybe Block)}- deriving (Eq, Ord, Read, Show)--_TryExceptStatement = Core.Name "hydra.python.syntax.TryExceptStatement"--_TryExceptStatement_body = Core.Name "body"--_TryExceptStatement_excepts = Core.Name "excepts"--_TryExceptStatement_else = Core.Name "else"--_TryExceptStatement_finally = Core.Name "finally"--data TryExceptStarStatement =- TryExceptStarStatement {- tryExceptStarStatementBody :: Block,- tryExceptStarStatementExcepts :: [ExceptStarBlock],- tryExceptStarStatementElse :: (Maybe Block),- tryExceptStarStatementFinally :: (Maybe Block)}- deriving (Eq, Ord, Read, Show)--_TryExceptStarStatement = Core.Name "hydra.python.syntax.TryExceptStarStatement"--_TryExceptStarStatement_body = Core.Name "body"--_TryExceptStarStatement_excepts = Core.Name "excepts"--_TryExceptStarStatement_else = Core.Name "else"--_TryExceptStarStatement_finally = Core.Name "finally"--data ExceptBlock =- ExceptBlock {- exceptBlockExpression :: (Maybe ExceptExpression),- exceptBlockBody :: Block}- deriving (Eq, Ord, Read, Show)--_ExceptBlock = Core.Name "hydra.python.syntax.ExceptBlock"--_ExceptBlock_expression = Core.Name "expression"--_ExceptBlock_body = Core.Name "body"--data ExceptExpression =- ExceptExpression {- exceptExpressionExpression :: Expression,- exceptExpressionAs :: (Maybe Name)}- deriving (Eq, Ord, Read, Show)--_ExceptExpression = Core.Name "hydra.python.syntax.ExceptExpression"--_ExceptExpression_expression = Core.Name "expression"--_ExceptExpression_as = Core.Name "as"--data ExceptStarBlock =- ExceptStarBlock {- exceptStarBlockExpression :: Expression,- exceptStarBlockAs :: (Maybe Name),- exceptStarBlockBody :: Block}- deriving (Eq, Ord, Read, Show)--_ExceptStarBlock = Core.Name "hydra.python.syntax.ExceptStarBlock"--_ExceptStarBlock_expression = Core.Name "expression"--_ExceptStarBlock_as = Core.Name "as"--_ExceptStarBlock_body = Core.Name "body"--data MatchStatement =- MatchStatement {- matchStatementSubject :: SubjectExpression,- matchStatementCases :: [CaseBlock]}- deriving (Eq, Ord, Read, Show)--_MatchStatement = Core.Name "hydra.python.syntax.MatchStatement"--_MatchStatement_subject = Core.Name "subject"--_MatchStatement_cases = Core.Name "cases"--data SubjectExpression =- SubjectExpressionTuple [StarNamedExpression] |- SubjectExpressionSimple NamedExpression- deriving (Eq, Ord, Read, Show)--_SubjectExpression = Core.Name "hydra.python.syntax.SubjectExpression"--_SubjectExpression_tuple = Core.Name "tuple"--_SubjectExpression_simple = Core.Name "simple"--data CaseBlock =- CaseBlock {- caseBlockPatterns :: Patterns,- caseBlockGuard :: (Maybe Guard),- caseBlockBody :: Block}- deriving (Eq, Ord, Read, Show)--_CaseBlock = Core.Name "hydra.python.syntax.CaseBlock"--_CaseBlock_patterns = Core.Name "patterns"--_CaseBlock_guard = Core.Name "guard"--_CaseBlock_body = Core.Name "body"--newtype Guard =- Guard {- unGuard :: NamedExpression}- deriving (Eq, Ord, Read, Show)--_Guard = Core.Name "hydra.python.syntax.Guard"--data Patterns =- PatternsSequence OpenSequencePattern |- PatternsPattern Pattern- deriving (Eq, Ord, Read, Show)--_Patterns = Core.Name "hydra.python.syntax.Patterns"--_Patterns_sequence = Core.Name "sequence"--_Patterns_pattern = Core.Name "pattern"--data Pattern =- PatternAs AsPattern |- PatternOr OrPattern- deriving (Eq, Ord, Read, Show)--_Pattern = Core.Name "hydra.python.syntax.Pattern"--_Pattern_as = Core.Name "as"--_Pattern_or = Core.Name "or"--data AsPattern =- AsPattern {- asPatternPattern :: OrPattern,- asPatternAs :: PatternCaptureTarget}- deriving (Eq, Ord, Read, Show)--_AsPattern = Core.Name "hydra.python.syntax.AsPattern"--_AsPattern_pattern = Core.Name "pattern"--_AsPattern_as = Core.Name "as"--newtype OrPattern =- OrPattern {- unOrPattern :: [ClosedPattern]}- deriving (Eq, Ord, Read, Show)--_OrPattern = Core.Name "hydra.python.syntax.OrPattern"--data ClosedPattern =- ClosedPatternLiteral LiteralExpression |- ClosedPatternCapture CapturePattern |- ClosedPatternWildcard |- ClosedPatternValue ValuePattern |- ClosedPatternGroup GroupPattern |- ClosedPatternSequence SequencePattern |- ClosedPatternMapping MappingPattern |- ClosedPatternClass ClassPattern- deriving (Eq, Ord, Read, Show)--_ClosedPattern = Core.Name "hydra.python.syntax.ClosedPattern"--_ClosedPattern_literal = Core.Name "literal"--_ClosedPattern_capture = Core.Name "capture"--_ClosedPattern_wildcard = Core.Name "wildcard"--_ClosedPattern_value = Core.Name "value"--_ClosedPattern_group = Core.Name "group"--_ClosedPattern_sequence = Core.Name "sequence"--_ClosedPattern_mapping = Core.Name "mapping"--_ClosedPattern_class = Core.Name "class"--data LiteralExpression =- LiteralExpressionNumber SignedNumber |- LiteralExpressionComplex ComplexNumber |- LiteralExpressionString String_ |- LiteralExpressionNone |- LiteralExpressionTrue |- LiteralExpressionFalse- deriving (Eq, Ord, Read, Show)--_LiteralExpression = Core.Name "hydra.python.syntax.LiteralExpression"--_LiteralExpression_number = Core.Name "number"--_LiteralExpression_complex = Core.Name "complex"--_LiteralExpression_string = Core.Name "string"--_LiteralExpression_none = Core.Name "none"--_LiteralExpression_true = Core.Name "true"--_LiteralExpression_false = Core.Name "false"--data ComplexNumber =- ComplexNumber {- complexNumberReal :: SignedRealNumber,- complexNumberPlusOrMinus :: PlusOrMinus,- complexNumberImaginary :: ImaginaryNumber}- deriving (Eq, Ord, Read, Show)--_ComplexNumber = Core.Name "hydra.python.syntax.ComplexNumber"--_ComplexNumber_real = Core.Name "real"--_ComplexNumber_plusOrMinus = Core.Name "plusOrMinus"--_ComplexNumber_imaginary = Core.Name "imaginary"--data PlusOrMinus =- PlusOrMinusPlus |- PlusOrMinusMinus- deriving (Eq, Ord, Read, Show)--_PlusOrMinus = Core.Name "hydra.python.syntax.PlusOrMinus"--_PlusOrMinus_plus = Core.Name "plus"--_PlusOrMinus_minus = Core.Name "minus"--data SignedNumber =- SignedNumberSign PlusOrMinus |- SignedNumberNumber Number- deriving (Eq, Ord, Read, Show)--_SignedNumber = Core.Name "hydra.python.syntax.SignedNumber"--_SignedNumber_sign = Core.Name "sign"--_SignedNumber_number = Core.Name "number"--data SignedRealNumber =- SignedRealNumberSign PlusOrMinus |- SignedRealNumberNumber RealNumber- deriving (Eq, Ord, Read, Show)--_SignedRealNumber = Core.Name "hydra.python.syntax.SignedRealNumber"--_SignedRealNumber_sign = Core.Name "sign"--_SignedRealNumber_number = Core.Name "number"--data RealNumber =- RealNumberInteger Integer |- RealNumberFloat Double- deriving (Eq, Ord, Read, Show)--_RealNumber = Core.Name "hydra.python.syntax.RealNumber"--_RealNumber_integer = Core.Name "integer"--_RealNumber_float = Core.Name "float"--newtype ImaginaryNumber =- ImaginaryNumber {- unImaginaryNumber :: Double}- deriving (Eq, Ord, Read, Show)--_ImaginaryNumber = Core.Name "hydra.python.syntax.ImaginaryNumber"--newtype CapturePattern =- CapturePattern {- unCapturePattern :: PatternCaptureTarget}- deriving (Eq, Ord, Read, Show)--_CapturePattern = Core.Name "hydra.python.syntax.CapturePattern"--newtype PatternCaptureTarget =- PatternCaptureTarget {- unPatternCaptureTarget :: Name}- deriving (Eq, Ord, Read, Show)--_PatternCaptureTarget = Core.Name "hydra.python.syntax.PatternCaptureTarget"--newtype ValuePattern =- ValuePattern {- unValuePattern :: Attribute}- deriving (Eq, Ord, Read, Show)--_ValuePattern = Core.Name "hydra.python.syntax.ValuePattern"--newtype Attribute =- Attribute {- unAttribute :: [Name]}- deriving (Eq, Ord, Read, Show)--_Attribute = Core.Name "hydra.python.syntax.Attribute"--newtype NameOrAttribute =- NameOrAttribute {- unNameOrAttribute :: [Name]}- deriving (Eq, Ord, Read, Show)--_NameOrAttribute = Core.Name "hydra.python.syntax.NameOrAttribute"--newtype GroupPattern =- GroupPattern {- unGroupPattern :: Pattern}- deriving (Eq, Ord, Read, Show)--_GroupPattern = Core.Name "hydra.python.syntax.GroupPattern"--data SequencePattern =- SequencePatternList (Maybe MaybeSequencePattern) |- SequencePatternTuple (Maybe OpenSequencePattern)- deriving (Eq, Ord, Read, Show)--_SequencePattern = Core.Name "hydra.python.syntax.SequencePattern"--_SequencePattern_list = Core.Name "list"--_SequencePattern_tuple = Core.Name "tuple"--data OpenSequencePattern =- OpenSequencePattern {- openSequencePatternHead :: MaybeStarPattern,- openSequencePatternTail :: (Maybe MaybeSequencePattern)}- deriving (Eq, Ord, Read, Show)--_OpenSequencePattern = Core.Name "hydra.python.syntax.OpenSequencePattern"--_OpenSequencePattern_head = Core.Name "head"--_OpenSequencePattern_tail = Core.Name "tail"--newtype MaybeSequencePattern =- MaybeSequencePattern {- unMaybeSequencePattern :: [MaybeStarPattern]}- deriving (Eq, Ord, Read, Show)--_MaybeSequencePattern = Core.Name "hydra.python.syntax.MaybeSequencePattern"--data MaybeStarPattern =- MaybeStarPatternStar StarPattern |- MaybeStarPatternPattern Pattern- deriving (Eq, Ord, Read, Show)--_MaybeStarPattern = Core.Name "hydra.python.syntax.MaybeStarPattern"--_MaybeStarPattern_star = Core.Name "star"--_MaybeStarPattern_pattern = Core.Name "pattern"--data StarPattern =- StarPatternCapture PatternCaptureTarget |- StarPatternWildcard- deriving (Eq, Ord, Read, Show)--_StarPattern = Core.Name "hydra.python.syntax.StarPattern"--_StarPattern_capture = Core.Name "capture"--_StarPattern_wildcard = Core.Name "wildcard"--data MappingPattern =- MappingPattern {- mappingPatternItems :: (Maybe ItemsPattern),- mappingPatternDoubleStar :: (Maybe DoubleStarPattern)}- deriving (Eq, Ord, Read, Show)--_MappingPattern = Core.Name "hydra.python.syntax.MappingPattern"--_MappingPattern_items = Core.Name "items"--_MappingPattern_doubleStar = Core.Name "doubleStar"--newtype ItemsPattern =- ItemsPattern {- unItemsPattern :: [KeyValuePattern]}- deriving (Eq, Ord, Read, Show)--_ItemsPattern = Core.Name "hydra.python.syntax.ItemsPattern"--data KeyValuePattern =- KeyValuePattern {- keyValuePatternKey :: LiteralExpressionOrAttribute,- keyValuePatternValue :: Pattern}- deriving (Eq, Ord, Read, Show)--_KeyValuePattern = Core.Name "hydra.python.syntax.KeyValuePattern"--_KeyValuePattern_key = Core.Name "key"--_KeyValuePattern_value = Core.Name "value"--data LiteralExpressionOrAttribute =- LiteralExpressionOrAttributeLiteral LiteralExpression |- LiteralExpressionOrAttributeAttribute Attribute- deriving (Eq, Ord, Read, Show)--_LiteralExpressionOrAttribute = Core.Name "hydra.python.syntax.LiteralExpressionOrAttribute"--_LiteralExpressionOrAttribute_literal = Core.Name "literal"--_LiteralExpressionOrAttribute_attribute = Core.Name "attribute"--newtype DoubleStarPattern =- DoubleStarPattern {- unDoubleStarPattern :: PatternCaptureTarget}- deriving (Eq, Ord, Read, Show)--_DoubleStarPattern = Core.Name "hydra.python.syntax.DoubleStarPattern"--data ClassPattern =- ClassPattern {- classPatternNameOrAttribute :: NameOrAttribute,- classPatternPositionalPatterns :: (Maybe PositionalPatterns),- classPatternKeywordPatterns :: (Maybe KeywordPatterns)}- deriving (Eq, Ord, Read, Show)--_ClassPattern = Core.Name "hydra.python.syntax.ClassPattern"--_ClassPattern_nameOrAttribute = Core.Name "nameOrAttribute"--_ClassPattern_positionalPatterns = Core.Name "positionalPatterns"--_ClassPattern_keywordPatterns = Core.Name "keywordPatterns"--newtype PositionalPatterns =- PositionalPatterns {- unPositionalPatterns :: [Pattern]}- deriving (Eq, Ord, Read, Show)--_PositionalPatterns = Core.Name "hydra.python.syntax.PositionalPatterns"--newtype KeywordPatterns =- KeywordPatterns {- unKeywordPatterns :: [KeywordPattern]}- deriving (Eq, Ord, Read, Show)--_KeywordPatterns = Core.Name "hydra.python.syntax.KeywordPatterns"--data KeywordPattern =- KeywordPattern {- keywordPatternName :: Name,- keywordPatternPattern :: Pattern}- deriving (Eq, Ord, Read, Show)--_KeywordPattern = Core.Name "hydra.python.syntax.KeywordPattern"--_KeywordPattern_name = Core.Name "name"--_KeywordPattern_pattern = Core.Name "pattern"--data TypeAlias =- TypeAlias {- typeAliasName :: Name,- typeAliasTypeParams :: [TypeParameter],- typeAliasExpression :: Expression}- deriving (Eq, Ord, Read, Show)--_TypeAlias = Core.Name "hydra.python.syntax.TypeAlias"--_TypeAlias_name = Core.Name "name"--_TypeAlias_typeParams = Core.Name "typeParams"--_TypeAlias_expression = Core.Name "expression"--data TypeParameter =- TypeParameterSimple SimpleTypeParameter |- TypeParameterStar StarTypeParameter |- TypeParameterDoubleStar DoubleStarTypeParameter- deriving (Eq, Ord, Read, Show)--_TypeParameter = Core.Name "hydra.python.syntax.TypeParameter"--_TypeParameter_simple = Core.Name "simple"--_TypeParameter_star = Core.Name "star"--_TypeParameter_doubleStar = Core.Name "doubleStar"--data SimpleTypeParameter =- SimpleTypeParameter {- simpleTypeParameterName :: Name,- simpleTypeParameterBound :: (Maybe Expression),- simpleTypeParameterDefault :: (Maybe Expression)}- deriving (Eq, Ord, Read, Show)--_SimpleTypeParameter = Core.Name "hydra.python.syntax.SimpleTypeParameter"--_SimpleTypeParameter_name = Core.Name "name"--_SimpleTypeParameter_bound = Core.Name "bound"--_SimpleTypeParameter_default = Core.Name "default"--data StarTypeParameter =- StarTypeParameter {- starTypeParameterName :: Name,- starTypeParameterDefault :: (Maybe StarExpression)}- deriving (Eq, Ord, Read, Show)--_StarTypeParameter = Core.Name "hydra.python.syntax.StarTypeParameter"--_StarTypeParameter_name = Core.Name "name"--_StarTypeParameter_default = Core.Name "default"--data DoubleStarTypeParameter =- DoubleStarTypeParameter {- doubleStarTypeParameterName :: Name,- doubleStarTypeParameterDefault :: (Maybe Expression)}- deriving (Eq, Ord, Read, Show)--_DoubleStarTypeParameter = Core.Name "hydra.python.syntax.DoubleStarTypeParameter"--_DoubleStarTypeParameter_name = Core.Name "name"--_DoubleStarTypeParameter_default = Core.Name "default"--data Expression =- ExpressionConditional Conditional |- ExpressionSimple Disjunction |- ExpressionLambda Lambda- deriving (Eq, Ord, Read, Show)--_Expression = Core.Name "hydra.python.syntax.Expression"--_Expression_conditional = Core.Name "conditional"--_Expression_simple = Core.Name "simple"--_Expression_lambda = Core.Name "lambda"--data Conditional =- Conditional {- conditionalBody :: Disjunction,- conditionalIf :: Disjunction,- conditionalElse :: Expression}- deriving (Eq, Ord, Read, Show)--_Conditional = Core.Name "hydra.python.syntax.Conditional"--_Conditional_body = Core.Name "body"--_Conditional_if = Core.Name "if"--_Conditional_else = Core.Name "else"--data YieldExpression =- YieldExpressionFrom Expression |- YieldExpressionSimple [StarExpression]- deriving (Eq, Ord, Read, Show)--_YieldExpression = Core.Name "hydra.python.syntax.YieldExpression"--_YieldExpression_from = Core.Name "from"--_YieldExpression_simple = Core.Name "simple"--data StarExpression =- StarExpressionStar BitwiseOr |- StarExpressionSimple Expression- deriving (Eq, Ord, Read, Show)--_StarExpression = Core.Name "hydra.python.syntax.StarExpression"--_StarExpression_star = Core.Name "star"--_StarExpression_simple = Core.Name "simple"--newtype StarNamedExpressions =- StarNamedExpressions {- unStarNamedExpressions :: [StarNamedExpression]}- deriving (Eq, Ord, Read, Show)--_StarNamedExpressions = Core.Name "hydra.python.syntax.StarNamedExpressions"--data StarNamedExpression =- StarNamedExpressionStar BitwiseOr |- StarNamedExpressionSimple NamedExpression- deriving (Eq, Ord, Read, Show)--_StarNamedExpression = Core.Name "hydra.python.syntax.StarNamedExpression"--_StarNamedExpression_star = Core.Name "star"--_StarNamedExpression_simple = Core.Name "simple"--data AssignmentExpression =- AssignmentExpression {- assignmentExpressionName :: Name,- assignmentExpressionExpression :: Expression}- deriving (Eq, Ord, Read, Show)--_AssignmentExpression = Core.Name "hydra.python.syntax.AssignmentExpression"--_AssignmentExpression_name = Core.Name "name"--_AssignmentExpression_expression = Core.Name "expression"--data NamedExpression =- NamedExpressionAssignment AssignmentExpression |- NamedExpressionSimple Expression- deriving (Eq, Ord, Read, Show)--_NamedExpression = Core.Name "hydra.python.syntax.NamedExpression"--_NamedExpression_assignment = Core.Name "assignment"--_NamedExpression_simple = Core.Name "simple"--newtype Disjunction =- Disjunction {- unDisjunction :: [Conjunction]}- deriving (Eq, Ord, Read, Show)--_Disjunction = Core.Name "hydra.python.syntax.Disjunction"--newtype Conjunction =- Conjunction {- unConjunction :: [Inversion]}- deriving (Eq, Ord, Read, Show)--_Conjunction = Core.Name "hydra.python.syntax.Conjunction"--data Inversion =- InversionNot Inversion |- InversionSimple Comparison- deriving (Eq, Ord, Read, Show)--_Inversion = Core.Name "hydra.python.syntax.Inversion"--_Inversion_not = Core.Name "not"--_Inversion_simple = Core.Name "simple"--data Comparison =- Comparison {- comparisonLhs :: BitwiseOr,- comparisonRhs :: [CompareOpBitwiseOrPair]}- deriving (Eq, Ord, Read, Show)--_Comparison = Core.Name "hydra.python.syntax.Comparison"--_Comparison_lhs = Core.Name "lhs"--_Comparison_rhs = Core.Name "rhs"--data CompareOpBitwiseOrPair =- CompareOpBitwiseOrPair {- compareOpBitwiseOrPairOperator :: CompareOp,- compareOpBitwiseOrPairRhs :: BitwiseOr}- deriving (Eq, Ord, Read, Show)--_CompareOpBitwiseOrPair = Core.Name "hydra.python.syntax.CompareOpBitwiseOrPair"--_CompareOpBitwiseOrPair_operator = Core.Name "operator"--_CompareOpBitwiseOrPair_rhs = Core.Name "rhs"--data CompareOp =- CompareOpEq |- CompareOpNoteq |- CompareOpLte |- CompareOpLt |- CompareOpGte |- CompareOpGt |- CompareOpNotin |- CompareOpIn |- CompareOpIsnot |- CompareOpIs- deriving (Eq, Ord, Read, Show)--_CompareOp = Core.Name "hydra.python.syntax.CompareOp"--_CompareOp_eq = Core.Name "eq"--_CompareOp_noteq = Core.Name "noteq"--_CompareOp_lte = Core.Name "lte"--_CompareOp_lt = Core.Name "lt"--_CompareOp_gte = Core.Name "gte"--_CompareOp_gt = Core.Name "gt"--_CompareOp_notin = Core.Name "notin"--_CompareOp_in = Core.Name "in"--_CompareOp_isnot = Core.Name "isnot"--_CompareOp_is = Core.Name "is"--data BitwiseOr =- BitwiseOr {- bitwiseOrLhs :: (Maybe BitwiseOr),- bitwiseOrRhs :: BitwiseXor}- deriving (Eq, Ord, Read, Show)--_BitwiseOr = Core.Name "hydra.python.syntax.BitwiseOr"--_BitwiseOr_lhs = Core.Name "lhs"--_BitwiseOr_rhs = Core.Name "rhs"--data BitwiseXor =- BitwiseXor {- bitwiseXorLhs :: (Maybe BitwiseXor),- bitwiseXorRhs :: BitwiseAnd}- deriving (Eq, Ord, Read, Show)--_BitwiseXor = Core.Name "hydra.python.syntax.BitwiseXor"--_BitwiseXor_lhs = Core.Name "lhs"--_BitwiseXor_rhs = Core.Name "rhs"--data BitwiseAnd =- BitwiseAnd {- bitwiseAndLhs :: (Maybe BitwiseAnd),- bitwiseAndRhs :: ShiftExpression}- deriving (Eq, Ord, Read, Show)--_BitwiseAnd = Core.Name "hydra.python.syntax.BitwiseAnd"--_BitwiseAnd_lhs = Core.Name "lhs"--_BitwiseAnd_rhs = Core.Name "rhs"--data ShiftExpression =- ShiftExpression {- shiftExpressionLhs :: (Maybe ShiftLhs),- shiftExpressionRhs :: Sum}- deriving (Eq, Ord, Read, Show)--_ShiftExpression = Core.Name "hydra.python.syntax.ShiftExpression"--_ShiftExpression_lhs = Core.Name "lhs"--_ShiftExpression_rhs = Core.Name "rhs"--data ShiftLhs =- ShiftLhs {- shiftLhsOperand :: ShiftExpression,- shiftLhsOperator :: ShiftOp}- deriving (Eq, Ord, Read, Show)--_ShiftLhs = Core.Name "hydra.python.syntax.ShiftLhs"--_ShiftLhs_operand = Core.Name "operand"--_ShiftLhs_operator = Core.Name "operator"--data ShiftOp =- ShiftOpLeft |- ShiftOpRight- deriving (Eq, Ord, Read, Show)--_ShiftOp = Core.Name "hydra.python.syntax.ShiftOp"--_ShiftOp_left = Core.Name "left"--_ShiftOp_right = Core.Name "right"--data Sum =- Sum {- sumLhs :: (Maybe SumLhs),- sumRhs :: Term}- deriving (Eq, Ord, Read, Show)--_Sum = Core.Name "hydra.python.syntax.Sum"--_Sum_lhs = Core.Name "lhs"--_Sum_rhs = Core.Name "rhs"--data SumLhs =- SumLhs {- sumLhsOperand :: Sum,- sumLhsOperator :: SumOp}- deriving (Eq, Ord, Read, Show)--_SumLhs = Core.Name "hydra.python.syntax.SumLhs"--_SumLhs_operand = Core.Name "operand"--_SumLhs_operator = Core.Name "operator"--data SumOp =- SumOpAdd |- SumOpSub- deriving (Eq, Ord, Read, Show)--_SumOp = Core.Name "hydra.python.syntax.SumOp"--_SumOp_add = Core.Name "add"--_SumOp_sub = Core.Name "sub"--data Term =- Term {- termLhs :: (Maybe TermLhs),- termRhs :: Factor}- deriving (Eq, Ord, Read, Show)--_Term = Core.Name "hydra.python.syntax.Term"--_Term_lhs = Core.Name "lhs"--_Term_rhs = Core.Name "rhs"--data TermLhs =- TermLhs {- termLhsOperand :: Term,- termLhsOperator :: TermOp}- deriving (Eq, Ord, Read, Show)--_TermLhs = Core.Name "hydra.python.syntax.TermLhs"--_TermLhs_operand = Core.Name "operand"--_TermLhs_operator = Core.Name "operator"--data TermOp =- TermOpMul |- TermOpDiv |- TermOpFloordiv |- TermOpMod |- TermOpMatmul- deriving (Eq, Ord, Read, Show)--_TermOp = Core.Name "hydra.python.syntax.TermOp"--_TermOp_mul = Core.Name "mul"--_TermOp_div = Core.Name "div"--_TermOp_floordiv = Core.Name "floordiv"--_TermOp_mod = Core.Name "mod"--_TermOp_matmul = Core.Name "matmul"--data Factor =- FactorPositive Factor |- FactorNegative Factor |- FactorComplement Factor |- FactorSimple Power- deriving (Eq, Ord, Read, Show)--_Factor = Core.Name "hydra.python.syntax.Factor"--_Factor_positive = Core.Name "positive"--_Factor_negative = Core.Name "negative"--_Factor_complement = Core.Name "complement"--_Factor_simple = Core.Name "simple"--data Power =- Power {- powerLhs :: AwaitPrimary,- powerRhs :: (Maybe Factor)}- deriving (Eq, Ord, Read, Show)--_Power = Core.Name "hydra.python.syntax.Power"--_Power_lhs = Core.Name "lhs"--_Power_rhs = Core.Name "rhs"--data AwaitPrimary =- AwaitPrimary {- awaitPrimaryAwait :: Bool,- awaitPrimaryPrimary :: Primary}- deriving (Eq, Ord, Read, Show)--_AwaitPrimary = Core.Name "hydra.python.syntax.AwaitPrimary"--_AwaitPrimary_await = Core.Name "await"--_AwaitPrimary_primary = Core.Name "primary"--data Primary =- PrimarySimple Atom |- PrimaryCompound PrimaryWithRhs- deriving (Eq, Ord, Read, Show)--_Primary = Core.Name "hydra.python.syntax.Primary"--_Primary_simple = Core.Name "simple"--_Primary_compound = Core.Name "compound"--data PrimaryWithRhs =- PrimaryWithRhs {- primaryWithRhsPrimary :: Primary,- primaryWithRhsRhs :: PrimaryRhs}- deriving (Eq, Ord, Read, Show)--_PrimaryWithRhs = Core.Name "hydra.python.syntax.PrimaryWithRhs"--_PrimaryWithRhs_primary = Core.Name "primary"--_PrimaryWithRhs_rhs = Core.Name "rhs"--data PrimaryRhs =- PrimaryRhsProject Name |- PrimaryRhsGenexp Genexp |- PrimaryRhsCall Args |- PrimaryRhsSlices Slices- deriving (Eq, Ord, Read, Show)--_PrimaryRhs = Core.Name "hydra.python.syntax.PrimaryRhs"--_PrimaryRhs_project = Core.Name "project"--_PrimaryRhs_genexp = Core.Name "genexp"--_PrimaryRhs_call = Core.Name "call"--_PrimaryRhs_slices = Core.Name "slices"--data Slices =- Slices {- slicesHead :: Slice,- slicesTail :: [SliceOrStarredExpression]}- deriving (Eq, Ord, Read, Show)--_Slices = Core.Name "hydra.python.syntax.Slices"--_Slices_head = Core.Name "head"--_Slices_tail = Core.Name "tail"--data SliceOrStarredExpression =- SliceOrStarredExpressionSlice Slice |- SliceOrStarredExpressionStarred StarredExpression- deriving (Eq, Ord, Read, Show)--_SliceOrStarredExpression = Core.Name "hydra.python.syntax.SliceOrStarredExpression"--_SliceOrStarredExpression_slice = Core.Name "slice"--_SliceOrStarredExpression_starred = Core.Name "starred"--data Slice =- SliceNamed NamedExpression |- SliceSlice_ SliceExpression- deriving (Eq, Ord, Read, Show)--_Slice = Core.Name "hydra.python.syntax.Slice"--_Slice_named = Core.Name "named"--_Slice_slice_ = Core.Name "slice_"--data SliceExpression =- SliceExpression {- sliceExpressionStart :: (Maybe Expression),- sliceExpressionStop :: (Maybe Expression),- sliceExpressionStep :: (Maybe Expression)}- deriving (Eq, Ord, Read, Show)--_SliceExpression = Core.Name "hydra.python.syntax.SliceExpression"--_SliceExpression_start = Core.Name "start"--_SliceExpression_stop = Core.Name "stop"--_SliceExpression_step = Core.Name "step"--data Atom =- AtomName Name |- AtomTrue |- AtomFalse |- AtomNone |- AtomString String_ |- AtomNumber Number |- AtomTuple Tuple |- AtomGroup Group |- AtomGenexp Genexp |- AtomList List |- AtomListcomp Listcomp |- AtomDict Dict |- AtomSet Set |- AtomDictcomp Dictcomp |- AtomSetcomp Setcomp |- AtomEllipsis- deriving (Eq, Ord, Read, Show)--_Atom = Core.Name "hydra.python.syntax.Atom"--_Atom_name = Core.Name "name"--_Atom_true = Core.Name "true"--_Atom_false = Core.Name "false"--_Atom_none = Core.Name "none"--_Atom_string = Core.Name "string"--_Atom_number = Core.Name "number"--_Atom_tuple = Core.Name "tuple"--_Atom_group = Core.Name "group"--_Atom_genexp = Core.Name "genexp"--_Atom_list = Core.Name "list"--_Atom_listcomp = Core.Name "listcomp"--_Atom_dict = Core.Name "dict"--_Atom_set = Core.Name "set"--_Atom_dictcomp = Core.Name "dictcomp"--_Atom_setcomp = Core.Name "setcomp"--_Atom_ellipsis = Core.Name "ellipsis"--data Group =- GroupYield YieldExpression |- GroupExpression NamedExpression- deriving (Eq, Ord, Read, Show)--_Group = Core.Name "hydra.python.syntax.Group"--_Group_yield = Core.Name "yield"--_Group_expression = Core.Name "expression"--data Lambda =- Lambda {- lambdaParams :: LambdaParameters,- lambdaBody :: Expression}- deriving (Eq, Ord, Read, Show)--_Lambda = Core.Name "hydra.python.syntax.Lambda"--_Lambda_params = Core.Name "params"--_Lambda_body = Core.Name "body"--data LambdaParameters =- LambdaParameters {- lambdaParametersSlashNoDefault :: (Maybe LambdaSlashNoDefault),- lambdaParametersParamNoDefault :: [LambdaParamNoDefault],- lambdaParametersParamWithDefault :: [LambdaParamWithDefault],- lambdaParametersStarEtc :: (Maybe LambdaStarEtc)}- deriving (Eq, Ord, Read, Show)--_LambdaParameters = Core.Name "hydra.python.syntax.LambdaParameters"--_LambdaParameters_slashNoDefault = Core.Name "slashNoDefault"--_LambdaParameters_paramNoDefault = Core.Name "paramNoDefault"--_LambdaParameters_paramWithDefault = Core.Name "paramWithDefault"--_LambdaParameters_starEtc = Core.Name "starEtc"--data LambdaSlashNoDefault =- LambdaSlashNoDefault {- lambdaSlashNoDefaultParameters :: [LambdaParamNoDefault]}- deriving (Eq, Ord, Read, Show)--_LambdaSlashNoDefault = Core.Name "hydra.python.syntax.LambdaSlashNoDefault"--_LambdaSlashNoDefault_parameters = Core.Name "parameters"--data LambdaSlashWithDefault =- LambdaSlashWithDefault {- lambdaSlashWithDefaultParamNoDefault :: [LambdaParamNoDefault],- lambdaSlashWithDefaultParamWithDefault :: [LambdaParamWithDefault]}- deriving (Eq, Ord, Read, Show)--_LambdaSlashWithDefault = Core.Name "hydra.python.syntax.LambdaSlashWithDefault"--_LambdaSlashWithDefault_paramNoDefault = Core.Name "paramNoDefault"--_LambdaSlashWithDefault_paramWithDefault = Core.Name "paramWithDefault"--data LambdaStarEtc =- LambdaStarEtcStar Bool |- LambdaStarEtcParamNoDefault LambdaParamNoDefault |- LambdaStarEtcParamMaybeDefault [LambdaParamMaybeDefault] |- LambdaStarEtcKwds LambdaKwds- deriving (Eq, Ord, Read, Show)--_LambdaStarEtc = Core.Name "hydra.python.syntax.LambdaStarEtc"--_LambdaStarEtc_star = Core.Name "star"--_LambdaStarEtc_paramNoDefault = Core.Name "paramNoDefault"--_LambdaStarEtc_paramMaybeDefault = Core.Name "paramMaybeDefault"--_LambdaStarEtc_kwds = Core.Name "kwds"--newtype LambdaKwds =- LambdaKwds {- unLambdaKwds :: LambdaParamNoDefault}- deriving (Eq, Ord, Read, Show)--_LambdaKwds = Core.Name "hydra.python.syntax.LambdaKwds"--newtype LambdaParamNoDefault =- LambdaParamNoDefault {- unLambdaParamNoDefault :: Name}- deriving (Eq, Ord, Read, Show)--_LambdaParamNoDefault = Core.Name "hydra.python.syntax.LambdaParamNoDefault"--data LambdaParamWithDefault =- LambdaParamWithDefault {- lambdaParamWithDefaultParam :: Name,- lambdaParamWithDefaultDefault :: (Maybe Default)}- deriving (Eq, Ord, Read, Show)--_LambdaParamWithDefault = Core.Name "hydra.python.syntax.LambdaParamWithDefault"--_LambdaParamWithDefault_param = Core.Name "param"--_LambdaParamWithDefault_default = Core.Name "default"--data LambdaParamMaybeDefault =- LambdaParamMaybeDefault {- lambdaParamMaybeDefaultParam :: Name,- lambdaParamMaybeDefaultDefault :: (Maybe Default)}- deriving (Eq, Ord, Read, Show)--_LambdaParamMaybeDefault = Core.Name "hydra.python.syntax.LambdaParamMaybeDefault"--_LambdaParamMaybeDefault_param = Core.Name "param"--_LambdaParamMaybeDefault_default = Core.Name "default"--newtype List =- List {- unList :: [StarNamedExpression]}- deriving (Eq, Ord, Read, Show)--_List = Core.Name "hydra.python.syntax.List"--newtype Tuple =- Tuple {- unTuple :: [StarNamedExpression]}- deriving (Eq, Ord, Read, Show)--_Tuple = Core.Name "hydra.python.syntax.Tuple"--newtype Set =- Set {- unSet :: [StarNamedExpression]}- deriving (Eq, Ord, Read, Show)--_Set = Core.Name "hydra.python.syntax.Set"--newtype Dict =- Dict {- unDict :: [DoubleStarredKvpair]}- deriving (Eq, Ord, Read, Show)--_Dict = Core.Name "hydra.python.syntax.Dict"--data DoubleStarredKvpair =- DoubleStarredKvpairStarred BitwiseOr |- DoubleStarredKvpairPair Kvpair- deriving (Eq, Ord, Read, Show)--_DoubleStarredKvpair = Core.Name "hydra.python.syntax.DoubleStarredKvpair"--_DoubleStarredKvpair_starred = Core.Name "starred"--_DoubleStarredKvpair_pair = Core.Name "pair"--data Kvpair =- Kvpair {- kvpairKey :: Expression,- kvpairValue :: Expression}- deriving (Eq, Ord, Read, Show)--_Kvpair = Core.Name "hydra.python.syntax.Kvpair"--_Kvpair_key = Core.Name "key"--_Kvpair_value = Core.Name "value"--newtype ForIfClauses =- ForIfClauses {- unForIfClauses :: [ForIfClause]}- deriving (Eq, Ord, Read, Show)--_ForIfClauses = Core.Name "hydra.python.syntax.ForIfClauses"--data ForIfClause =- ForIfClause {- forIfClauseAsync :: Bool,- forIfClauseTargets :: [StarTarget],- forIfClauseIn :: Disjunction,- forIfClauseIfs :: [Disjunction]}- deriving (Eq, Ord, Read, Show)--_ForIfClause = Core.Name "hydra.python.syntax.ForIfClause"--_ForIfClause_async = Core.Name "async"--_ForIfClause_targets = Core.Name "targets"--_ForIfClause_in = Core.Name "in"--_ForIfClause_ifs = Core.Name "ifs"--data Listcomp =- Listcomp {- listcompExpression :: NamedExpression,- listcompForIfClauses :: ForIfClauses}- deriving (Eq, Ord, Read, Show)--_Listcomp = Core.Name "hydra.python.syntax.Listcomp"--_Listcomp_expression = Core.Name "expression"--_Listcomp_forIfClauses = Core.Name "forIfClauses"--data Setcomp =- Setcomp {- setcompExpression :: NamedExpression,- setcompForIfClauses :: ForIfClauses}- deriving (Eq, Ord, Read, Show)--_Setcomp = Core.Name "hydra.python.syntax.Setcomp"--_Setcomp_expression = Core.Name "expression"--_Setcomp_forIfClauses = Core.Name "forIfClauses"--data Genexp =- Genexp {- genexpHead :: GenexpHead,- genexpTail :: ForIfClauses}- deriving (Eq, Ord, Read, Show)--_Genexp = Core.Name "hydra.python.syntax.Genexp"--_Genexp_head = Core.Name "head"--_Genexp_tail = Core.Name "tail"--data GenexpHead =- GenexpHeadAssignment AssignmentExpression |- GenexpHeadExpression Expression- deriving (Eq, Ord, Read, Show)--_GenexpHead = Core.Name "hydra.python.syntax.GenexpHead"--_GenexpHead_assignment = Core.Name "assignment"--_GenexpHead_expression = Core.Name "expression"--data Dictcomp =- Dictcomp {- dictcompKvpair :: Kvpair,- dictcompForIfClauses :: ForIfClauses}- deriving (Eq, Ord, Read, Show)--_Dictcomp = Core.Name "hydra.python.syntax.Dictcomp"--_Dictcomp_kvpair = Core.Name "kvpair"--_Dictcomp_forIfClauses = Core.Name "forIfClauses"--data Args =- Args {- argsPositional :: [PosArg],- argsKwargOrStarred :: [KwargOrStarred],- argsKwargOrDoubleStarred :: [KwargOrDoubleStarred]}- deriving (Eq, Ord, Read, Show)--_Args = Core.Name "hydra.python.syntax.Args"--_Args_positional = Core.Name "positional"--_Args_kwargOrStarred = Core.Name "kwargOrStarred"--_Args_kwargOrDoubleStarred = Core.Name "kwargOrDoubleStarred"--data PosArg =- PosArgStarred StarredExpression |- PosArgAssignment AssignmentExpression |- PosArgExpression Expression- deriving (Eq, Ord, Read, Show)--_PosArg = Core.Name "hydra.python.syntax.PosArg"--_PosArg_starred = Core.Name "starred"--_PosArg_assignment = Core.Name "assignment"--_PosArg_expression = Core.Name "expression"--newtype StarredExpression =- StarredExpression {- unStarredExpression :: Expression}- deriving (Eq, Ord, Read, Show)--_StarredExpression = Core.Name "hydra.python.syntax.StarredExpression"--data KwargOrStarred =- KwargOrStarredKwarg Kwarg |- KwargOrStarredStarred StarredExpression- deriving (Eq, Ord, Read, Show)--_KwargOrStarred = Core.Name "hydra.python.syntax.KwargOrStarred"--_KwargOrStarred_kwarg = Core.Name "kwarg"--_KwargOrStarred_starred = Core.Name "starred"--data Kwarg =- Kwarg {- kwargName :: Name,- kwargValue :: Expression}- deriving (Eq, Ord, Read, Show)--_Kwarg = Core.Name "hydra.python.syntax.Kwarg"--_Kwarg_name = Core.Name "name"--_Kwarg_value = Core.Name "value"--data KwargOrDoubleStarred =- KwargOrDoubleStarredKwarg Kwarg |- KwargOrDoubleStarredDoubleStarred Expression- deriving (Eq, Ord, Read, Show)--_KwargOrDoubleStarred = Core.Name "hydra.python.syntax.KwargOrDoubleStarred"--_KwargOrDoubleStarred_kwarg = Core.Name "kwarg"--_KwargOrDoubleStarred_doubleStarred = Core.Name "doubleStarred"--newtype StarTargetsListSeq =- StarTargetsListSeq {- unStarTargetsListSeq :: [StarTarget]}- deriving (Eq, Ord, Read, Show)--_StarTargetsListSeq = Core.Name "hydra.python.syntax.StarTargetsListSeq"--newtype StarTargetsTupleSeq =- StarTargetsTupleSeq {- unStarTargetsTupleSeq :: [StarTarget]}- deriving (Eq, Ord, Read, Show)--_StarTargetsTupleSeq = Core.Name "hydra.python.syntax.StarTargetsTupleSeq"--data StarTarget =- StarTargetStarred StarTarget |- StarTargetUnstarred TargetWithStarAtom- deriving (Eq, Ord, Read, Show)--_StarTarget = Core.Name "hydra.python.syntax.StarTarget"--_StarTarget_starred = Core.Name "starred"--_StarTarget_unstarred = Core.Name "unstarred"--data TargetWithStarAtom =- TargetWithStarAtomProject TPrimaryAndName |- TargetWithStarAtomSlices TPrimaryAndSlices |- TargetWithStarAtomAtom StarAtom- deriving (Eq, Ord, Read, Show)--_TargetWithStarAtom = Core.Name "hydra.python.syntax.TargetWithStarAtom"--_TargetWithStarAtom_project = Core.Name "project"--_TargetWithStarAtom_slices = Core.Name "slices"--_TargetWithStarAtom_atom = Core.Name "atom"--data TPrimaryAndName =- TPrimaryAndName {- tPrimaryAndNamePrimary :: TPrimary,- tPrimaryAndNameName :: Name}- deriving (Eq, Ord, Read, Show)--_TPrimaryAndName = Core.Name "hydra.python.syntax.TPrimaryAndName"--_TPrimaryAndName_primary = Core.Name "primary"--_TPrimaryAndName_name = Core.Name "name"--data TPrimaryAndSlices =- TPrimaryAndSlices {- tPrimaryAndSlicesPrimary :: TPrimary,- tPrimaryAndSlicesSlices :: Slices}- deriving (Eq, Ord, Read, Show)--_TPrimaryAndSlices = Core.Name "hydra.python.syntax.TPrimaryAndSlices"--_TPrimaryAndSlices_primary = Core.Name "primary"--_TPrimaryAndSlices_slices = Core.Name "slices"--data StarAtom =- StarAtomName Name |- StarAtomTargetWithStarAtom TargetWithStarAtom |- StarAtomStarTargetsTupleSeq (Maybe StarTargetsTupleSeq) |- StarAtomStarTargetsListSeq (Maybe StarTargetsListSeq)- deriving (Eq, Ord, Read, Show)--_StarAtom = Core.Name "hydra.python.syntax.StarAtom"--_StarAtom_name = Core.Name "name"--_StarAtom_targetWithStarAtom = Core.Name "targetWithStarAtom"--_StarAtom_starTargetsTupleSeq = Core.Name "starTargetsTupleSeq"--_StarAtom_starTargetsListSeq = Core.Name "starTargetsListSeq"--data SingleTarget =- SingleTargetSubscriptAttributeTarget SingleSubscriptAttributeTarget |- SingleTargetName Name |- SingleTargetParens SingleTarget- deriving (Eq, Ord, Read, Show)--_SingleTarget = Core.Name "hydra.python.syntax.SingleTarget"--_SingleTarget_subscriptAttributeTarget = Core.Name "subscriptAttributeTarget"--_SingleTarget_name = Core.Name "name"--_SingleTarget_parens = Core.Name "parens"--data SingleSubscriptAttributeTarget =- SingleSubscriptAttributeTargetPrimaryAndName TPrimaryAndName |- SingleSubscriptAttributeTargetPrimaryAndSlices TPrimaryAndSlices- deriving (Eq, Ord, Read, Show)--_SingleSubscriptAttributeTarget = Core.Name "hydra.python.syntax.SingleSubscriptAttributeTarget"--_SingleSubscriptAttributeTarget_primaryAndName = Core.Name "primaryAndName"--_SingleSubscriptAttributeTarget_primaryAndSlices = Core.Name "primaryAndSlices"--data TPrimary =- TPrimaryPrimaryAndName TPrimaryAndName |- TPrimaryPrimaryAndSlices TPrimaryAndSlices |- TPrimaryPrimaryAndGenexp TPrimaryAndGenexp |- TPrimaryPrimaryAndArguments TPrimaryAndArguments |- TPrimaryAtom Atom- deriving (Eq, Ord, Read, Show)--_TPrimary = Core.Name "hydra.python.syntax.TPrimary"--_TPrimary_primaryAndName = Core.Name "primaryAndName"--_TPrimary_primaryAndSlices = Core.Name "primaryAndSlices"--_TPrimary_primaryAndGenexp = Core.Name "primaryAndGenexp"--_TPrimary_primaryAndArguments = Core.Name "primaryAndArguments"--_TPrimary_atom = Core.Name "atom"--data TPrimaryAndGenexp =- TPrimaryAndGenexp {- tPrimaryAndGenexpPrimary :: TPrimary,- tPrimaryAndGenexpGenexp :: Genexp}- deriving (Eq, Ord, Read, Show)--_TPrimaryAndGenexp = Core.Name "hydra.python.syntax.TPrimaryAndGenexp"--_TPrimaryAndGenexp_primary = Core.Name "primary"--_TPrimaryAndGenexp_genexp = Core.Name "genexp"--data TPrimaryAndArguments =- TPrimaryAndArguments {- tPrimaryAndArgumentsPrimary :: TPrimary,- tPrimaryAndArgumentsArguments :: (Maybe Args)}- deriving (Eq, Ord, Read, Show)--_TPrimaryAndArguments = Core.Name "hydra.python.syntax.TPrimaryAndArguments"--_TPrimaryAndArguments_primary = Core.Name "primary"--_TPrimaryAndArguments_arguments = Core.Name "arguments"--newtype DelTargets =- DelTargets {- unDelTargets :: [DelTarget]}- deriving (Eq, Ord, Read, Show)--_DelTargets = Core.Name "hydra.python.syntax.DelTargets"--data DelTarget =- DelTargetPrimaryAndName TPrimaryAndName |- DelTargetPrimaryAndSlices TPrimaryAndSlices |- DelTargetDelTAtom DelTAtom- deriving (Eq, Ord, Read, Show)--_DelTarget = Core.Name "hydra.python.syntax.DelTarget"--_DelTarget_primaryAndName = Core.Name "primaryAndName"--_DelTarget_primaryAndSlices = Core.Name "primaryAndSlices"--_DelTarget_delTAtom = Core.Name "delTAtom"--data DelTAtom =- DelTAtomName Name |- DelTAtomTarget DelTarget |- DelTAtomTargets DelTargets- deriving (Eq, Ord, Read, Show)--_DelTAtom = Core.Name "hydra.python.syntax.DelTAtom"--_DelTAtom_name = Core.Name "name"--_DelTAtom_target = Core.Name "target"--_DelTAtom_targets = Core.Name "targets"--data TypeExpression =- TypeExpressionExpression Expression |- TypeExpressionStarredExpression Expression |- TypeExpressionDoubleStarredExpression Expression- deriving (Eq, Ord, Read, Show)--_TypeExpression = Core.Name "hydra.python.syntax.TypeExpression"--_TypeExpression_expression = Core.Name "expression"--_TypeExpression_starredExpression = Core.Name "starredExpression"--_TypeExpression_doubleStarredExpression = Core.Name "doubleStarredExpression"--newtype FuncTypeComment =- FuncTypeComment {- unFuncTypeComment :: TypeComment}- deriving (Eq, Ord, Read, Show)--_FuncTypeComment = Core.Name "hydra.python.syntax.FuncTypeComment"+import qualified Hydra.Core.Model as Model+import Prelude hiding (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)+import qualified Data.Scientific as Sci+import Data.Void++data AnnotatedStatement =+ AnnotatedStatement {+ annotatedStatementComment :: String,+ annotatedStatementStatement :: Statement}+ deriving (Eq, Ord, Read, Show)++_AnnotatedStatement = Model.Name "hydra.python.syntax.AnnotatedStatement"++_AnnotatedStatement_comment = Model.Name "comment"++_AnnotatedStatement_statement = Model.Name "statement"++newtype Module =+ Module {+ unModule :: [[Statement]]}+ deriving (Eq, Ord, Read, Show)++_Module = Model.Name "hydra.python.syntax.Module"++data QuoteStyle =+ QuoteStyleSingle |+ QuoteStyleDouble |+ QuoteStyleTripleSingle |+ QuoteStyleTripleDouble+ deriving (Eq, Ord, Read, Show)++_QuoteStyle = Model.Name "hydra.python.syntax.QuoteStyle"++_QuoteStyle_single = Model.Name "single"++_QuoteStyle_double = Model.Name "double"++_QuoteStyle_tripleSingle = Model.Name "tripleSingle"++_QuoteStyle_tripleDouble = Model.Name "tripleDouble"++data StringPrefix =+ StringPrefixRaw |+ StringPrefixBytes |+ StringPrefixRawBytes |+ StringPrefixUnicode+ deriving (Eq, Ord, Read, Show)++_StringPrefix = Model.Name "hydra.python.syntax.StringPrefix"++_StringPrefix_raw = Model.Name "raw"++_StringPrefix_bytes = Model.Name "bytes"++_StringPrefix_rawBytes = Model.Name "rawBytes"++_StringPrefix_unicode = Model.Name "unicode"++newtype Name =+ Name {+ unName :: String}+ deriving (Eq, Ord, Read, Show)++_Name = Model.Name "hydra.python.syntax.Name"++data Number =+ NumberInteger Integer |+ NumberFloat Double |+ NumberImaginary Double+ deriving (Eq, Ord, Read, Show)++_Number = Model.Name "hydra.python.syntax.Number"++_Number_integer = Model.Name "integer"++_Number_float = Model.Name "float"++_Number_imaginary = Model.Name "imaginary"++data String_ =+ String_ {+ stringValue :: String,+ stringPrefix :: (Maybe StringPrefix),+ stringQuoteStyle :: QuoteStyle}+ deriving (Eq, Ord, Read, Show)++_String = Model.Name "hydra.python.syntax.String"++_String_value = Model.Name "value"++_String_prefix = Model.Name "prefix"++_String_quoteStyle = Model.Name "quoteStyle"++newtype TypeComment =+ TypeComment {+ unTypeComment :: String}+ deriving (Eq, Ord, Read, Show)++_TypeComment = Model.Name "hydra.python.syntax.TypeComment"++newtype File =+ File {+ unFile :: [Statement]}+ deriving (Eq, Ord, Read, Show)++_File = Model.Name "hydra.python.syntax.File"++newtype Interactive =+ Interactive {+ unInteractive :: Statement}+ deriving (Eq, Ord, Read, Show)++_Interactive = Model.Name "hydra.python.syntax.Interactive"++newtype Eval =+ Eval {+ unEval :: [Expression]}+ deriving (Eq, Ord, Read, Show)++_Eval = Model.Name "hydra.python.syntax.Eval"++data Statement =+ StatementCompound CompoundStatement |+ StatementSimple [SimpleStatement] |+ StatementAnnotated AnnotatedStatement+ deriving (Eq, Ord, Read, Show)++_Statement = Model.Name "hydra.python.syntax.Statement"++_Statement_compound = Model.Name "compound"++_Statement_simple = Model.Name "simple"++_Statement_annotated = Model.Name "annotated"++data SimpleStatement =+ SimpleStatementAssignment Assignment |+ SimpleStatementTypeAlias TypeAlias |+ SimpleStatementStarExpressions [StarExpression] |+ SimpleStatementReturn ReturnStatement |+ SimpleStatementImport ImportStatement |+ SimpleStatementRaise RaiseStatement |+ SimpleStatementPass |+ SimpleStatementDel DelStatement |+ SimpleStatementYield YieldStatement |+ SimpleStatementAssert AssertStatement |+ SimpleStatementBreak |+ SimpleStatementContinue |+ SimpleStatementGlobal [Name] |+ SimpleStatementNonlocal [Name]+ deriving (Eq, Ord, Read, Show)++_SimpleStatement = Model.Name "hydra.python.syntax.SimpleStatement"++_SimpleStatement_assignment = Model.Name "assignment"++_SimpleStatement_typeAlias = Model.Name "typeAlias"++_SimpleStatement_starExpressions = Model.Name "starExpressions"++_SimpleStatement_return = Model.Name "return"++_SimpleStatement_import = Model.Name "import"++_SimpleStatement_raise = Model.Name "raise"++_SimpleStatement_pass = Model.Name "pass"++_SimpleStatement_del = Model.Name "del"++_SimpleStatement_yield = Model.Name "yield"++_SimpleStatement_assert = Model.Name "assert"++_SimpleStatement_break = Model.Name "break"++_SimpleStatement_continue = Model.Name "continue"++_SimpleStatement_global = Model.Name "global"++_SimpleStatement_nonlocal = Model.Name "nonlocal"++data CompoundStatement =+ CompoundStatementFunction FunctionDefinition |+ CompoundStatementIf IfStatement |+ CompoundStatementClassDef ClassDefinition |+ CompoundStatementWith WithStatement |+ CompoundStatementFor ForStatement |+ CompoundStatementTry TryStatement |+ CompoundStatementWhile WhileStatement |+ CompoundStatementMatch MatchStatement+ deriving (Eq, Ord, Read, Show)++_CompoundStatement = Model.Name "hydra.python.syntax.CompoundStatement"++_CompoundStatement_function = Model.Name "function"++_CompoundStatement_if = Model.Name "if"++_CompoundStatement_classDef = Model.Name "classDef"++_CompoundStatement_with = Model.Name "with"++_CompoundStatement_for = Model.Name "for"++_CompoundStatement_try = Model.Name "try"++_CompoundStatement_while = Model.Name "while"++_CompoundStatement_match = Model.Name "match"++data Assignment =+ AssignmentTyped TypedAssignment |+ AssignmentUntyped UntypedAssignment |+ AssignmentAug AugAssignment+ deriving (Eq, Ord, Read, Show)++_Assignment = Model.Name "hydra.python.syntax.Assignment"++_Assignment_typed = Model.Name "typed"++_Assignment_untyped = Model.Name "untyped"++_Assignment_aug = Model.Name "aug"++data TypedAssignment =+ TypedAssignment {+ typedAssignmentLhs :: SingleTarget,+ typedAssignmentType :: Expression,+ typedAssignmentRhs :: (Maybe AnnotatedRhs)}+ deriving (Eq, Ord, Read, Show)++_TypedAssignment = Model.Name "hydra.python.syntax.TypedAssignment"++_TypedAssignment_lhs = Model.Name "lhs"++_TypedAssignment_type = Model.Name "type"++_TypedAssignment_rhs = Model.Name "rhs"++data UntypedAssignment =+ UntypedAssignment {+ untypedAssignmentTargets :: [StarTarget],+ untypedAssignmentRhs :: AnnotatedRhs,+ untypedAssignmentTypeComment :: (Maybe TypeComment)}+ deriving (Eq, Ord, Read, Show)++_UntypedAssignment = Model.Name "hydra.python.syntax.UntypedAssignment"++_UntypedAssignment_targets = Model.Name "targets"++_UntypedAssignment_rhs = Model.Name "rhs"++_UntypedAssignment_typeComment = Model.Name "typeComment"++data AugAssignment =+ AugAssignment {+ augAssignmentLhs :: SingleTarget,+ augAssignmentAugassign :: AugAssign,+ augAssignmentRhs :: AnnotatedRhs}+ deriving (Eq, Ord, Read, Show)++_AugAssignment = Model.Name "hydra.python.syntax.AugAssignment"++_AugAssignment_lhs = Model.Name "lhs"++_AugAssignment_augassign = Model.Name "augassign"++_AugAssignment_rhs = Model.Name "rhs"++data AnnotatedRhs =+ AnnotatedRhsYield YieldExpression |+ AnnotatedRhsStar [StarExpression]+ deriving (Eq, Ord, Read, Show)++_AnnotatedRhs = Model.Name "hydra.python.syntax.AnnotatedRhs"++_AnnotatedRhs_yield = Model.Name "yield"++_AnnotatedRhs_star = Model.Name "star"++data AugAssign =+ AugAssignPlusEqual |+ AugAssignMinusEqual |+ AugAssignTimesEqual |+ AugAssignAtEqual |+ AugAssignSlashEqual |+ AugAssignPercentEqual |+ AugAssignAmpersandEqual |+ AugAssignBarEqual |+ AugAssignCaretEqual |+ AugAssignLeftShiftEqual |+ AugAssignRightShiftEqual |+ AugAssignStarStarEqual |+ AugAssignDoubleSlashEqual+ deriving (Eq, Ord, Read, Show)++_AugAssign = Model.Name "hydra.python.syntax.AugAssign"++_AugAssign_plusEqual = Model.Name "plusEqual"++_AugAssign_minusEqual = Model.Name "minusEqual"++_AugAssign_timesEqual = Model.Name "timesEqual"++_AugAssign_atEqual = Model.Name "atEqual"++_AugAssign_slashEqual = Model.Name "slashEqual"++_AugAssign_percentEqual = Model.Name "percentEqual"++_AugAssign_ampersandEqual = Model.Name "ampersandEqual"++_AugAssign_barEqual = Model.Name "barEqual"++_AugAssign_caretEqual = Model.Name "caretEqual"++_AugAssign_leftShiftEqual = Model.Name "leftShiftEqual"++_AugAssign_rightShiftEqual = Model.Name "rightShiftEqual"++_AugAssign_starStarEqual = Model.Name "starStarEqual"++_AugAssign_doubleSlashEqual = Model.Name "doubleSlashEqual"++newtype ReturnStatement =+ ReturnStatement {+ unReturnStatement :: [StarExpression]}+ deriving (Eq, Ord, Read, Show)++_ReturnStatement = Model.Name "hydra.python.syntax.ReturnStatement"++newtype RaiseStatement =+ RaiseStatement {+ unRaiseStatement :: (Maybe RaiseExpression)}+ deriving (Eq, Ord, Read, Show)++_RaiseStatement = Model.Name "hydra.python.syntax.RaiseStatement"++data RaiseExpression =+ RaiseExpression {+ raiseExpressionExpression :: Expression,+ raiseExpressionFrom :: (Maybe Expression)}+ deriving (Eq, Ord, Read, Show)++_RaiseExpression = Model.Name "hydra.python.syntax.RaiseExpression"++_RaiseExpression_expression = Model.Name "expression"++_RaiseExpression_from = Model.Name "from"++newtype DelStatement =+ DelStatement {+ unDelStatement :: DelTargets}+ deriving (Eq, Ord, Read, Show)++_DelStatement = Model.Name "hydra.python.syntax.DelStatement"++newtype YieldStatement =+ YieldStatement {+ unYieldStatement :: YieldExpression}+ deriving (Eq, Ord, Read, Show)++_YieldStatement = Model.Name "hydra.python.syntax.YieldStatement"++data AssertStatement =+ AssertStatement {+ assertStatementExpression1 :: Expression,+ assertStatementExpression2 :: (Maybe Expression)}+ deriving (Eq, Ord, Read, Show)++_AssertStatement = Model.Name "hydra.python.syntax.AssertStatement"++_AssertStatement_expression1 = Model.Name "expression1"++_AssertStatement_expression2 = Model.Name "expression2"++data ImportStatement =+ ImportStatementName ImportName |+ ImportStatementFrom ImportFrom+ deriving (Eq, Ord, Read, Show)++_ImportStatement = Model.Name "hydra.python.syntax.ImportStatement"++_ImportStatement_name = Model.Name "name"++_ImportStatement_from = Model.Name "from"++newtype ImportName =+ ImportName {+ unImportName :: [DottedAsName]}+ deriving (Eq, Ord, Read, Show)++_ImportName = Model.Name "hydra.python.syntax.ImportName"++data ImportFrom =+ ImportFrom {+ importFromPrefixes :: [RelativeImportPrefix],+ importFromDottedName :: (Maybe DottedName),+ importFromTargets :: ImportFromTargets}+ deriving (Eq, Ord, Read, Show)++_ImportFrom = Model.Name "hydra.python.syntax.ImportFrom"++_ImportFrom_prefixes = Model.Name "prefixes"++_ImportFrom_dottedName = Model.Name "dottedName"++_ImportFrom_targets = Model.Name "targets"++data RelativeImportPrefix =+ RelativeImportPrefixDot |+ RelativeImportPrefixEllipsis+ deriving (Eq, Ord, Read, Show)++_RelativeImportPrefix = Model.Name "hydra.python.syntax.RelativeImportPrefix"++_RelativeImportPrefix_dot = Model.Name "dot"++_RelativeImportPrefix_ellipsis = Model.Name "ellipsis"++data ImportFromTargets =+ ImportFromTargetsSimple [ImportFromAsName] |+ ImportFromTargetsParens [ImportFromAsName] |+ ImportFromTargetsStar+ deriving (Eq, Ord, Read, Show)++_ImportFromTargets = Model.Name "hydra.python.syntax.ImportFromTargets"++_ImportFromTargets_simple = Model.Name "simple"++_ImportFromTargets_parens = Model.Name "parens"++_ImportFromTargets_star = Model.Name "star"++data ImportFromAsName =+ ImportFromAsName {+ importFromAsNameName :: Name,+ importFromAsNameAs :: (Maybe Name)}+ deriving (Eq, Ord, Read, Show)++_ImportFromAsName = Model.Name "hydra.python.syntax.ImportFromAsName"++_ImportFromAsName_name = Model.Name "name"++_ImportFromAsName_as = Model.Name "as"++data DottedAsName =+ DottedAsName {+ dottedAsNameName :: DottedName,+ dottedAsNameAs :: (Maybe Name)}+ deriving (Eq, Ord, Read, Show)++_DottedAsName = Model.Name "hydra.python.syntax.DottedAsName"++_DottedAsName_name = Model.Name "name"++_DottedAsName_as = Model.Name "as"++newtype DottedName =+ DottedName {+ unDottedName :: [Name]}+ deriving (Eq, Ord, Read, Show)++_DottedName = Model.Name "hydra.python.syntax.DottedName"++data Block =+ BlockIndented [[Statement]] |+ BlockSimple [SimpleStatement]+ deriving (Eq, Ord, Read, Show)++_Block = Model.Name "hydra.python.syntax.Block"++_Block_indented = Model.Name "indented"++_Block_simple = Model.Name "simple"++newtype Decorators =+ Decorators {+ unDecorators :: [NamedExpression]}+ deriving (Eq, Ord, Read, Show)++_Decorators = Model.Name "hydra.python.syntax.Decorators"++data ClassDefinition =+ ClassDefinition {+ classDefinitionDecorators :: (Maybe Decorators),+ classDefinitionName :: Name,+ classDefinitionTypeParams :: [TypeParameter],+ classDefinitionArguments :: (Maybe Args),+ classDefinitionBody :: Block}+ deriving (Eq, Ord, Read, Show)++_ClassDefinition = Model.Name "hydra.python.syntax.ClassDefinition"++_ClassDefinition_decorators = Model.Name "decorators"++_ClassDefinition_name = Model.Name "name"++_ClassDefinition_typeParams = Model.Name "typeParams"++_ClassDefinition_arguments = Model.Name "arguments"++_ClassDefinition_body = Model.Name "body"++data FunctionDefinition =+ FunctionDefinition {+ functionDefinitionDecorators :: (Maybe Decorators),+ functionDefinitionRaw :: FunctionDefRaw}+ deriving (Eq, Ord, Read, Show)++_FunctionDefinition = Model.Name "hydra.python.syntax.FunctionDefinition"++_FunctionDefinition_decorators = Model.Name "decorators"++_FunctionDefinition_raw = Model.Name "raw"++data FunctionDefRaw =+ FunctionDefRaw {+ functionDefRawAsync :: Bool,+ functionDefRawName :: Name,+ functionDefRawTypeParams :: [TypeParameter],+ functionDefRawParams :: (Maybe Parameters),+ functionDefRawReturnType :: (Maybe Expression),+ functionDefRawFuncTypeComment :: (Maybe FuncTypeComment),+ functionDefRawBlock :: Block}+ deriving (Eq, Ord, Read, Show)++_FunctionDefRaw = Model.Name "hydra.python.syntax.FunctionDefRaw"++_FunctionDefRaw_async = Model.Name "async"++_FunctionDefRaw_name = Model.Name "name"++_FunctionDefRaw_typeParams = Model.Name "typeParams"++_FunctionDefRaw_params = Model.Name "params"++_FunctionDefRaw_returnType = Model.Name "returnType"++_FunctionDefRaw_funcTypeComment = Model.Name "funcTypeComment"++_FunctionDefRaw_block = Model.Name "block"++data Parameters =+ ParametersSlashNoDefault SlashNoDefaultParameters |+ ParametersSlashWithDefault SlashWithDefaultParameters |+ ParametersParamNoDefault ParamNoDefaultParameters |+ ParametersParamWithDefault ParamWithDefaultParameters |+ ParametersStarEtc StarEtc+ deriving (Eq, Ord, Read, Show)++_Parameters = Model.Name "hydra.python.syntax.Parameters"++_Parameters_slashNoDefault = Model.Name "slashNoDefault"++_Parameters_slashWithDefault = Model.Name "slashWithDefault"++_Parameters_paramNoDefault = Model.Name "paramNoDefault"++_Parameters_paramWithDefault = Model.Name "paramWithDefault"++_Parameters_starEtc = Model.Name "starEtc"++data SlashNoDefaultParameters =+ SlashNoDefaultParameters {+ slashNoDefaultParametersSlash :: SlashNoDefault,+ slashNoDefaultParametersParamNoDefault :: [ParamNoDefault],+ slashNoDefaultParametersParamWithDefault :: [ParamWithDefault],+ slashNoDefaultParametersStarEtc :: (Maybe StarEtc)}+ deriving (Eq, Ord, Read, Show)++_SlashNoDefaultParameters = Model.Name "hydra.python.syntax.SlashNoDefaultParameters"++_SlashNoDefaultParameters_slash = Model.Name "slash"++_SlashNoDefaultParameters_paramNoDefault = Model.Name "paramNoDefault"++_SlashNoDefaultParameters_paramWithDefault = Model.Name "paramWithDefault"++_SlashNoDefaultParameters_starEtc = Model.Name "starEtc"++data SlashWithDefaultParameters =+ SlashWithDefaultParameters {+ slashWithDefaultParametersParamNoDefault :: [ParamNoDefault],+ slashWithDefaultParametersParamWithDefault :: [ParamWithDefault],+ slashWithDefaultParametersStarEtc :: (Maybe StarEtc)}+ deriving (Eq, Ord, Read, Show)++_SlashWithDefaultParameters = Model.Name "hydra.python.syntax.SlashWithDefaultParameters"++_SlashWithDefaultParameters_paramNoDefault = Model.Name "paramNoDefault"++_SlashWithDefaultParameters_paramWithDefault = Model.Name "paramWithDefault"++_SlashWithDefaultParameters_starEtc = Model.Name "starEtc"++data ParamNoDefaultParameters =+ ParamNoDefaultParameters {+ paramNoDefaultParametersParamNoDefault :: [ParamNoDefault],+ paramNoDefaultParametersParamWithDefault :: [ParamWithDefault],+ paramNoDefaultParametersStarEtc :: (Maybe StarEtc)}+ deriving (Eq, Ord, Read, Show)++_ParamNoDefaultParameters = Model.Name "hydra.python.syntax.ParamNoDefaultParameters"++_ParamNoDefaultParameters_paramNoDefault = Model.Name "paramNoDefault"++_ParamNoDefaultParameters_paramWithDefault = Model.Name "paramWithDefault"++_ParamNoDefaultParameters_starEtc = Model.Name "starEtc"++data ParamWithDefaultParameters =+ ParamWithDefaultParameters {+ paramWithDefaultParametersParamWithDefault :: [ParamWithDefault],+ paramWithDefaultParametersStarEtc :: (Maybe StarEtc)}+ deriving (Eq, Ord, Read, Show)++_ParamWithDefaultParameters = Model.Name "hydra.python.syntax.ParamWithDefaultParameters"++_ParamWithDefaultParameters_paramWithDefault = Model.Name "paramWithDefault"++_ParamWithDefaultParameters_starEtc = Model.Name "starEtc"++newtype SlashNoDefault =+ SlashNoDefault {+ unSlashNoDefault :: [ParamNoDefault]}+ deriving (Eq, Ord, Read, Show)++_SlashNoDefault = Model.Name "hydra.python.syntax.SlashNoDefault"++data SlashWithDefault =+ SlashWithDefault {+ slashWithDefaultParamNoDefault :: [ParamNoDefault],+ slashWithDefaultParamWithDefault :: [ParamWithDefault]}+ deriving (Eq, Ord, Read, Show)++_SlashWithDefault = Model.Name "hydra.python.syntax.SlashWithDefault"++_SlashWithDefault_paramNoDefault = Model.Name "paramNoDefault"++_SlashWithDefault_paramWithDefault = Model.Name "paramWithDefault"++data StarEtc =+ StarEtcStarNoDefault NoDefaultStarEtc |+ StarEtcStarNoDefaultStarAnnotation NoDefaultStarAnnotationStarEtc |+ StarEtcStarComma CommaStarEtc |+ StarEtcKeywords Keywords+ deriving (Eq, Ord, Read, Show)++_StarEtc = Model.Name "hydra.python.syntax.StarEtc"++_StarEtc_starNoDefault = Model.Name "starNoDefault"++_StarEtc_starNoDefaultStarAnnotation = Model.Name "starNoDefaultStarAnnotation"++_StarEtc_starComma = Model.Name "starComma"++_StarEtc_keywords = Model.Name "keywords"++data NoDefaultStarEtc =+ NoDefaultStarEtc {+ noDefaultStarEtcParamNoDefault :: ParamNoDefault,+ noDefaultStarEtcParamMaybeDefault :: [ParamMaybeDefault],+ noDefaultStarEtcKeywords :: (Maybe Keywords)}+ deriving (Eq, Ord, Read, Show)++_NoDefaultStarEtc = Model.Name "hydra.python.syntax.NoDefaultStarEtc"++_NoDefaultStarEtc_paramNoDefault = Model.Name "paramNoDefault"++_NoDefaultStarEtc_paramMaybeDefault = Model.Name "paramMaybeDefault"++_NoDefaultStarEtc_keywords = Model.Name "keywords"++data NoDefaultStarAnnotationStarEtc =+ NoDefaultStarAnnotationStarEtc {+ noDefaultStarAnnotationStarEtcParamNoDefaultStarAnnotation :: ParamNoDefaultStarAnnotation,+ noDefaultStarAnnotationStarEtcParamMaybeDefault :: [ParamMaybeDefault],+ noDefaultStarAnnotationStarEtcKeywords :: (Maybe Keywords)}+ deriving (Eq, Ord, Read, Show)++_NoDefaultStarAnnotationStarEtc = Model.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"++_NoDefaultStarAnnotationStarEtc_paramNoDefaultStarAnnotation = Model.Name "paramNoDefaultStarAnnotation"++_NoDefaultStarAnnotationStarEtc_paramMaybeDefault = Model.Name "paramMaybeDefault"++_NoDefaultStarAnnotationStarEtc_keywords = Model.Name "keywords"++data CommaStarEtc =+ CommaStarEtc {+ commaStarEtcParamMaybeDefault :: [ParamMaybeDefault],+ commaStarEtcKeywords :: (Maybe Keywords)}+ deriving (Eq, Ord, Read, Show)++_CommaStarEtc = Model.Name "hydra.python.syntax.CommaStarEtc"++_CommaStarEtc_paramMaybeDefault = Model.Name "paramMaybeDefault"++_CommaStarEtc_keywords = Model.Name "keywords"++newtype Keywords =+ Keywords {+ unKeywords :: ParamNoDefault}+ deriving (Eq, Ord, Read, Show)++_Keywords = Model.Name "hydra.python.syntax.Keywords"++data ParamNoDefault =+ ParamNoDefault {+ paramNoDefaultParam :: Param,+ paramNoDefaultTypeComment :: (Maybe TypeComment)}+ deriving (Eq, Ord, Read, Show)++_ParamNoDefault = Model.Name "hydra.python.syntax.ParamNoDefault"++_ParamNoDefault_param = Model.Name "param"++_ParamNoDefault_typeComment = Model.Name "typeComment"++data ParamNoDefaultStarAnnotation =+ ParamNoDefaultStarAnnotation {+ paramNoDefaultStarAnnotationParamStarAnnotation :: ParamStarAnnotation,+ paramNoDefaultStarAnnotationTypeComment :: (Maybe TypeComment)}+ deriving (Eq, Ord, Read, Show)++_ParamNoDefaultStarAnnotation = Model.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation"++_ParamNoDefaultStarAnnotation_paramStarAnnotation = Model.Name "paramStarAnnotation"++_ParamNoDefaultStarAnnotation_typeComment = Model.Name "typeComment"++data ParamWithDefault =+ ParamWithDefault {+ paramWithDefaultParam :: Param,+ paramWithDefaultDefault :: Default,+ paramWithDefaultTypeComment :: (Maybe TypeComment)}+ deriving (Eq, Ord, Read, Show)++_ParamWithDefault = Model.Name "hydra.python.syntax.ParamWithDefault"++_ParamWithDefault_param = Model.Name "param"++_ParamWithDefault_default = Model.Name "default"++_ParamWithDefault_typeComment = Model.Name "typeComment"++data ParamMaybeDefault =+ ParamMaybeDefault {+ paramMaybeDefaultParam :: Param,+ paramMaybeDefaultDefault :: (Maybe Default),+ paramMaybeDefaultTypeComment :: (Maybe TypeComment)}+ deriving (Eq, Ord, Read, Show)++_ParamMaybeDefault = Model.Name "hydra.python.syntax.ParamMaybeDefault"++_ParamMaybeDefault_param = Model.Name "param"++_ParamMaybeDefault_default = Model.Name "default"++_ParamMaybeDefault_typeComment = Model.Name "typeComment"++data Param =+ Param {+ paramName :: Name,+ paramAnnotation :: (Maybe Annotation)}+ deriving (Eq, Ord, Read, Show)++_Param = Model.Name "hydra.python.syntax.Param"++_Param_name = Model.Name "name"++_Param_annotation = Model.Name "annotation"++data ParamStarAnnotation =+ ParamStarAnnotation {+ paramStarAnnotationName :: Name,+ paramStarAnnotationAnnotation :: StarAnnotation}+ deriving (Eq, Ord, Read, Show)++_ParamStarAnnotation = Model.Name "hydra.python.syntax.ParamStarAnnotation"++_ParamStarAnnotation_name = Model.Name "name"++_ParamStarAnnotation_annotation = Model.Name "annotation"++newtype Annotation =+ Annotation {+ unAnnotation :: Expression}+ deriving (Eq, Ord, Read, Show)++_Annotation = Model.Name "hydra.python.syntax.Annotation"++newtype StarAnnotation =+ StarAnnotation {+ unStarAnnotation :: StarExpression}+ deriving (Eq, Ord, Read, Show)++_StarAnnotation = Model.Name "hydra.python.syntax.StarAnnotation"++newtype Default =+ Default {+ unDefault :: Expression}+ deriving (Eq, Ord, Read, Show)++_Default = Model.Name "hydra.python.syntax.Default"++data IfStatement =+ IfStatement {+ ifStatementCondition :: NamedExpression,+ ifStatementBody :: Block,+ ifStatementContinuation :: (Maybe IfTail)}+ deriving (Eq, Ord, Read, Show)++_IfStatement = Model.Name "hydra.python.syntax.IfStatement"++_IfStatement_condition = Model.Name "condition"++_IfStatement_body = Model.Name "body"++_IfStatement_continuation = Model.Name "continuation"++data IfTail =+ IfTailElif IfStatement |+ IfTailElse Block+ deriving (Eq, Ord, Read, Show)++_IfTail = Model.Name "hydra.python.syntax.IfTail"++_IfTail_elif = Model.Name "elif"++_IfTail_else = Model.Name "else"++data WhileStatement =+ WhileStatement {+ whileStatementCondition :: NamedExpression,+ whileStatementBody :: Block,+ whileStatementElse :: (Maybe Block)}+ deriving (Eq, Ord, Read, Show)++_WhileStatement = Model.Name "hydra.python.syntax.WhileStatement"++_WhileStatement_condition = Model.Name "condition"++_WhileStatement_body = Model.Name "body"++_WhileStatement_else = Model.Name "else"++data ForStatement =+ ForStatement {+ forStatementAsync :: Bool,+ forStatementTargets :: [StarTarget],+ forStatementExpressions :: [StarExpression],+ forStatementTypeComment :: (Maybe TypeComment),+ forStatementBody :: Block,+ forStatementElse :: (Maybe Block)}+ deriving (Eq, Ord, Read, Show)++_ForStatement = Model.Name "hydra.python.syntax.ForStatement"++_ForStatement_async = Model.Name "async"++_ForStatement_targets = Model.Name "targets"++_ForStatement_expressions = Model.Name "expressions"++_ForStatement_typeComment = Model.Name "typeComment"++_ForStatement_body = Model.Name "body"++_ForStatement_else = Model.Name "else"++data WithStatement =+ WithStatement {+ withStatementAsync :: Bool,+ withStatementItems :: [WithItem],+ withStatementTypeComment :: (Maybe TypeComment),+ withStatementBody :: Block}+ deriving (Eq, Ord, Read, Show)++_WithStatement = Model.Name "hydra.python.syntax.WithStatement"++_WithStatement_async = Model.Name "async"++_WithStatement_items = Model.Name "items"++_WithStatement_typeComment = Model.Name "typeComment"++_WithStatement_body = Model.Name "body"++data WithItem =+ WithItem {+ withItemExpression :: Expression,+ withItemAs :: (Maybe StarTarget)}+ deriving (Eq, Ord, Read, Show)++_WithItem = Model.Name "hydra.python.syntax.WithItem"++_WithItem_expression = Model.Name "expression"++_WithItem_as = Model.Name "as"++data TryStatement =+ TryStatementFinally TryFinallyStatement |+ TryStatementExcept TryExceptStatement |+ TryStatementExceptStar TryExceptStarStatement+ deriving (Eq, Ord, Read, Show)++_TryStatement = Model.Name "hydra.python.syntax.TryStatement"++_TryStatement_finally = Model.Name "finally"++_TryStatement_except = Model.Name "except"++_TryStatement_exceptStar = Model.Name "exceptStar"++data TryFinallyStatement =+ TryFinallyStatement {+ tryFinallyStatementBody :: Block,+ tryFinallyStatementFinally :: Block}+ deriving (Eq, Ord, Read, Show)++_TryFinallyStatement = Model.Name "hydra.python.syntax.TryFinallyStatement"++_TryFinallyStatement_body = Model.Name "body"++_TryFinallyStatement_finally = Model.Name "finally"++data TryExceptStatement =+ TryExceptStatement {+ tryExceptStatementBody :: Block,+ tryExceptStatementExcepts :: [ExceptBlock],+ tryExceptStatementElse :: (Maybe Block),+ tryExceptStatementFinally :: (Maybe Block)}+ deriving (Eq, Ord, Read, Show)++_TryExceptStatement = Model.Name "hydra.python.syntax.TryExceptStatement"++_TryExceptStatement_body = Model.Name "body"++_TryExceptStatement_excepts = Model.Name "excepts"++_TryExceptStatement_else = Model.Name "else"++_TryExceptStatement_finally = Model.Name "finally"++data TryExceptStarStatement =+ TryExceptStarStatement {+ tryExceptStarStatementBody :: Block,+ tryExceptStarStatementExcepts :: [ExceptStarBlock],+ tryExceptStarStatementElse :: (Maybe Block),+ tryExceptStarStatementFinally :: (Maybe Block)}+ deriving (Eq, Ord, Read, Show)++_TryExceptStarStatement = Model.Name "hydra.python.syntax.TryExceptStarStatement"++_TryExceptStarStatement_body = Model.Name "body"++_TryExceptStarStatement_excepts = Model.Name "excepts"++_TryExceptStarStatement_else = Model.Name "else"++_TryExceptStarStatement_finally = Model.Name "finally"++data ExceptBlock =+ ExceptBlock {+ exceptBlockExpression :: (Maybe ExceptExpression),+ exceptBlockBody :: Block}+ deriving (Eq, Ord, Read, Show)++_ExceptBlock = Model.Name "hydra.python.syntax.ExceptBlock"++_ExceptBlock_expression = Model.Name "expression"++_ExceptBlock_body = Model.Name "body"++data ExceptExpression =+ ExceptExpression {+ exceptExpressionExpression :: Expression,+ exceptExpressionAs :: (Maybe Name)}+ deriving (Eq, Ord, Read, Show)++_ExceptExpression = Model.Name "hydra.python.syntax.ExceptExpression"++_ExceptExpression_expression = Model.Name "expression"++_ExceptExpression_as = Model.Name "as"++data ExceptStarBlock =+ ExceptStarBlock {+ exceptStarBlockExpression :: Expression,+ exceptStarBlockAs :: (Maybe Name),+ exceptStarBlockBody :: Block}+ deriving (Eq, Ord, Read, Show)++_ExceptStarBlock = Model.Name "hydra.python.syntax.ExceptStarBlock"++_ExceptStarBlock_expression = Model.Name "expression"++_ExceptStarBlock_as = Model.Name "as"++_ExceptStarBlock_body = Model.Name "body"++data MatchStatement =+ MatchStatement {+ matchStatementSubject :: SubjectExpression,+ matchStatementCases :: [CaseBlock]}+ deriving (Eq, Ord, Read, Show)++_MatchStatement = Model.Name "hydra.python.syntax.MatchStatement"++_MatchStatement_subject = Model.Name "subject"++_MatchStatement_cases = Model.Name "cases"++data SubjectExpression =+ SubjectExpressionTuple [StarNamedExpression] |+ SubjectExpressionSimple NamedExpression+ deriving (Eq, Ord, Read, Show)++_SubjectExpression = Model.Name "hydra.python.syntax.SubjectExpression"++_SubjectExpression_tuple = Model.Name "tuple"++_SubjectExpression_simple = Model.Name "simple"++data CaseBlock =+ CaseBlock {+ caseBlockPatterns :: Patterns,+ caseBlockGuard :: (Maybe Guard),+ caseBlockBody :: Block}+ deriving (Eq, Ord, Read, Show)++_CaseBlock = Model.Name "hydra.python.syntax.CaseBlock"++_CaseBlock_patterns = Model.Name "patterns"++_CaseBlock_guard = Model.Name "guard"++_CaseBlock_body = Model.Name "body"++newtype Guard =+ Guard {+ unGuard :: NamedExpression}+ deriving (Eq, Ord, Read, Show)++_Guard = Model.Name "hydra.python.syntax.Guard"++data Patterns =+ PatternsSequence OpenSequencePattern |+ PatternsPattern Pattern+ deriving (Eq, Ord, Read, Show)++_Patterns = Model.Name "hydra.python.syntax.Patterns"++_Patterns_sequence = Model.Name "sequence"++_Patterns_pattern = Model.Name "pattern"++data Pattern =+ PatternAs AsPattern |+ PatternOr OrPattern+ deriving (Eq, Ord, Read, Show)++_Pattern = Model.Name "hydra.python.syntax.Pattern"++_Pattern_as = Model.Name "as"++_Pattern_or = Model.Name "or"++data AsPattern =+ AsPattern {+ asPatternPattern :: OrPattern,+ asPatternAs :: PatternCaptureTarget}+ deriving (Eq, Ord, Read, Show)++_AsPattern = Model.Name "hydra.python.syntax.AsPattern"++_AsPattern_pattern = Model.Name "pattern"++_AsPattern_as = Model.Name "as"++newtype OrPattern =+ OrPattern {+ unOrPattern :: [ClosedPattern]}+ deriving (Eq, Ord, Read, Show)++_OrPattern = Model.Name "hydra.python.syntax.OrPattern"++data ClosedPattern =+ ClosedPatternLiteral LiteralExpression |+ ClosedPatternCapture CapturePattern |+ ClosedPatternWildcard |+ ClosedPatternValue ValuePattern |+ ClosedPatternGroup GroupPattern |+ ClosedPatternSequence SequencePattern |+ ClosedPatternMapping MappingPattern |+ ClosedPatternClass ClassPattern+ deriving (Eq, Ord, Read, Show)++_ClosedPattern = Model.Name "hydra.python.syntax.ClosedPattern"++_ClosedPattern_literal = Model.Name "literal"++_ClosedPattern_capture = Model.Name "capture"++_ClosedPattern_wildcard = Model.Name "wildcard"++_ClosedPattern_value = Model.Name "value"++_ClosedPattern_group = Model.Name "group"++_ClosedPattern_sequence = Model.Name "sequence"++_ClosedPattern_mapping = Model.Name "mapping"++_ClosedPattern_class = Model.Name "class"++data LiteralExpression =+ LiteralExpressionNumber SignedNumber |+ LiteralExpressionComplex ComplexNumber |+ LiteralExpressionString String_ |+ LiteralExpressionNone |+ LiteralExpressionTrue |+ LiteralExpressionFalse+ deriving (Eq, Ord, Read, Show)++_LiteralExpression = Model.Name "hydra.python.syntax.LiteralExpression"++_LiteralExpression_number = Model.Name "number"++_LiteralExpression_complex = Model.Name "complex"++_LiteralExpression_string = Model.Name "string"++_LiteralExpression_none = Model.Name "none"++_LiteralExpression_true = Model.Name "true"++_LiteralExpression_false = Model.Name "false"++data ComplexNumber =+ ComplexNumber {+ complexNumberReal :: SignedRealNumber,+ complexNumberPlusOrMinus :: PlusOrMinus,+ complexNumberImaginary :: ImaginaryNumber}+ deriving (Eq, Ord, Read, Show)++_ComplexNumber = Model.Name "hydra.python.syntax.ComplexNumber"++_ComplexNumber_real = Model.Name "real"++_ComplexNumber_plusOrMinus = Model.Name "plusOrMinus"++_ComplexNumber_imaginary = Model.Name "imaginary"++data PlusOrMinus =+ PlusOrMinusPlus |+ PlusOrMinusMinus+ deriving (Eq, Ord, Read, Show)++_PlusOrMinus = Model.Name "hydra.python.syntax.PlusOrMinus"++_PlusOrMinus_plus = Model.Name "plus"++_PlusOrMinus_minus = Model.Name "minus"++data SignedNumber =+ SignedNumberSign PlusOrMinus |+ SignedNumberNumber Number+ deriving (Eq, Ord, Read, Show)++_SignedNumber = Model.Name "hydra.python.syntax.SignedNumber"++_SignedNumber_sign = Model.Name "sign"++_SignedNumber_number = Model.Name "number"++data SignedRealNumber =+ SignedRealNumberSign PlusOrMinus |+ SignedRealNumberNumber RealNumber+ deriving (Eq, Ord, Read, Show)++_SignedRealNumber = Model.Name "hydra.python.syntax.SignedRealNumber"++_SignedRealNumber_sign = Model.Name "sign"++_SignedRealNumber_number = Model.Name "number"++data RealNumber =+ RealNumberInteger Integer |+ RealNumberFloat Double+ deriving (Eq, Ord, Read, Show)++_RealNumber = Model.Name "hydra.python.syntax.RealNumber"++_RealNumber_integer = Model.Name "integer"++_RealNumber_float = Model.Name "float"++newtype ImaginaryNumber =+ ImaginaryNumber {+ unImaginaryNumber :: Double}+ deriving (Eq, Ord, Read, Show)++_ImaginaryNumber = Model.Name "hydra.python.syntax.ImaginaryNumber"++newtype CapturePattern =+ CapturePattern {+ unCapturePattern :: PatternCaptureTarget}+ deriving (Eq, Ord, Read, Show)++_CapturePattern = Model.Name "hydra.python.syntax.CapturePattern"++newtype PatternCaptureTarget =+ PatternCaptureTarget {+ unPatternCaptureTarget :: Name}+ deriving (Eq, Ord, Read, Show)++_PatternCaptureTarget = Model.Name "hydra.python.syntax.PatternCaptureTarget"++newtype ValuePattern =+ ValuePattern {+ unValuePattern :: Attribute}+ deriving (Eq, Ord, Read, Show)++_ValuePattern = Model.Name "hydra.python.syntax.ValuePattern"++newtype Attribute =+ Attribute {+ unAttribute :: [Name]}+ deriving (Eq, Ord, Read, Show)++_Attribute = Model.Name "hydra.python.syntax.Attribute"++newtype NameOrAttribute =+ NameOrAttribute {+ unNameOrAttribute :: [Name]}+ deriving (Eq, Ord, Read, Show)++_NameOrAttribute = Model.Name "hydra.python.syntax.NameOrAttribute"++newtype GroupPattern =+ GroupPattern {+ unGroupPattern :: Pattern}+ deriving (Eq, Ord, Read, Show)++_GroupPattern = Model.Name "hydra.python.syntax.GroupPattern"++data SequencePattern =+ SequencePatternList (Maybe MaybeSequencePattern) |+ SequencePatternTuple (Maybe OpenSequencePattern)+ deriving (Eq, Ord, Read, Show)++_SequencePattern = Model.Name "hydra.python.syntax.SequencePattern"++_SequencePattern_list = Model.Name "list"++_SequencePattern_tuple = Model.Name "tuple"++data OpenSequencePattern =+ OpenSequencePattern {+ openSequencePatternHead :: MaybeStarPattern,+ openSequencePatternTail :: (Maybe MaybeSequencePattern)}+ deriving (Eq, Ord, Read, Show)++_OpenSequencePattern = Model.Name "hydra.python.syntax.OpenSequencePattern"++_OpenSequencePattern_head = Model.Name "head"++_OpenSequencePattern_tail = Model.Name "tail"++newtype MaybeSequencePattern =+ MaybeSequencePattern {+ unMaybeSequencePattern :: [MaybeStarPattern]}+ deriving (Eq, Ord, Read, Show)++_MaybeSequencePattern = Model.Name "hydra.python.syntax.MaybeSequencePattern"++data MaybeStarPattern =+ MaybeStarPatternStar StarPattern |+ MaybeStarPatternPattern Pattern+ deriving (Eq, Ord, Read, Show)++_MaybeStarPattern = Model.Name "hydra.python.syntax.MaybeStarPattern"++_MaybeStarPattern_star = Model.Name "star"++_MaybeStarPattern_pattern = Model.Name "pattern"++data StarPattern =+ StarPatternCapture PatternCaptureTarget |+ StarPatternWildcard+ deriving (Eq, Ord, Read, Show)++_StarPattern = Model.Name "hydra.python.syntax.StarPattern"++_StarPattern_capture = Model.Name "capture"++_StarPattern_wildcard = Model.Name "wildcard"++data MappingPattern =+ MappingPattern {+ mappingPatternItems :: (Maybe ItemsPattern),+ mappingPatternDoubleStar :: (Maybe DoubleStarPattern)}+ deriving (Eq, Ord, Read, Show)++_MappingPattern = Model.Name "hydra.python.syntax.MappingPattern"++_MappingPattern_items = Model.Name "items"++_MappingPattern_doubleStar = Model.Name "doubleStar"++newtype ItemsPattern =+ ItemsPattern {+ unItemsPattern :: [KeyValuePattern]}+ deriving (Eq, Ord, Read, Show)++_ItemsPattern = Model.Name "hydra.python.syntax.ItemsPattern"++data KeyValuePattern =+ KeyValuePattern {+ keyValuePatternKey :: LiteralExpressionOrAttribute,+ keyValuePatternValue :: Pattern}+ deriving (Eq, Ord, Read, Show)++_KeyValuePattern = Model.Name "hydra.python.syntax.KeyValuePattern"++_KeyValuePattern_key = Model.Name "key"++_KeyValuePattern_value = Model.Name "value"++data LiteralExpressionOrAttribute =+ LiteralExpressionOrAttributeLiteral LiteralExpression |+ LiteralExpressionOrAttributeAttribute Attribute+ deriving (Eq, Ord, Read, Show)++_LiteralExpressionOrAttribute = Model.Name "hydra.python.syntax.LiteralExpressionOrAttribute"++_LiteralExpressionOrAttribute_literal = Model.Name "literal"++_LiteralExpressionOrAttribute_attribute = Model.Name "attribute"++newtype DoubleStarPattern =+ DoubleStarPattern {+ unDoubleStarPattern :: PatternCaptureTarget}+ deriving (Eq, Ord, Read, Show)++_DoubleStarPattern = Model.Name "hydra.python.syntax.DoubleStarPattern"++data ClassPattern =+ ClassPattern {+ classPatternNameOrAttribute :: NameOrAttribute,+ classPatternPositionalPatterns :: (Maybe PositionalPatterns),+ classPatternKeywordPatterns :: (Maybe KeywordPatterns)}+ deriving (Eq, Ord, Read, Show)++_ClassPattern = Model.Name "hydra.python.syntax.ClassPattern"++_ClassPattern_nameOrAttribute = Model.Name "nameOrAttribute"++_ClassPattern_positionalPatterns = Model.Name "positionalPatterns"++_ClassPattern_keywordPatterns = Model.Name "keywordPatterns"++newtype PositionalPatterns =+ PositionalPatterns {+ unPositionalPatterns :: [Pattern]}+ deriving (Eq, Ord, Read, Show)++_PositionalPatterns = Model.Name "hydra.python.syntax.PositionalPatterns"++newtype KeywordPatterns =+ KeywordPatterns {+ unKeywordPatterns :: [KeywordPattern]}+ deriving (Eq, Ord, Read, Show)++_KeywordPatterns = Model.Name "hydra.python.syntax.KeywordPatterns"++data KeywordPattern =+ KeywordPattern {+ keywordPatternName :: Name,+ keywordPatternPattern :: Pattern}+ deriving (Eq, Ord, Read, Show)++_KeywordPattern = Model.Name "hydra.python.syntax.KeywordPattern"++_KeywordPattern_name = Model.Name "name"++_KeywordPattern_pattern = Model.Name "pattern"++data TypeAlias =+ TypeAlias {+ typeAliasName :: Name,+ typeAliasTypeParams :: [TypeParameter],+ typeAliasExpression :: Expression}+ deriving (Eq, Ord, Read, Show)++_TypeAlias = Model.Name "hydra.python.syntax.TypeAlias"++_TypeAlias_name = Model.Name "name"++_TypeAlias_typeParams = Model.Name "typeParams"++_TypeAlias_expression = Model.Name "expression"++data TypeParameter =+ TypeParameterSimple SimpleTypeParameter |+ TypeParameterStar StarTypeParameter |+ TypeParameterDoubleStar DoubleStarTypeParameter+ deriving (Eq, Ord, Read, Show)++_TypeParameter = Model.Name "hydra.python.syntax.TypeParameter"++_TypeParameter_simple = Model.Name "simple"++_TypeParameter_star = Model.Name "star"++_TypeParameter_doubleStar = Model.Name "doubleStar"++data SimpleTypeParameter =+ SimpleTypeParameter {+ simpleTypeParameterName :: Name,+ simpleTypeParameterBound :: (Maybe Expression),+ simpleTypeParameterDefault :: (Maybe Expression)}+ deriving (Eq, Ord, Read, Show)++_SimpleTypeParameter = Model.Name "hydra.python.syntax.SimpleTypeParameter"++_SimpleTypeParameter_name = Model.Name "name"++_SimpleTypeParameter_bound = Model.Name "bound"++_SimpleTypeParameter_default = Model.Name "default"++data StarTypeParameter =+ StarTypeParameter {+ starTypeParameterName :: Name,+ starTypeParameterDefault :: (Maybe StarExpression)}+ deriving (Eq, Ord, Read, Show)++_StarTypeParameter = Model.Name "hydra.python.syntax.StarTypeParameter"++_StarTypeParameter_name = Model.Name "name"++_StarTypeParameter_default = Model.Name "default"++data DoubleStarTypeParameter =+ DoubleStarTypeParameter {+ doubleStarTypeParameterName :: Name,+ doubleStarTypeParameterDefault :: (Maybe Expression)}+ deriving (Eq, Ord, Read, Show)++_DoubleStarTypeParameter = Model.Name "hydra.python.syntax.DoubleStarTypeParameter"++_DoubleStarTypeParameter_name = Model.Name "name"++_DoubleStarTypeParameter_default = Model.Name "default"++data Expression =+ ExpressionConditional Conditional |+ ExpressionSimple Disjunction |+ ExpressionLambda Lambda+ deriving (Eq, Ord, Read, Show)++_Expression = Model.Name "hydra.python.syntax.Expression"++_Expression_conditional = Model.Name "conditional"++_Expression_simple = Model.Name "simple"++_Expression_lambda = Model.Name "lambda"++data Conditional =+ Conditional {+ conditionalBody :: Disjunction,+ conditionalIf :: Disjunction,+ conditionalElse :: Expression}+ deriving (Eq, Ord, Read, Show)++_Conditional = Model.Name "hydra.python.syntax.Conditional"++_Conditional_body = Model.Name "body"++_Conditional_if = Model.Name "if"++_Conditional_else = Model.Name "else"++data YieldExpression =+ YieldExpressionFrom Expression |+ YieldExpressionSimple [StarExpression]+ deriving (Eq, Ord, Read, Show)++_YieldExpression = Model.Name "hydra.python.syntax.YieldExpression"++_YieldExpression_from = Model.Name "from"++_YieldExpression_simple = Model.Name "simple"++data StarExpression =+ StarExpressionStar BitwiseOr |+ StarExpressionSimple Expression+ deriving (Eq, Ord, Read, Show)++_StarExpression = Model.Name "hydra.python.syntax.StarExpression"++_StarExpression_star = Model.Name "star"++_StarExpression_simple = Model.Name "simple"++newtype StarNamedExpressions =+ StarNamedExpressions {+ unStarNamedExpressions :: [StarNamedExpression]}+ deriving (Eq, Ord, Read, Show)++_StarNamedExpressions = Model.Name "hydra.python.syntax.StarNamedExpressions"++data StarNamedExpression =+ StarNamedExpressionStar BitwiseOr |+ StarNamedExpressionSimple NamedExpression+ deriving (Eq, Ord, Read, Show)++_StarNamedExpression = Model.Name "hydra.python.syntax.StarNamedExpression"++_StarNamedExpression_star = Model.Name "star"++_StarNamedExpression_simple = Model.Name "simple"++data AssignmentExpression =+ AssignmentExpression {+ assignmentExpressionName :: Name,+ assignmentExpressionExpression :: Expression}+ deriving (Eq, Ord, Read, Show)++_AssignmentExpression = Model.Name "hydra.python.syntax.AssignmentExpression"++_AssignmentExpression_name = Model.Name "name"++_AssignmentExpression_expression = Model.Name "expression"++data NamedExpression =+ NamedExpressionAssignment AssignmentExpression |+ NamedExpressionSimple Expression+ deriving (Eq, Ord, Read, Show)++_NamedExpression = Model.Name "hydra.python.syntax.NamedExpression"++_NamedExpression_assignment = Model.Name "assignment"++_NamedExpression_simple = Model.Name "simple"++newtype Disjunction =+ Disjunction {+ unDisjunction :: [Conjunction]}+ deriving (Eq, Ord, Read, Show)++_Disjunction = Model.Name "hydra.python.syntax.Disjunction"++newtype Conjunction =+ Conjunction {+ unConjunction :: [Inversion]}+ deriving (Eq, Ord, Read, Show)++_Conjunction = Model.Name "hydra.python.syntax.Conjunction"++data Inversion =+ InversionNot Inversion |+ InversionSimple Comparison+ deriving (Eq, Ord, Read, Show)++_Inversion = Model.Name "hydra.python.syntax.Inversion"++_Inversion_not = Model.Name "not"++_Inversion_simple = Model.Name "simple"++data Comparison =+ Comparison {+ comparisonLhs :: BitwiseOr,+ comparisonRhs :: [CompareOpBitwiseOrPair]}+ deriving (Eq, Ord, Read, Show)++_Comparison = Model.Name "hydra.python.syntax.Comparison"++_Comparison_lhs = Model.Name "lhs"++_Comparison_rhs = Model.Name "rhs"++data CompareOpBitwiseOrPair =+ CompareOpBitwiseOrPair {+ compareOpBitwiseOrPairOperator :: CompareOp,+ compareOpBitwiseOrPairRhs :: BitwiseOr}+ deriving (Eq, Ord, Read, Show)++_CompareOpBitwiseOrPair = Model.Name "hydra.python.syntax.CompareOpBitwiseOrPair"++_CompareOpBitwiseOrPair_operator = Model.Name "operator"++_CompareOpBitwiseOrPair_rhs = Model.Name "rhs"++data CompareOp =+ CompareOpEq |+ CompareOpNoteq |+ CompareOpLte |+ CompareOpLt |+ CompareOpGte |+ CompareOpGt |+ CompareOpNotin |+ CompareOpIn |+ CompareOpIsnot |+ CompareOpIs+ deriving (Eq, Ord, Read, Show)++_CompareOp = Model.Name "hydra.python.syntax.CompareOp"++_CompareOp_eq = Model.Name "eq"++_CompareOp_noteq = Model.Name "noteq"++_CompareOp_lte = Model.Name "lte"++_CompareOp_lt = Model.Name "lt"++_CompareOp_gte = Model.Name "gte"++_CompareOp_gt = Model.Name "gt"++_CompareOp_notin = Model.Name "notin"++_CompareOp_in = Model.Name "in"++_CompareOp_isnot = Model.Name "isnot"++_CompareOp_is = Model.Name "is"++data BitwiseOr =+ BitwiseOr {+ bitwiseOrLhs :: (Maybe BitwiseOr),+ bitwiseOrRhs :: BitwiseXor}+ deriving (Eq, Ord, Read, Show)++_BitwiseOr = Model.Name "hydra.python.syntax.BitwiseOr"++_BitwiseOr_lhs = Model.Name "lhs"++_BitwiseOr_rhs = Model.Name "rhs"++data BitwiseXor =+ BitwiseXor {+ bitwiseXorLhs :: (Maybe BitwiseXor),+ bitwiseXorRhs :: BitwiseAnd}+ deriving (Eq, Ord, Read, Show)++_BitwiseXor = Model.Name "hydra.python.syntax.BitwiseXor"++_BitwiseXor_lhs = Model.Name "lhs"++_BitwiseXor_rhs = Model.Name "rhs"++data BitwiseAnd =+ BitwiseAnd {+ bitwiseAndLhs :: (Maybe BitwiseAnd),+ bitwiseAndRhs :: ShiftExpression}+ deriving (Eq, Ord, Read, Show)++_BitwiseAnd = Model.Name "hydra.python.syntax.BitwiseAnd"++_BitwiseAnd_lhs = Model.Name "lhs"++_BitwiseAnd_rhs = Model.Name "rhs"++data ShiftExpression =+ ShiftExpression {+ shiftExpressionLhs :: (Maybe ShiftLhs),+ shiftExpressionRhs :: Sum}+ deriving (Eq, Ord, Read, Show)++_ShiftExpression = Model.Name "hydra.python.syntax.ShiftExpression"++_ShiftExpression_lhs = Model.Name "lhs"++_ShiftExpression_rhs = Model.Name "rhs"++data ShiftLhs =+ ShiftLhs {+ shiftLhsOperand :: ShiftExpression,+ shiftLhsOperator :: ShiftOp}+ deriving (Eq, Ord, Read, Show)++_ShiftLhs = Model.Name "hydra.python.syntax.ShiftLhs"++_ShiftLhs_operand = Model.Name "operand"++_ShiftLhs_operator = Model.Name "operator"++data ShiftOp =+ ShiftOpLeft |+ ShiftOpRight+ deriving (Eq, Ord, Read, Show)++_ShiftOp = Model.Name "hydra.python.syntax.ShiftOp"++_ShiftOp_left = Model.Name "left"++_ShiftOp_right = Model.Name "right"++data Sum =+ Sum {+ sumLhs :: (Maybe SumLhs),+ sumRhs :: Term}+ deriving (Eq, Ord, Read, Show)++_Sum = Model.Name "hydra.python.syntax.Sum"++_Sum_lhs = Model.Name "lhs"++_Sum_rhs = Model.Name "rhs"++data SumLhs =+ SumLhs {+ sumLhsOperand :: Sum,+ sumLhsOperator :: SumOp}+ deriving (Eq, Ord, Read, Show)++_SumLhs = Model.Name "hydra.python.syntax.SumLhs"++_SumLhs_operand = Model.Name "operand"++_SumLhs_operator = Model.Name "operator"++data SumOp =+ SumOpAdd |+ SumOpSub+ deriving (Eq, Ord, Read, Show)++_SumOp = Model.Name "hydra.python.syntax.SumOp"++_SumOp_add = Model.Name "add"++_SumOp_sub = Model.Name "sub"++data Term =+ Term {+ termLhs :: (Maybe TermLhs),+ termRhs :: Factor}+ deriving (Eq, Ord, Read, Show)++_Term = Model.Name "hydra.python.syntax.Term"++_Term_lhs = Model.Name "lhs"++_Term_rhs = Model.Name "rhs"++data TermLhs =+ TermLhs {+ termLhsOperand :: Term,+ termLhsOperator :: TermOp}+ deriving (Eq, Ord, Read, Show)++_TermLhs = Model.Name "hydra.python.syntax.TermLhs"++_TermLhs_operand = Model.Name "operand"++_TermLhs_operator = Model.Name "operator"++data TermOp =+ TermOpMul |+ TermOpDiv |+ TermOpFloordiv |+ TermOpMod |+ TermOpMatmul+ deriving (Eq, Ord, Read, Show)++_TermOp = Model.Name "hydra.python.syntax.TermOp"++_TermOp_mul = Model.Name "mul"++_TermOp_div = Model.Name "div"++_TermOp_floordiv = Model.Name "floordiv"++_TermOp_mod = Model.Name "mod"++_TermOp_matmul = Model.Name "matmul"++data Factor =+ FactorPositive Factor |+ FactorNegative Factor |+ FactorComplement Factor |+ FactorSimple Power+ deriving (Eq, Ord, Read, Show)++_Factor = Model.Name "hydra.python.syntax.Factor"++_Factor_positive = Model.Name "positive"++_Factor_negative = Model.Name "negative"++_Factor_complement = Model.Name "complement"++_Factor_simple = Model.Name "simple"++data Power =+ Power {+ powerLhs :: AwaitPrimary,+ powerRhs :: (Maybe Factor)}+ deriving (Eq, Ord, Read, Show)++_Power = Model.Name "hydra.python.syntax.Power"++_Power_lhs = Model.Name "lhs"++_Power_rhs = Model.Name "rhs"++data AwaitPrimary =+ AwaitPrimary {+ awaitPrimaryAwait :: Bool,+ awaitPrimaryPrimary :: Primary}+ deriving (Eq, Ord, Read, Show)++_AwaitPrimary = Model.Name "hydra.python.syntax.AwaitPrimary"++_AwaitPrimary_await = Model.Name "await"++_AwaitPrimary_primary = Model.Name "primary"++data Primary =+ PrimarySimple Atom |+ PrimaryCompound PrimaryWithRhs+ deriving (Eq, Ord, Read, Show)++_Primary = Model.Name "hydra.python.syntax.Primary"++_Primary_simple = Model.Name "simple"++_Primary_compound = Model.Name "compound"++data PrimaryWithRhs =+ PrimaryWithRhs {+ primaryWithRhsPrimary :: Primary,+ primaryWithRhsRhs :: PrimaryRhs}+ deriving (Eq, Ord, Read, Show)++_PrimaryWithRhs = Model.Name "hydra.python.syntax.PrimaryWithRhs"++_PrimaryWithRhs_primary = Model.Name "primary"++_PrimaryWithRhs_rhs = Model.Name "rhs"++data PrimaryRhs =+ PrimaryRhsProject Name |+ PrimaryRhsGenexp Genexp |+ PrimaryRhsCall Args |+ PrimaryRhsSlices Slices+ deriving (Eq, Ord, Read, Show)++_PrimaryRhs = Model.Name "hydra.python.syntax.PrimaryRhs"++_PrimaryRhs_project = Model.Name "project"++_PrimaryRhs_genexp = Model.Name "genexp"++_PrimaryRhs_call = Model.Name "call"++_PrimaryRhs_slices = Model.Name "slices"++data Slices =+ Slices {+ slicesHead :: Slice,+ slicesTail :: [SliceOrStarredExpression]}+ deriving (Eq, Ord, Read, Show)++_Slices = Model.Name "hydra.python.syntax.Slices"++_Slices_head = Model.Name "head"++_Slices_tail = Model.Name "tail"++data SliceOrStarredExpression =+ SliceOrStarredExpressionSlice Slice |+ SliceOrStarredExpressionStarred StarredExpression+ deriving (Eq, Ord, Read, Show)++_SliceOrStarredExpression = Model.Name "hydra.python.syntax.SliceOrStarredExpression"++_SliceOrStarredExpression_slice = Model.Name "slice"++_SliceOrStarredExpression_starred = Model.Name "starred"++data Slice =+ SliceNamed NamedExpression |+ SliceSlice_ SliceExpression+ deriving (Eq, Ord, Read, Show)++_Slice = Model.Name "hydra.python.syntax.Slice"++_Slice_named = Model.Name "named"++_Slice_slice_ = Model.Name "slice_"++data SliceExpression =+ SliceExpression {+ sliceExpressionStart :: (Maybe Expression),+ sliceExpressionStop :: (Maybe Expression),+ sliceExpressionStep :: (Maybe Expression)}+ deriving (Eq, Ord, Read, Show)++_SliceExpression = Model.Name "hydra.python.syntax.SliceExpression"++_SliceExpression_start = Model.Name "start"++_SliceExpression_stop = Model.Name "stop"++_SliceExpression_step = Model.Name "step"++data Atom =+ AtomName Name |+ AtomTrue |+ AtomFalse |+ AtomNone |+ AtomString String_ |+ AtomNumber Number |+ AtomTuple Tuple |+ AtomGroup Group |+ AtomGenexp Genexp |+ AtomList List |+ AtomListcomp Listcomp |+ AtomDict Dict |+ AtomSet Set |+ AtomDictcomp Dictcomp |+ AtomSetcomp Setcomp |+ AtomEllipsis+ deriving (Eq, Ord, Read, Show)++_Atom = Model.Name "hydra.python.syntax.Atom"++_Atom_name = Model.Name "name"++_Atom_true = Model.Name "true"++_Atom_false = Model.Name "false"++_Atom_none = Model.Name "none"++_Atom_string = Model.Name "string"++_Atom_number = Model.Name "number"++_Atom_tuple = Model.Name "tuple"++_Atom_group = Model.Name "group"++_Atom_genexp = Model.Name "genexp"++_Atom_list = Model.Name "list"++_Atom_listcomp = Model.Name "listcomp"++_Atom_dict = Model.Name "dict"++_Atom_set = Model.Name "set"++_Atom_dictcomp = Model.Name "dictcomp"++_Atom_setcomp = Model.Name "setcomp"++_Atom_ellipsis = Model.Name "ellipsis"++data Group =+ GroupYield YieldExpression |+ GroupExpression NamedExpression+ deriving (Eq, Ord, Read, Show)++_Group = Model.Name "hydra.python.syntax.Group"++_Group_yield = Model.Name "yield"++_Group_expression = Model.Name "expression"++data Lambda =+ Lambda {+ lambdaParams :: LambdaParameters,+ lambdaBody :: Expression}+ deriving (Eq, Ord, Read, Show)++_Lambda = Model.Name "hydra.python.syntax.Lambda"++_Lambda_params = Model.Name "params"++_Lambda_body = Model.Name "body"++data LambdaParameters =+ LambdaParameters {+ lambdaParametersSlashNoDefault :: (Maybe LambdaSlashNoDefault),+ lambdaParametersParamNoDefault :: [LambdaParamNoDefault],+ lambdaParametersParamWithDefault :: [LambdaParamWithDefault],+ lambdaParametersStarEtc :: (Maybe LambdaStarEtc)}+ deriving (Eq, Ord, Read, Show)++_LambdaParameters = Model.Name "hydra.python.syntax.LambdaParameters"++_LambdaParameters_slashNoDefault = Model.Name "slashNoDefault"++_LambdaParameters_paramNoDefault = Model.Name "paramNoDefault"++_LambdaParameters_paramWithDefault = Model.Name "paramWithDefault"++_LambdaParameters_starEtc = Model.Name "starEtc"++data LambdaSlashNoDefault =+ LambdaSlashNoDefault {+ lambdaSlashNoDefaultParameters :: [LambdaParamNoDefault]}+ deriving (Eq, Ord, Read, Show)++_LambdaSlashNoDefault = Model.Name "hydra.python.syntax.LambdaSlashNoDefault"++_LambdaSlashNoDefault_parameters = Model.Name "parameters"++data LambdaSlashWithDefault =+ LambdaSlashWithDefault {+ lambdaSlashWithDefaultParamNoDefault :: [LambdaParamNoDefault],+ lambdaSlashWithDefaultParamWithDefault :: [LambdaParamWithDefault]}+ deriving (Eq, Ord, Read, Show)++_LambdaSlashWithDefault = Model.Name "hydra.python.syntax.LambdaSlashWithDefault"++_LambdaSlashWithDefault_paramNoDefault = Model.Name "paramNoDefault"++_LambdaSlashWithDefault_paramWithDefault = Model.Name "paramWithDefault"++data LambdaStarEtc =+ LambdaStarEtcStar Bool |+ LambdaStarEtcParamNoDefault LambdaParamNoDefault |+ LambdaStarEtcParamMaybeDefault [LambdaParamMaybeDefault] |+ LambdaStarEtcKwds LambdaKwds+ deriving (Eq, Ord, Read, Show)++_LambdaStarEtc = Model.Name "hydra.python.syntax.LambdaStarEtc"++_LambdaStarEtc_star = Model.Name "star"++_LambdaStarEtc_paramNoDefault = Model.Name "paramNoDefault"++_LambdaStarEtc_paramMaybeDefault = Model.Name "paramMaybeDefault"++_LambdaStarEtc_kwds = Model.Name "kwds"++newtype LambdaKwds =+ LambdaKwds {+ unLambdaKwds :: LambdaParamNoDefault}+ deriving (Eq, Ord, Read, Show)++_LambdaKwds = Model.Name "hydra.python.syntax.LambdaKwds"++newtype LambdaParamNoDefault =+ LambdaParamNoDefault {+ unLambdaParamNoDefault :: Name}+ deriving (Eq, Ord, Read, Show)++_LambdaParamNoDefault = Model.Name "hydra.python.syntax.LambdaParamNoDefault"++data LambdaParamWithDefault =+ LambdaParamWithDefault {+ lambdaParamWithDefaultParam :: Name,+ lambdaParamWithDefaultDefault :: (Maybe Default)}+ deriving (Eq, Ord, Read, Show)++_LambdaParamWithDefault = Model.Name "hydra.python.syntax.LambdaParamWithDefault"++_LambdaParamWithDefault_param = Model.Name "param"++_LambdaParamWithDefault_default = Model.Name "default"++data LambdaParamMaybeDefault =+ LambdaParamMaybeDefault {+ lambdaParamMaybeDefaultParam :: Name,+ lambdaParamMaybeDefaultDefault :: (Maybe Default)}+ deriving (Eq, Ord, Read, Show)++_LambdaParamMaybeDefault = Model.Name "hydra.python.syntax.LambdaParamMaybeDefault"++_LambdaParamMaybeDefault_param = Model.Name "param"++_LambdaParamMaybeDefault_default = Model.Name "default"++newtype List =+ List {+ unList :: [StarNamedExpression]}+ deriving (Eq, Ord, Read, Show)++_List = Model.Name "hydra.python.syntax.List"++newtype Tuple =+ Tuple {+ unTuple :: [StarNamedExpression]}+ deriving (Eq, Ord, Read, Show)++_Tuple = Model.Name "hydra.python.syntax.Tuple"++newtype Set =+ Set {+ unSet :: [StarNamedExpression]}+ deriving (Eq, Ord, Read, Show)++_Set = Model.Name "hydra.python.syntax.Set"++newtype Dict =+ Dict {+ unDict :: [DoubleStarredKvpair]}+ deriving (Eq, Ord, Read, Show)++_Dict = Model.Name "hydra.python.syntax.Dict"++data DoubleStarredKvpair =+ DoubleStarredKvpairStarred BitwiseOr |+ DoubleStarredKvpairPair Kvpair+ deriving (Eq, Ord, Read, Show)++_DoubleStarredKvpair = Model.Name "hydra.python.syntax.DoubleStarredKvpair"++_DoubleStarredKvpair_starred = Model.Name "starred"++_DoubleStarredKvpair_pair = Model.Name "pair"++data Kvpair =+ Kvpair {+ kvpairKey :: Expression,+ kvpairValue :: Expression}+ deriving (Eq, Ord, Read, Show)++_Kvpair = Model.Name "hydra.python.syntax.Kvpair"++_Kvpair_key = Model.Name "key"++_Kvpair_value = Model.Name "value"++newtype ForIfClauses =+ ForIfClauses {+ unForIfClauses :: [ForIfClause]}+ deriving (Eq, Ord, Read, Show)++_ForIfClauses = Model.Name "hydra.python.syntax.ForIfClauses"++data ForIfClause =+ ForIfClause {+ forIfClauseAsync :: Bool,+ forIfClauseTargets :: [StarTarget],+ forIfClauseIn :: Disjunction,+ forIfClauseIfs :: [Disjunction]}+ deriving (Eq, Ord, Read, Show)++_ForIfClause = Model.Name "hydra.python.syntax.ForIfClause"++_ForIfClause_async = Model.Name "async"++_ForIfClause_targets = Model.Name "targets"++_ForIfClause_in = Model.Name "in"++_ForIfClause_ifs = Model.Name "ifs"++data Listcomp =+ Listcomp {+ listcompExpression :: NamedExpression,+ listcompForIfClauses :: ForIfClauses}+ deriving (Eq, Ord, Read, Show)++_Listcomp = Model.Name "hydra.python.syntax.Listcomp"++_Listcomp_expression = Model.Name "expression"++_Listcomp_forIfClauses = Model.Name "forIfClauses"++data Setcomp =+ Setcomp {+ setcompExpression :: NamedExpression,+ setcompForIfClauses :: ForIfClauses}+ deriving (Eq, Ord, Read, Show)++_Setcomp = Model.Name "hydra.python.syntax.Setcomp"++_Setcomp_expression = Model.Name "expression"++_Setcomp_forIfClauses = Model.Name "forIfClauses"++data Genexp =+ Genexp {+ genexpHead :: GenexpHead,+ genexpTail :: ForIfClauses}+ deriving (Eq, Ord, Read, Show)++_Genexp = Model.Name "hydra.python.syntax.Genexp"++_Genexp_head = Model.Name "head"++_Genexp_tail = Model.Name "tail"++data GenexpHead =+ GenexpHeadAssignment AssignmentExpression |+ GenexpHeadExpression Expression+ deriving (Eq, Ord, Read, Show)++_GenexpHead = Model.Name "hydra.python.syntax.GenexpHead"++_GenexpHead_assignment = Model.Name "assignment"++_GenexpHead_expression = Model.Name "expression"++data Dictcomp =+ Dictcomp {+ dictcompKvpair :: Kvpair,+ dictcompForIfClauses :: ForIfClauses}+ deriving (Eq, Ord, Read, Show)++_Dictcomp = Model.Name "hydra.python.syntax.Dictcomp"++_Dictcomp_kvpair = Model.Name "kvpair"++_Dictcomp_forIfClauses = Model.Name "forIfClauses"++data Args =+ Args {+ argsPositional :: [PosArg],+ argsKwargOrStarred :: [KwargOrStarred],+ argsKwargOrDoubleStarred :: [KwargOrDoubleStarred]}+ deriving (Eq, Ord, Read, Show)++_Args = Model.Name "hydra.python.syntax.Args"++_Args_positional = Model.Name "positional"++_Args_kwargOrStarred = Model.Name "kwargOrStarred"++_Args_kwargOrDoubleStarred = Model.Name "kwargOrDoubleStarred"++data PosArg =+ PosArgStarred StarredExpression |+ PosArgAssignment AssignmentExpression |+ PosArgExpression Expression+ deriving (Eq, Ord, Read, Show)++_PosArg = Model.Name "hydra.python.syntax.PosArg"++_PosArg_starred = Model.Name "starred"++_PosArg_assignment = Model.Name "assignment"++_PosArg_expression = Model.Name "expression"++newtype StarredExpression =+ StarredExpression {+ unStarredExpression :: Expression}+ deriving (Eq, Ord, Read, Show)++_StarredExpression = Model.Name "hydra.python.syntax.StarredExpression"++data KwargOrStarred =+ KwargOrStarredKwarg Kwarg |+ KwargOrStarredStarred StarredExpression+ deriving (Eq, Ord, Read, Show)++_KwargOrStarred = Model.Name "hydra.python.syntax.KwargOrStarred"++_KwargOrStarred_kwarg = Model.Name "kwarg"++_KwargOrStarred_starred = Model.Name "starred"++data Kwarg =+ Kwarg {+ kwargName :: Name,+ kwargValue :: Expression}+ deriving (Eq, Ord, Read, Show)++_Kwarg = Model.Name "hydra.python.syntax.Kwarg"++_Kwarg_name = Model.Name "name"++_Kwarg_value = Model.Name "value"++data KwargOrDoubleStarred =+ KwargOrDoubleStarredKwarg Kwarg |+ KwargOrDoubleStarredDoubleStarred Expression+ deriving (Eq, Ord, Read, Show)++_KwargOrDoubleStarred = Model.Name "hydra.python.syntax.KwargOrDoubleStarred"++_KwargOrDoubleStarred_kwarg = Model.Name "kwarg"++_KwargOrDoubleStarred_doubleStarred = Model.Name "doubleStarred"++newtype StarTargetsListSeq =+ StarTargetsListSeq {+ unStarTargetsListSeq :: [StarTarget]}+ deriving (Eq, Ord, Read, Show)++_StarTargetsListSeq = Model.Name "hydra.python.syntax.StarTargetsListSeq"++newtype StarTargetsTupleSeq =+ StarTargetsTupleSeq {+ unStarTargetsTupleSeq :: [StarTarget]}+ deriving (Eq, Ord, Read, Show)++_StarTargetsTupleSeq = Model.Name "hydra.python.syntax.StarTargetsTupleSeq"++data StarTarget =+ StarTargetStarred StarTarget |+ StarTargetUnstarred TargetWithStarAtom+ deriving (Eq, Ord, Read, Show)++_StarTarget = Model.Name "hydra.python.syntax.StarTarget"++_StarTarget_starred = Model.Name "starred"++_StarTarget_unstarred = Model.Name "unstarred"++data TargetWithStarAtom =+ TargetWithStarAtomProject TPrimaryAndName |+ TargetWithStarAtomSlices TPrimaryAndSlices |+ TargetWithStarAtomAtom StarAtom+ deriving (Eq, Ord, Read, Show)++_TargetWithStarAtom = Model.Name "hydra.python.syntax.TargetWithStarAtom"++_TargetWithStarAtom_project = Model.Name "project"++_TargetWithStarAtom_slices = Model.Name "slices"++_TargetWithStarAtom_atom = Model.Name "atom"++data TPrimaryAndName =+ TPrimaryAndName {+ tPrimaryAndNamePrimary :: TPrimary,+ tPrimaryAndNameName :: Name}+ deriving (Eq, Ord, Read, Show)++_TPrimaryAndName = Model.Name "hydra.python.syntax.TPrimaryAndName"++_TPrimaryAndName_primary = Model.Name "primary"++_TPrimaryAndName_name = Model.Name "name"++data TPrimaryAndSlices =+ TPrimaryAndSlices {+ tPrimaryAndSlicesPrimary :: TPrimary,+ tPrimaryAndSlicesSlices :: Slices}+ deriving (Eq, Ord, Read, Show)++_TPrimaryAndSlices = Model.Name "hydra.python.syntax.TPrimaryAndSlices"++_TPrimaryAndSlices_primary = Model.Name "primary"++_TPrimaryAndSlices_slices = Model.Name "slices"++data StarAtom =+ StarAtomName Name |+ StarAtomTargetWithStarAtom TargetWithStarAtom |+ StarAtomStarTargetsTupleSeq (Maybe StarTargetsTupleSeq) |+ StarAtomStarTargetsListSeq (Maybe StarTargetsListSeq)+ deriving (Eq, Ord, Read, Show)++_StarAtom = Model.Name "hydra.python.syntax.StarAtom"++_StarAtom_name = Model.Name "name"++_StarAtom_targetWithStarAtom = Model.Name "targetWithStarAtom"++_StarAtom_starTargetsTupleSeq = Model.Name "starTargetsTupleSeq"++_StarAtom_starTargetsListSeq = Model.Name "starTargetsListSeq"++data SingleTarget =+ SingleTargetSubscriptAttributeTarget SingleSubscriptAttributeTarget |+ SingleTargetName Name |+ SingleTargetParens SingleTarget+ deriving (Eq, Ord, Read, Show)++_SingleTarget = Model.Name "hydra.python.syntax.SingleTarget"++_SingleTarget_subscriptAttributeTarget = Model.Name "subscriptAttributeTarget"++_SingleTarget_name = Model.Name "name"++_SingleTarget_parens = Model.Name "parens"++data SingleSubscriptAttributeTarget =+ SingleSubscriptAttributeTargetPrimaryAndName TPrimaryAndName |+ SingleSubscriptAttributeTargetPrimaryAndSlices TPrimaryAndSlices+ deriving (Eq, Ord, Read, Show)++_SingleSubscriptAttributeTarget = Model.Name "hydra.python.syntax.SingleSubscriptAttributeTarget"++_SingleSubscriptAttributeTarget_primaryAndName = Model.Name "primaryAndName"++_SingleSubscriptAttributeTarget_primaryAndSlices = Model.Name "primaryAndSlices"++data TPrimary =+ TPrimaryPrimaryAndName TPrimaryAndName |+ TPrimaryPrimaryAndSlices TPrimaryAndSlices |+ TPrimaryPrimaryAndGenexp TPrimaryAndGenexp |+ TPrimaryPrimaryAndArguments TPrimaryAndArguments |+ TPrimaryAtom Atom+ deriving (Eq, Ord, Read, Show)++_TPrimary = Model.Name "hydra.python.syntax.TPrimary"++_TPrimary_primaryAndName = Model.Name "primaryAndName"++_TPrimary_primaryAndSlices = Model.Name "primaryAndSlices"++_TPrimary_primaryAndGenexp = Model.Name "primaryAndGenexp"++_TPrimary_primaryAndArguments = Model.Name "primaryAndArguments"++_TPrimary_atom = Model.Name "atom"++data TPrimaryAndGenexp =+ TPrimaryAndGenexp {+ tPrimaryAndGenexpPrimary :: TPrimary,+ tPrimaryAndGenexpGenexp :: Genexp}+ deriving (Eq, Ord, Read, Show)++_TPrimaryAndGenexp = Model.Name "hydra.python.syntax.TPrimaryAndGenexp"++_TPrimaryAndGenexp_primary = Model.Name "primary"++_TPrimaryAndGenexp_genexp = Model.Name "genexp"++data TPrimaryAndArguments =+ TPrimaryAndArguments {+ tPrimaryAndArgumentsPrimary :: TPrimary,+ tPrimaryAndArgumentsArguments :: (Maybe Args)}+ deriving (Eq, Ord, Read, Show)++_TPrimaryAndArguments = Model.Name "hydra.python.syntax.TPrimaryAndArguments"++_TPrimaryAndArguments_primary = Model.Name "primary"++_TPrimaryAndArguments_arguments = Model.Name "arguments"++newtype DelTargets =+ DelTargets {+ unDelTargets :: [DelTarget]}+ deriving (Eq, Ord, Read, Show)++_DelTargets = Model.Name "hydra.python.syntax.DelTargets"++data DelTarget =+ DelTargetPrimaryAndName TPrimaryAndName |+ DelTargetPrimaryAndSlices TPrimaryAndSlices |+ DelTargetDelTAtom DelTAtom+ deriving (Eq, Ord, Read, Show)++_DelTarget = Model.Name "hydra.python.syntax.DelTarget"++_DelTarget_primaryAndName = Model.Name "primaryAndName"++_DelTarget_primaryAndSlices = Model.Name "primaryAndSlices"++_DelTarget_delTAtom = Model.Name "delTAtom"++data DelTAtom =+ DelTAtomName Name |+ DelTAtomTarget DelTarget |+ DelTAtomTargets DelTargets+ deriving (Eq, Ord, Read, Show)++_DelTAtom = Model.Name "hydra.python.syntax.DelTAtom"++_DelTAtom_name = Model.Name "name"++_DelTAtom_target = Model.Name "target"++_DelTAtom_targets = Model.Name "targets"++data TypeExpression =+ TypeExpressionExpression Expression |+ TypeExpressionStarredExpression Expression |+ TypeExpressionDoubleStarredExpression Expression+ deriving (Eq, Ord, Read, Show)++_TypeExpression = Model.Name "hydra.python.syntax.TypeExpression"++_TypeExpression_expression = Model.Name "expression"++_TypeExpression_starredExpression = Model.Name "starredExpression"++_TypeExpression_doubleStarredExpression = Model.Name "doubleStarredExpression"++newtype FuncTypeComment =+ FuncTypeComment {+ unFuncTypeComment :: TypeComment}+ deriving (Eq, Ord, Read, Show)++_FuncTypeComment = Model.Name "hydra.python.syntax.FuncTypeComment"
src/main/haskell/Hydra/Python/Testing.hs view
@@ -4,42 +4,42 @@ module Hydra.Python.Testing where -import qualified Hydra.Ast as Ast-import qualified Hydra.Classes as Classes-import qualified Hydra.Coders as Coders-import qualified Hydra.Constants as Constants-import qualified Hydra.Core as Core-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Errors as Errors-import qualified Hydra.Formatting as Formatting-import qualified Hydra.Graph as Graph-import qualified Hydra.Json.Model as Model-import qualified Hydra.Overlay.Haskell.Lib.Chars as Chars-import qualified Hydra.Overlay.Haskell.Lib.Eithers as Eithers-import qualified Hydra.Overlay.Haskell.Lib.Equality as Equality-import qualified Hydra.Overlay.Haskell.Lib.Lists as Lists-import qualified Hydra.Overlay.Haskell.Lib.Logic as Logic-import qualified Hydra.Overlay.Haskell.Lib.Optionals as Optionals-import qualified Hydra.Overlay.Haskell.Lib.Strings as Strings-import qualified Hydra.Names as Names-import qualified Hydra.Packaging as Packaging-import qualified Hydra.Parsing as Parsing-import qualified Hydra.Paths as Paths+import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Classes as Classes+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Constants as Constants+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Errors as Errors+import qualified Hydra.Core.Formatting as Formatting+import qualified Hydra.Core.Graph as Graph+import qualified Hydra.Core.Json.Model as JsonModel+import qualified Hydra.Core.Overlay.Haskell.Lib.Chars as Chars+import qualified Hydra.Core.Overlay.Haskell.Lib.Eithers as Eithers+import qualified Hydra.Core.Overlay.Haskell.Lib.Equality as Equality+import qualified Hydra.Core.Overlay.Haskell.Lib.Lists as Lists+import qualified Hydra.Core.Overlay.Haskell.Lib.Logic as Logic+import qualified Hydra.Core.Overlay.Haskell.Lib.Optionals as Optionals+import qualified Hydra.Core.Overlay.Haskell.Lib.Strings as Strings+import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Names as Names+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.Query as Query+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.Serialization as Serialization+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Test.Utils as Utils+import qualified Hydra.Core.Testing as Testing+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 qualified Hydra.Python.Syntax as Syntax-import qualified Hydra.Query as Query-import qualified Hydra.Relational as Relational-import qualified Hydra.Serialization as Serialization-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Test.Utils as Utils-import qualified Hydra.Testing as Testing-import qualified Hydra.Topology as Topology-import qualified Hydra.Typed as Typed-import qualified Hydra.Typing as Typing-import qualified Hydra.Util as Util-import qualified Hydra.Validation as Validation-import qualified Hydra.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
src/main/haskell/Hydra/Python/Utils.hs view
@@ -4,42 +4,42 @@ module Hydra.Python.Utils where -import qualified Hydra.Analysis as Analysis-import qualified Hydra.Ast as Ast-import qualified Hydra.Classes as Classes-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Errors as Errors-import qualified Hydra.Graph as Graph-import qualified Hydra.Json.Model as Model-import qualified Hydra.Overlay.Haskell.Lib.Equality as Equality-import qualified Hydra.Overlay.Haskell.Lib.Lists as Lists-import qualified Hydra.Overlay.Haskell.Lib.Logic as Logic-import qualified Hydra.Overlay.Haskell.Lib.Maps as Maps-import qualified Hydra.Overlay.Haskell.Lib.Optionals as Optionals-import qualified Hydra.Overlay.Haskell.Lib.Pairs as Pairs-import qualified Hydra.Overlay.Haskell.Lib.Strings as Strings-import qualified Hydra.Packaging as Packaging-import qualified Hydra.Parsing as Parsing-import qualified Hydra.Paths as Paths+import qualified Hydra.Core.Analysis as Analysis+import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Classes as Classes+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Errors as Errors+import qualified Hydra.Core.Graph as Graph+import qualified Hydra.Core.Json.Model as JsonModel+import qualified Hydra.Core.Overlay.Haskell.Lib.Equality as Equality+import qualified Hydra.Core.Overlay.Haskell.Lib.Lists as Lists+import qualified Hydra.Core.Overlay.Haskell.Lib.Logic as Logic+import qualified Hydra.Core.Overlay.Haskell.Lib.Maps as Maps+import qualified Hydra.Core.Overlay.Haskell.Lib.Optionals as Optionals+import qualified Hydra.Core.Overlay.Haskell.Lib.Pairs as Pairs+import qualified Hydra.Core.Overlay.Haskell.Lib.Strings as Strings+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.Query as Query+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.Serialization as Serialization+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+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 qualified Hydra.Python.Environment as Environment import qualified Hydra.Python.Names as Names import qualified Hydra.Python.Serde as Serde import qualified Hydra.Python.Syntax as Syntax-import qualified Hydra.Query as Query-import qualified Hydra.Relational as Relational-import qualified Hydra.Serialization as Serialization-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Topology as Topology-import qualified Hydra.Typed as Typed-import qualified Hydra.Typing as Typing-import qualified Hydra.Util as Util-import qualified Hydra.Validation as Validation-import qualified Hydra.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@@ -83,7 +83,7 @@ commentStatement :: String -> Syntax.Statement commentStatement s = pyExpressionToPyStatement (tripleQuotedString s) --- | Generate __eq__ and __hash__ methods for the Decimal-typed union variant, delegating to hydra.overlay.python.util._decimal (scale-aware per docs/specification/ordering-and-equality.md; Node's generic derivation delegates to Decimal's own scale-blind equality/hash)+-- | Generate __eq__ and __hash__ methods for the Decimal-typed union variant, delegating to hydra.core.overlay.python.util._decimal (scale-aware per docs/specification/ordering-and-equality.md; Node's generic derivation delegates to Decimal's own scale-blind equality/hash) decimalVariantMethods :: [Syntax.Statement] decimalVariantMethods = [@@ -262,7 +262,7 @@ findNamespaces :: S.Set String -> Packaging.ModuleName -> [Packaging.Definition] -> Util.ModuleNames Syntax.DottedName findNamespaces overlaySubs focusNs defs = - let coreNs = Packaging.ModuleName "hydra.core"+ let coreNs = Packaging.ModuleName "hydra.core.model" namespaces = Analysis.moduleNamesForDefinitions (Names.encodeNamespaceWithOverrides overlaySubs) focusNs defs in (Logic.ifElse (Equality.equal (Packaging.unModuleName (Pairs.first (Util.moduleNamesFocus namespaces))) (Packaging.unModuleName coreNs)) namespaces (Util.ModuleNames { Util.moduleNamesFocus = (Util.moduleNamesFocus namespaces),