h*4#      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                           0.1.4.2  Safe-Inferred  07klanguage-Modula2The finally-tagless associated types and methods relevant to the Modula-2 language. Every non-leaf node type has four type variables:type variable l represents the language of the constructs built by the methods,l'. is the language of the child node constructs,f'# wraps all descendant nodes, exceptf' wraps all direct children of the node.language-Modula2Module priorityi !"#$%&'R]XONCDELF\()*+,-./0123456789:;<=>?@ABGHIJKMPQSTUVWYZ[^_` ahbcdefg jlki !"#$%&'R]XONCDELF\()*+,-./0123456789:;<=>?@ABGHIJKMPQSTUVWYZ[^_` ahbcdefg jlk Safe-Inferred)*1367language-Modula2Data type representing the Modula-2 language, as originally specified by ''Report on the Programming Language Modula-2''.i|}~z{xyvwtursopqmnahbcdefgi|}~z{xyvwtursopqmnahbcdefg Safe-Inferred"%&language-Modula2;The names and types of all the Modula-2 grammar productionslanguage-Modula2'All the productions of Modula-2 grammar Safe-Inferred"%13<language-Modula2Fold the constants in the given collection of Modula-2 modules (a  of modules keyed by module name). It uses the constant declarations from the modules as well as the given ( of predefined constants and functions.Note that the Modula-2 < satisfies all constraints in the function's type signature. Safe-Inferred 07language-Modula2The additional finally-tagless associated types and methods relevant to the ISO Modula-2 language. Safe-Inferred)*1367language-Modula2Data type representing the Modula-2 language, as specified by the ISO standard. Safe-Inferred"%1language-Modula2Fold the constants in the given collection of Modula-2 modules (a  of modules keyed by module name). It uses the constant declarations from the modules as well as the given ( of predefined constants and functions.Note that the ISO Modula-2 < satisfies all constraints in the function's type signature. Safe-Inferred"%&language-Modula2The names and types of all the new grammar productions in the ISO specificationlanguage-Modula24The new grammar productions in the ISO specificationlanguage-Modula2/All the productions of the ISO Modula-2 grammar  Safe-Inferred")*1f  Safe-Inferred")*1  Safe-Inferred ")*6" language-Modula2-The language version in existential containerlanguage-Modula2the version specified by Niklaus Wirth's ''Report on the Programming Language Modula-2''language-Modula2)the version specified by the ISO standardlanguage-Modula2The modes of operationlanguage-Modula22whether to fold the constants in the parsed modulelanguage-Modula2'which version of the Modula-2 language?language-Modula2Every node in a parsed and resolved AST is wrapped with this functorlanguage-Modula2Replace the stored positions in the entire tree with offsets from the start of the given source textlanguage-Modula2Replace the stored positions of the given node with offset from the start of the given source textlanguage-Modula2Parse the given text of a single module and fold constants inside it.language-Modula2The predefined environment of types, constants, and procedures for the given language version.language-Modula2(Parse the given text of a single module.                       ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z0 z0 z/ z{ z| z. z. z- z- z, z, z+ z+ z* z* z' z} z~ z z z z z z1 z1 z                            $))((#&%44"22!33`d5]^6<=>7@FNDAIGE8;9$,,%#"                                               /language-Modula2-0.1.4.2-ESQHVQS8YQyEARD2nySkfeLanguage.Modula2.AbstractLanguage.Modula2.ASTLanguage.Modula2.GrammarLanguage.Modula2.ConstantFolderLanguage.Modula2.ISO.AbstractLanguage.Modula2.ISO.AST#Language.Modula2.ISO.ConstantFolderLanguage.Modula2.ISO.GrammarLanguage.Modula2.PrettyLanguage.Modula2.ISO.PrettyLanguage.Modula2language-Modula2,language-oberon-0.3.3.2-PizgqOytzmQUQnjPeQZOLanguage.Oberon.Abstract IdentListConstExpressionBaseTypeNameablegetProcedureNamegetIdentDefNamegetNonQualIdentNameMaybe3WirthySubsetOfCoWirthy TargetClass coDeclarationcoType coStatement coExpression coDesignatorcoValueWirthyModule DeclarationType Statement Expression DesignatorValue FieldListProcedureHeadingFormalParameters FPSectionBlockStatementSequenceCase CaseLabelsConditionalBranchElementImportIdentDef QualIdentconstantDeclarationtypeDeclarationvariableDeclarationprocedureDeclarationformalParameters fpSectionblock fieldList pointerType procedureType typeReference assignment caseStatementemptyStatement exitStatement ifStatement loopStatement procedureCallrepeatStatementreturnStatementwhileStatementconditionalBranchcaseAlternative singleLabel labelRangestatementSequenceaddsubtractandordivide integerDividemodulomultiply functionCallliteralnegativepositivenotreadrelationelementrangeintegernilfalsetruerealstringcharCodebuiltinvariablefieldindex dereferenceidentDef nonQualIdentRelOpEqualUnequalLess LessOrEqualGreaterGreaterOrEqualInIdentjust3nothing3maybe3Language.Oberon.AST SingleLabel LabelRangeBooleanBuiltinCharCodeIntegerNilRealStringRangeLanguage.Oberon.Grammar ParsedLexemesTrailingLexeme WhiteSpaceCommentToken lexemeText lexemeTypeLanguage.Oberon.ConstantFolder SynCFMod'SynCFDesignator$sel:folded:SynCFDesignator$$sel:designatorValue:SynCFDesignatorSynCFExp$sel:folded:SynCFExp$sel:foldedValue:SynCFExpSynCFMod$sel:moduleEnv:SynCFMod$sel:folded:SynCFModSynCF$sel:folded:SynCFInhCFSem ConstantFold EnvironmentModula2Export DefinitionVariantdefinitionModuleimplementationModule programModule moduleExport moduleImportconstantDefinitiontypeDefinitionvariableDefinitionprocedureDefinitionmoduleDeclarationprocedureHeading caseFieldListvariant enumerationsubRange arrayTypesetType recordType withStatement forStatementset qualIdentPriority$fModula2WirthySubsetOfEmptyStatement Assignment ProcedureCallIf CaseStatementWhileRepeatForLoopWithExitReturn CaseFieldList TypeReference ArrayTypeEnumerationType SubrangeTypeSetType RecordType PointerType ProcedureTypeVariableFieldIndex DereferenceRelationPositiveNegativeAddSubtractOrMultiplyDivide IntegerDivideModuloAndSetRead FunctionCallNotLiteralConstantDeclarationTypeDeclarationOpaqueTypeDeclarationVariableDeclarationProcedureDeclarationProcedureDefinitionModuleDeclarationDefinitionModuleImplementationModule ProgramModuleLanguage$fNameableLanguage$fModula2Language$fCoWirthyLanguage$fWirthyLanguage$fDataQualIdent $fEqQualIdent$fOrdQualIdent$fShowQualIdent $fDataExport $fShowExport $fDataImport $fShowImport$fDataIdentDef $fEqIdentDef $fOrdIdentDef$fShowIdentDef$fDataLanguage$fShowStatement$fDataStatement$fShowProcedureHeading$fDataProcedureHeading $fShowVariant $fDataVariant$fShowFieldList$fDataFieldList $fShowType $fDataType$fEqDesignator$fShowDesignator$fDataDesignator$fEqExpression$fShowExpression$fDataExpression$fShowDeclaration $fShowModule $fDataModule$fTraversabletProcedureHeading$fFoldabletProcedureHeading$fFunctortProcedureHeading$fTraversabletVariant$fFoldabletVariant$fFunctortVariant$fTraversabletFieldList$fFoldabletFieldList$fFunctortFieldList$fTraversabletDesignator$fFoldabletDesignator$fFunctortDesignator$fTraversabletExpression$fFoldabletExpression$fFunctortExpression$fTraversabletStatement$fFoldabletStatement$fFunctortStatement$fTraversabletType$fFoldabletType$fFunctortType$fTraversabletDeclaration$fFoldabletDeclaration$fFunctortDeclaration$fTraversabletModule$fFoldabletModule$fFunctortModule$fTraversabletProcedureHeading0$fFoldabletProcedureHeading0$fFunctortProcedureHeading0$fTraversabletVariant0$fFoldabletVariant0$fFunctortVariant0$fTraversabletFieldList0$fFoldabletFieldList0$fFunctortFieldList0$fTraversabletDesignator0$fFoldabletDesignator0$fFunctortDesignator0$fTraversabletExpression0$fFoldabletExpression0$fFunctortExpression0$fTraversabletStatement0$fFoldabletStatement0$fFunctortStatement0$fTraversabletType0$fFoldabletType0$fFunctortType0$fTraversabletDeclaration0$fFoldabletDeclaration0$fFunctortDeclaration0$fTraversabletModule0$fFoldabletModule0$fFunctortModule0!$fTraversableTYPEProcedureHeading$fTraversableTYPEVariant$fTraversableTYPEFieldList$fTraversableTYPEDesignator$fTraversableTYPEExpression$fTraversableTYPEStatement$fTraversableTYPEType$fTraversableTYPEDeclaration$fTraversableTYPEModule$fFoldableTYPEProcedureHeading$fFoldableTYPEVariant$fFoldableTYPEFieldList$fFoldableTYPEDesignator$fFoldableTYPEExpression$fFoldableTYPEStatement$fFoldableTYPEType$fFoldableTYPEDeclaration$fFoldableTYPEModule$fFunctorTYPEProcedureHeading$fFunctorTYPEVariant$fFunctorTYPEFieldList$fFunctorTYPEDesignator$fFunctorTYPEExpression$fFunctorTYPEStatement$fFunctorTYPEType$fFunctorTYPEDeclaration$fFunctorTYPEModule$fApplyTYPEProcedureHeading$fApplyTYPEVariant$fApplyTYPEFieldList$fApplyTYPEDesignator$fApplyTYPEExpression$fApplyTYPEStatement$fApplyTYPEType$fApplyTYPEDeclaration$fApplyTYPEModuleNodeWrapModula2Grammaridentnumber scaleFactorhexDigitdigit octalDigit string_prod qualidentconstExpression addOperator mulOperator type_prod simpleType identList subrangeTypefieldListSequence caseLabelList caseLabelsformalTypeList designatorexpList expressionsimpleExpressiontermfactoractualParameters statement case_proddeclarationSequence fPSection formalTypepriorityexport import_proddefinitionSequencecompilationUnitParsermodula2grammargrammarcomment whiteSpacewrap moptional delimiteroperator reservedWords$fLexicalParsingFixed$fTokenParsingFixed$fLogisticTYPEModula2Grammar+$fDistributiveTraversableTYPEModula2Grammar $fDistributiveTYPEModula2Grammar$fTraversableTYPEModula2Grammar$fFoldableTYPEModula2Grammar$fApplicativeTYPEModula2Grammar$fApplyTYPEModula2Grammar$fFunctorTYPEModula2Grammar foldConstants$fApplyTYPEModules$fFunctorTYPEModules$fFunctortModules>$fSynthesizedField"designatorValue"MaybeAutoDesignatorArrow(,)#$fSynthesizerAutoExpressionArrow(,)7$fSynthesizedField"moduleEnv"MapAutoDeclarationArrow(,)2$fSynthesizedField"moduleEnv"MapAutoModuleArrow(,) $fAttributionAutoModulesArrow(,)AddressedIdentItem emptyVariantaddressedVariableDeclarationforwardProcedureDeclarationexceptionHandlingBlockaddressedIdentunaddressedIdent packedSetTyperetryStatementarrayrecord remaindersinglerepeatedRetryStatementExceptionHandlingBlock EmptyVariantSingleRepeated RemainderArrayRecord PackedSetTypeUnaddressedIdentAddressedVariableDeclarationForwardProcedureDeclaration$fModula2Language0 $fShowBlock $fDataBlock$fEqItem $fShowItem $fDataItem$fShowAddressedIdent$fDataAddressedIdent$fTraversabletItem$fFoldabletItem$fFunctortItem$fTraversabletBlock$fFoldabletBlock$fFunctortBlock$fTraversabletAddressedIdent$fFoldabletAddressedIdent$fFunctortAddressedIdent$fTraversabletItem0$fFoldabletItem0$fFunctortItem0$fTraversabletBlock0$fFoldabletBlock0$fFunctortBlock0$fTraversabletAddressedIdent0$fFoldabletAddressedIdent0$fFunctortAddressedIdent0$fTraversableTYPEItem$fTraversableTYPEBlock$fTraversableTYPEAddressedIdent$fFoldableTYPEItem$fFoldableTYPEBlock$fFoldableTYPEAddressedIdent$fFunctorTYPEItem$fFunctorTYPEBlock$fFunctorTYPEAddressedIdent$fApplyTYPEItem$fApplyTYPEBlock$fApplyTYPEAddressedIdent1$fSynthesizedField"moduleEnv"MapAutoBlockArrow(,)$fBequetherAutoBlockArrow(,)ISOMixinmachineAddress moduleBodyvariableIdentifierListarrayConstructorrecordConstructorarrayConstructedValuerecordConstructedValuesetConstructedValue arrayPartstructureComponent ISOGrammarisoMixinmodula2ISOgrammar isoGrammar$fLogisticTYPEISOMixin%$fDistributiveTraversableTYPEISOMixin$fDistributiveTYPEISOMixin$fTraversableTYPEISOMixin$fFoldableTYPEISOMixin$fApplicativeTYPEISOMixin$fApplyTYPEISOMixin$fFunctorTYPEISOMixin$fOberonLanguage$fPrettyStatement$fPrettyProcedureHeading$fPrettyVariant$fPrettyFieldList$fPrettyQualIdent $fPrettyType$fPrettyDesignator $fPrettyValue$fPrettyPrecedence$fPrettyExpression$fPrettyDeclaration$fPrettyDeclaration0$fPrettyIdentDef$fPrettyExport$fPrettyImport$fPrettyModule $fPrettyItem $fPrettyBlock$fPrettyAddressedIdent SomeVersionVersionReportISOPlacedresolvePositionsresolvePositionparseAndSimplifyModule parseModule$fShowSomeVersion $fShowVersioncontainers-0.6.7Data.Map.InternalMapOptionsversion predefined