language-Modula2 0.1.3 → 0.1.4
raw patch · 4 files changed
+21/−22 lines, 4 filesdep ~basedep ~prettyprinterdep ~rank2classesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: base, prettyprinter, rank2classes, template-haskell
API changes (from Hackage documentation)
- Language.Modula2.ConstantFolder: instance (Language.Oberon.Abstract.Nameable l, GHC.Classes.Ord (Language.Oberon.Abstract.QualIdent l), Language.Oberon.Abstract.Expression λ GHC.Types.~ Language.Modula2.AST.Expression Language.Modula2.AST.Language, Language.Oberon.Abstract.QualIdent λ GHC.Types.~ Language.Modula2.AST.QualIdent Language.Modula2.AST.Language, Language.Oberon.Abstract.QualIdent l GHC.Types.~ Language.Modula2.AST.QualIdent l, Language.Oberon.Abstract.Element l l GHC.Types.~ Language.Oberon.AST.Element l l, Language.Oberon.Abstract.Value l l GHC.Types.~ Language.Oberon.AST.Value l l, λ GHC.Types.~ Language.Modula2.AST.Language, Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.AST.Value l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Transformation.AG.Atts (Transformation.AG.Synthesized (Transformation.AG.Generics.Auto Language.Oberon.ConstantFolder.ConstantFold)) (Language.Oberon.Abstract.Expression l l Language.Oberon.ConstantFolder.Sem Language.Oberon.ConstantFolder.Sem) GHC.Types.~ Language.Oberon.ConstantFolder.SynCFExp l l, Transformation.AG.Atts (Transformation.AG.Synthesized (Transformation.AG.Generics.Auto Language.Oberon.ConstantFolder.ConstantFold)) (Language.Oberon.Abstract.Element l l Language.Oberon.ConstantFolder.Sem Language.Oberon.ConstantFolder.Sem) GHC.Types.~ Language.Oberon.ConstantFolder.SynCF' (Language.Oberon.AST.Element l l), Transformation.AG.Atts (Transformation.AG.Synthesized (Transformation.AG.Generics.Auto Language.Oberon.ConstantFolder.ConstantFold)) (Language.Oberon.Abstract.Designator l l Language.Oberon.ConstantFolder.Sem Language.Oberon.ConstantFolder.Sem) GHC.Types.~ Language.Oberon.ConstantFolder.SynCFDesignator l) => Transformation.AG.Generics.Synthesizer (Transformation.AG.Generics.Auto Language.Oberon.ConstantFolder.ConstantFold) (Language.Modula2.AST.Expression λ l) Language.Oberon.ConstantFolder.Sem Language.Modula2.ConstantFolder.Placed
- Language.Modula2.ISO.ConstantFolder: instance (Language.Oberon.Abstract.Nameable l, GHC.Classes.Ord (Language.Oberon.Abstract.QualIdent l), Language.Oberon.Abstract.Expression λ GHC.Types.~ Language.Modula2.ISO.AST.Expression Language.Modula2.ISO.AST.Language, Language.Oberon.Abstract.QualIdent λ GHC.Types.~ Language.Modula2.AST.QualIdent Language.Modula2.ISO.AST.Language, Language.Oberon.ConstantFolder.InhCF l GHC.Types.~ Language.Oberon.ConstantFolder.InhCF λ, Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.AST.Value l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Transformation.AG.Atts (Transformation.AG.Synthesized (Transformation.AG.Generics.Auto Language.Oberon.ConstantFolder.ConstantFold)) (Language.Oberon.Abstract.Expression l l Language.Oberon.ConstantFolder.Sem Language.Oberon.ConstantFolder.Sem) GHC.Types.~ Language.Oberon.ConstantFolder.SynCFExp l l, Transformation.AG.Atts (Transformation.AG.Synthesized (Transformation.AG.Generics.Auto Language.Oberon.ConstantFolder.ConstantFold)) (Language.Oberon.Abstract.Element l l Language.Oberon.ConstantFolder.Sem Language.Oberon.ConstantFolder.Sem) GHC.Types.~ Language.Oberon.ConstantFolder.SynCF' (Language.Oberon.Abstract.Element l l), Transformation.AG.Atts (Transformation.AG.Synthesized (Transformation.AG.Generics.Auto Language.Oberon.ConstantFolder.ConstantFold)) (Language.Modula2.ISO.Abstract.Item l l Language.Oberon.ConstantFolder.Sem Language.Oberon.ConstantFolder.Sem) GHC.Types.~ Language.Oberon.ConstantFolder.SynCF' (Language.Modula2.ISO.Abstract.Item l l), Transformation.AG.Atts (Transformation.AG.Synthesized (Transformation.AG.Generics.Auto Language.Oberon.ConstantFolder.ConstantFold)) (Language.Oberon.Abstract.Designator l l Language.Oberon.ConstantFolder.Sem Language.Oberon.ConstantFolder.Sem) GHC.Types.~ Language.Oberon.ConstantFolder.SynCFDesignator l) => Transformation.AG.Generics.Synthesizer (Transformation.AG.Generics.Auto Language.Oberon.ConstantFolder.ConstantFold) (Language.Modula2.ISO.AST.Expression λ l) Language.Oberon.ConstantFolder.Sem Language.Oberon.ConstantFolder.Placed
- Language.Modula2.ISO.Pretty: instance (Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.CaseLabels l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.FieldList l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)) => Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.ISO.AST.Variant λ l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
- Language.Modula2.ISO.Pretty: instance (Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.ConstExpression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Designator l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Case l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.ConditionalBranch l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.WithAlternative l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.StatementSequence l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)) => Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.ISO.AST.Statement Language.Modula2.ISO.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
- Language.Modula2.ISO.Pretty: instance (Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Declaration l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.StatementSequence l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)) => Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.ISO.AST.Block λ l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
- Language.Modula2.ISO.Pretty: instance (Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.IdentDef l), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.FormalParameters l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.FieldList l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.ConstExpression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Type l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.BaseType l)) => Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.ISO.AST.Type Language.Modula2.ISO.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
- Language.Modula2.ISO.Pretty: instance (Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.IdentDef l), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.QualIdent l), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Type l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Value l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.FieldList l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.Abstract.Variant l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)) => Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.AST.FieldList Language.Modula2.ISO.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
- Language.Modula2.ISO.Pretty: instance (Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.QualIdent l), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Designator l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Expression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)) => Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.AST.Designator Language.Modula2.ISO.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
- Language.Modula2.ISO.Pretty: instance (Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Pretty.Precedence (Language.Oberon.Abstract.Expression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Expression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Value l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Element l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.ISO.Abstract.Item l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Designator l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.QualIdent l)) => Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.ISO.AST.Expression Language.Modula2.ISO.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
- Language.Modula2.ISO.Pretty: instance (Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Pretty.Precedence (Language.Oberon.Abstract.Expression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Expression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Value l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Element l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.ISO.Abstract.Item l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Designator l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.QualIdent l)) => Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Pretty.Precedence (Language.Modula2.ISO.AST.Expression Language.Modula2.ISO.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity))
- Language.Modula2.ISO.Pretty: instance (Language.Oberon.Abstract.Nameable l, Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.IdentDef l), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.Abstract.Export l), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Import l), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.ISO.Abstract.AddressedIdent l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Type l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Declaration l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Expression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.FormalParameters l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.ProcedureHeading l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Block l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)) => Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.ISO.AST.Declaration 'GHC.Types.True Language.Modula2.ISO.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
- Language.Modula2.ISO.Pretty: instance (Language.Oberon.Abstract.Nameable l, Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.IdentDef l), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.Abstract.Export l), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Import l), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Type l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Declaration l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Expression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.FormalParameters l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.ProcedureHeading l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Block l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)) => Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.ISO.AST.Declaration 'GHC.Types.False Language.Modula2.ISO.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
- Language.Modula2.ISO.Pretty: instance Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.ConstExpression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity) => Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.ISO.AST.AddressedIdent l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
- Language.Modula2.ISO.Pretty: instance Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Expression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity) => Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.ISO.AST.Item Language.Modula2.ISO.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
- Language.Modula2.ISO.Pretty: instance Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Value l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity) => Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.AST.Value Language.Modula2.ISO.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
- Language.Modula2.Pretty: instance (Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.Abstract.Priority l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.Abstract.Export l), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Import l), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Declaration l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.Abstract.Definition l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Block l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)) => Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.AST.Module λ l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
- Language.Modula2.Pretty: instance (Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.CaseLabels l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.FieldList l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)) => Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.AST.Variant λ l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
- Language.Modula2.Pretty: instance (Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.ConstExpression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Designator l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Case l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.ConditionalBranch l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.WithAlternative l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.StatementSequence l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)) => Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.AST.Statement Language.Modula2.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
- Language.Modula2.Pretty: instance (Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.IdentDef l), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.FormalParameters l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.FieldList l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.ConstExpression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Type l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.BaseType l)) => Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.AST.Type Language.Modula2.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
- Language.Modula2.Pretty: instance (Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.IdentDef l), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.FormalParameters l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Type l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)) => Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.AST.ProcedureHeading l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
- Language.Modula2.Pretty: instance (Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.IdentDef l), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.QualIdent l), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Type l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Value l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.FieldList l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.Abstract.Variant l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)) => Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.AST.FieldList Language.Modula2.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
- Language.Modula2.Pretty: instance (Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.QualIdent l), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Designator l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Expression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)) => Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.AST.Designator Language.Modula2.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
- Language.Modula2.Pretty: instance (Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Pretty.Precedence (Language.Oberon.Abstract.Expression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Value l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Expression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Element l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Designator l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.QualIdent l)) => Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.AST.Expression Language.Modula2.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
- Language.Modula2.Pretty: instance (Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Pretty.Precedence (Language.Oberon.Abstract.Expression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Value l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Expression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Element l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Designator l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.QualIdent l)) => Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Pretty.Precedence (Language.Modula2.AST.Expression Language.Modula2.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity))
- Language.Modula2.Pretty: instance (Language.Oberon.Abstract.Nameable l, Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.IdentDef l), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.Abstract.Export l), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Import l), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Type l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Declaration l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Expression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.FormalParameters l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.ProcedureHeading l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Block l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)) => Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.AST.Declaration 'GHC.Types.False Language.Modula2.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
- Language.Modula2.Pretty: instance (Language.Oberon.Abstract.Nameable l, Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.IdentDef l), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.Abstract.Export l), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Import l), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Type l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Declaration l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Expression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.FormalParameters l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.ProcedureHeading l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Block l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)) => Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.AST.Declaration 'GHC.Types.True Language.Modula2.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
- Language.Modula2.Pretty: instance Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.AST.IdentDef l)
- Language.Modula2.Pretty: instance Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.AST.QualIdent l)
- Language.Modula2.Pretty: instance Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.IdentDef l) => Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.AST.Export l)
- Language.Modula2.Pretty: instance Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.IdentDef l) => Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Modula2.AST.Import l)
- Language.Modula2.Pretty: instance Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.Abstract.Value l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity) => Data.Text.Prettyprint.Doc.Internal.Pretty (Language.Oberon.AST.Value Language.Modula2.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
+ Language.Modula2.ConstantFolder: instance (Language.Oberon.Abstract.Nameable l, GHC.Classes.Ord (Language.Oberon.Abstract.QualIdent l), Language.Oberon.Abstract.Expression λ GHC.Types.~ Language.Modula2.AST.Expression Language.Modula2.AST.Language, Language.Oberon.Abstract.QualIdent λ GHC.Types.~ Language.Modula2.AST.QualIdent Language.Modula2.AST.Language, Language.Oberon.Abstract.QualIdent l GHC.Types.~ Language.Modula2.AST.QualIdent l, Language.Oberon.Abstract.Element l l GHC.Types.~ Language.Oberon.AST.Element l l, Language.Oberon.Abstract.Value l l GHC.Types.~ Language.Oberon.AST.Value l l, λ GHC.Types.~ Language.Modula2.AST.Language, Prettyprinter.Internal.Pretty (Language.Oberon.AST.Value l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Transformation.AG.Atts (Transformation.AG.Synthesized (Transformation.AG.Generics.Auto Language.Oberon.ConstantFolder.ConstantFold)) (Language.Oberon.Abstract.Expression l l Language.Oberon.ConstantFolder.Sem Language.Oberon.ConstantFolder.Sem) GHC.Types.~ Language.Oberon.ConstantFolder.SynCFExp l l, Transformation.AG.Atts (Transformation.AG.Synthesized (Transformation.AG.Generics.Auto Language.Oberon.ConstantFolder.ConstantFold)) (Language.Oberon.Abstract.Element l l Language.Oberon.ConstantFolder.Sem Language.Oberon.ConstantFolder.Sem) GHC.Types.~ Language.Oberon.ConstantFolder.SynCF' (Language.Oberon.AST.Element l l), Transformation.AG.Atts (Transformation.AG.Synthesized (Transformation.AG.Generics.Auto Language.Oberon.ConstantFolder.ConstantFold)) (Language.Oberon.Abstract.Designator l l Language.Oberon.ConstantFolder.Sem Language.Oberon.ConstantFolder.Sem) GHC.Types.~ Language.Oberon.ConstantFolder.SynCFDesignator l) => Transformation.AG.Generics.Synthesizer (Transformation.AG.Generics.Auto Language.Oberon.ConstantFolder.ConstantFold) (Language.Modula2.AST.Expression λ l) Language.Oberon.ConstantFolder.Sem Language.Modula2.ConstantFolder.Placed
+ Language.Modula2.ISO.ConstantFolder: instance (Language.Oberon.Abstract.Nameable l, GHC.Classes.Ord (Language.Oberon.Abstract.QualIdent l), Language.Oberon.Abstract.Expression λ GHC.Types.~ Language.Modula2.ISO.AST.Expression Language.Modula2.ISO.AST.Language, Language.Oberon.Abstract.QualIdent λ GHC.Types.~ Language.Modula2.AST.QualIdent Language.Modula2.ISO.AST.Language, Language.Oberon.ConstantFolder.InhCF l GHC.Types.~ Language.Oberon.ConstantFolder.InhCF λ, Prettyprinter.Internal.Pretty (Language.Oberon.AST.Value l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Transformation.AG.Atts (Transformation.AG.Synthesized (Transformation.AG.Generics.Auto Language.Oberon.ConstantFolder.ConstantFold)) (Language.Oberon.Abstract.Expression l l Language.Oberon.ConstantFolder.Sem Language.Oberon.ConstantFolder.Sem) GHC.Types.~ Language.Oberon.ConstantFolder.SynCFExp l l, Transformation.AG.Atts (Transformation.AG.Synthesized (Transformation.AG.Generics.Auto Language.Oberon.ConstantFolder.ConstantFold)) (Language.Oberon.Abstract.Element l l Language.Oberon.ConstantFolder.Sem Language.Oberon.ConstantFolder.Sem) GHC.Types.~ Language.Oberon.ConstantFolder.SynCF' (Language.Oberon.Abstract.Element l l), Transformation.AG.Atts (Transformation.AG.Synthesized (Transformation.AG.Generics.Auto Language.Oberon.ConstantFolder.ConstantFold)) (Language.Modula2.ISO.Abstract.Item l l Language.Oberon.ConstantFolder.Sem Language.Oberon.ConstantFolder.Sem) GHC.Types.~ Language.Oberon.ConstantFolder.SynCF' (Language.Modula2.ISO.Abstract.Item l l), Transformation.AG.Atts (Transformation.AG.Synthesized (Transformation.AG.Generics.Auto Language.Oberon.ConstantFolder.ConstantFold)) (Language.Oberon.Abstract.Designator l l Language.Oberon.ConstantFolder.Sem Language.Oberon.ConstantFolder.Sem) GHC.Types.~ Language.Oberon.ConstantFolder.SynCFDesignator l) => Transformation.AG.Generics.Synthesizer (Transformation.AG.Generics.Auto Language.Oberon.ConstantFolder.ConstantFold) (Language.Modula2.ISO.AST.Expression λ l) Language.Oberon.ConstantFolder.Sem Language.Oberon.ConstantFolder.Placed
+ Language.Modula2.ISO.Pretty: instance (Language.Oberon.Abstract.Nameable l, Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.IdentDef l), Prettyprinter.Internal.Pretty (Language.Modula2.Abstract.Export l), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Import l), Prettyprinter.Internal.Pretty (Language.Modula2.ISO.Abstract.AddressedIdent l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Type l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Declaration l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Expression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.FormalParameters l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.ProcedureHeading l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Block l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)) => Prettyprinter.Internal.Pretty (Language.Modula2.ISO.AST.Declaration 'GHC.Types.True Language.Modula2.ISO.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
+ Language.Modula2.ISO.Pretty: instance (Language.Oberon.Abstract.Nameable l, Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.IdentDef l), Prettyprinter.Internal.Pretty (Language.Modula2.Abstract.Export l), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Import l), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Type l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Declaration l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Expression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.FormalParameters l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.ProcedureHeading l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Block l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)) => Prettyprinter.Internal.Pretty (Language.Modula2.ISO.AST.Declaration 'GHC.Types.False Language.Modula2.ISO.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
+ Language.Modula2.ISO.Pretty: instance (Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.CaseLabels l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.FieldList l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)) => Prettyprinter.Internal.Pretty (Language.Modula2.ISO.AST.Variant λ l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
+ Language.Modula2.ISO.Pretty: instance (Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.ConstExpression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Designator l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Case l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.ConditionalBranch l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.WithAlternative l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.StatementSequence l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)) => Prettyprinter.Internal.Pretty (Language.Modula2.ISO.AST.Statement Language.Modula2.ISO.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
+ Language.Modula2.ISO.Pretty: instance (Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Declaration l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.StatementSequence l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)) => Prettyprinter.Internal.Pretty (Language.Modula2.ISO.AST.Block λ l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
+ Language.Modula2.ISO.Pretty: instance (Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.IdentDef l), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.FormalParameters l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.FieldList l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.ConstExpression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Type l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.BaseType l)) => Prettyprinter.Internal.Pretty (Language.Modula2.ISO.AST.Type Language.Modula2.ISO.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
+ Language.Modula2.ISO.Pretty: instance (Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.IdentDef l), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.QualIdent l), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Type l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Value l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.FieldList l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Modula2.Abstract.Variant l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)) => Prettyprinter.Internal.Pretty (Language.Modula2.AST.FieldList Language.Modula2.ISO.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
+ Language.Modula2.ISO.Pretty: instance (Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.QualIdent l), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Designator l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Expression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)) => Prettyprinter.Internal.Pretty (Language.Modula2.AST.Designator Language.Modula2.ISO.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
+ Language.Modula2.ISO.Pretty: instance (Prettyprinter.Internal.Pretty (Language.Oberon.Pretty.Precedence (Language.Oberon.Abstract.Expression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Expression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Value l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Element l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Modula2.ISO.Abstract.Item l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Designator l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.QualIdent l)) => Prettyprinter.Internal.Pretty (Language.Modula2.ISO.AST.Expression Language.Modula2.ISO.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
+ Language.Modula2.ISO.Pretty: instance (Prettyprinter.Internal.Pretty (Language.Oberon.Pretty.Precedence (Language.Oberon.Abstract.Expression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Expression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Value l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Element l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Modula2.ISO.Abstract.Item l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Designator l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.QualIdent l)) => Prettyprinter.Internal.Pretty (Language.Oberon.Pretty.Precedence (Language.Modula2.ISO.AST.Expression Language.Modula2.ISO.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity))
+ Language.Modula2.ISO.Pretty: instance Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.ConstExpression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity) => Prettyprinter.Internal.Pretty (Language.Modula2.ISO.AST.AddressedIdent l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
+ Language.Modula2.ISO.Pretty: instance Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Expression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity) => Prettyprinter.Internal.Pretty (Language.Modula2.ISO.AST.Item Language.Modula2.ISO.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
+ Language.Modula2.ISO.Pretty: instance Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Value l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity) => Prettyprinter.Internal.Pretty (Language.Oberon.AST.Value Language.Modula2.ISO.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
+ Language.Modula2.Pretty: instance (Language.Oberon.Abstract.Nameable l, Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.IdentDef l), Prettyprinter.Internal.Pretty (Language.Modula2.Abstract.Export l), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Import l), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Type l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Declaration l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Expression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.FormalParameters l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.ProcedureHeading l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Block l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)) => Prettyprinter.Internal.Pretty (Language.Modula2.AST.Declaration 'GHC.Types.False Language.Modula2.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
+ Language.Modula2.Pretty: instance (Language.Oberon.Abstract.Nameable l, Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.IdentDef l), Prettyprinter.Internal.Pretty (Language.Modula2.Abstract.Export l), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Import l), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Type l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Declaration l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Expression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.FormalParameters l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.ProcedureHeading l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Block l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)) => Prettyprinter.Internal.Pretty (Language.Modula2.AST.Declaration 'GHC.Types.True Language.Modula2.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
+ Language.Modula2.Pretty: instance (Prettyprinter.Internal.Pretty (Language.Modula2.Abstract.Priority l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Modula2.Abstract.Export l), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Import l), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Declaration l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Modula2.Abstract.Definition l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Block l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)) => Prettyprinter.Internal.Pretty (Language.Modula2.AST.Module λ l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
+ Language.Modula2.Pretty: instance (Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.CaseLabels l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.FieldList l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)) => Prettyprinter.Internal.Pretty (Language.Modula2.AST.Variant λ l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
+ Language.Modula2.Pretty: instance (Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.ConstExpression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Designator l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Case l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.ConditionalBranch l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.WithAlternative l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.StatementSequence l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)) => Prettyprinter.Internal.Pretty (Language.Modula2.AST.Statement Language.Modula2.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
+ Language.Modula2.Pretty: instance (Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.IdentDef l), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.FormalParameters l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.FieldList l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.ConstExpression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Type l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.BaseType l)) => Prettyprinter.Internal.Pretty (Language.Modula2.AST.Type Language.Modula2.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
+ Language.Modula2.Pretty: instance (Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.IdentDef l), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.FormalParameters l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Type l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)) => Prettyprinter.Internal.Pretty (Language.Modula2.AST.ProcedureHeading l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
+ Language.Modula2.Pretty: instance (Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.IdentDef l), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.QualIdent l), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Type l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Value l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.FieldList l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Modula2.Abstract.Variant l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)) => Prettyprinter.Internal.Pretty (Language.Modula2.AST.FieldList Language.Modula2.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
+ Language.Modula2.Pretty: instance (Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.QualIdent l), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Designator l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Expression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)) => Prettyprinter.Internal.Pretty (Language.Modula2.AST.Designator Language.Modula2.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
+ Language.Modula2.Pretty: instance (Prettyprinter.Internal.Pretty (Language.Oberon.Pretty.Precedence (Language.Oberon.Abstract.Expression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Value l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Expression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Element l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Designator l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.QualIdent l)) => Prettyprinter.Internal.Pretty (Language.Modula2.AST.Expression Language.Modula2.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
+ Language.Modula2.Pretty: instance (Prettyprinter.Internal.Pretty (Language.Oberon.Pretty.Precedence (Language.Oberon.Abstract.Expression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Value l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Expression l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Element l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Designator l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity), Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.QualIdent l)) => Prettyprinter.Internal.Pretty (Language.Oberon.Pretty.Precedence (Language.Modula2.AST.Expression Language.Modula2.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity))
+ Language.Modula2.Pretty: instance Prettyprinter.Internal.Pretty (Language.Modula2.AST.IdentDef l)
+ Language.Modula2.Pretty: instance Prettyprinter.Internal.Pretty (Language.Modula2.AST.QualIdent l)
+ Language.Modula2.Pretty: instance Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.IdentDef l) => Prettyprinter.Internal.Pretty (Language.Modula2.AST.Export l)
+ Language.Modula2.Pretty: instance Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.IdentDef l) => Prettyprinter.Internal.Pretty (Language.Modula2.AST.Import l)
+ Language.Modula2.Pretty: instance Prettyprinter.Internal.Pretty (Language.Oberon.Abstract.Value l l Data.Functor.Identity.Identity Data.Functor.Identity.Identity) => Prettyprinter.Internal.Pretty (Language.Oberon.AST.Value Language.Modula2.AST.Language l Data.Functor.Identity.Identity Data.Functor.Identity.Identity)
Files
- CHANGELOG.md +5/−0
- language-Modula2.cabal +5/−5
- src/Language/Modula2/ConstantFolder.hs +6/−9
- src/Language/Modula2/ISO/ConstantFolder.hs +5/−8
CHANGELOG.md view
@@ -1,5 +1,10 @@ # Revision history for language-Modula2 +## 0.1.4 -- 2023-09-26++* Using `OverloadedRecordDot` (GHC >= 9.2) instead of field accessors unsupported by GHC 9.6+* Bumped the upper bounds of `rank2classes`, `transformers`, and `template-haskell`+ ## 0.1.3 -- 2022-10-23 * Using `autochain` and new imports from grammatical-parsers-0.7
language-Modula2.cabal view
@@ -1,7 +1,7 @@ cabal-version: 2.4 name: language-Modula2-version: 0.1.3+version: 0.1.4 synopsis: Parser, pretty-printer, and more for the Modula-2 programming language description: The library and the executable supports two versions of the Modula-2 programming language: as described by the@@ -24,10 +24,10 @@ Language.Modula2.ISO.Abstract, Language.Modula2.ISO.AST, Language.Modula2.ISO.Grammar, Language.Modula2.ISO.Pretty, Language.Modula2.ISO.ConstantFolder -- other-modules:- build-depends: base >= 4.7 && < 5, text < 3, containers >= 0.5 && < 1.0, filepath < 1.5, directory < 1.4,- parsers >= 0.12.7 && < 0.13, input-parsers >= 0.2.2 && < 0.4, prettyprinter >= 1.2.1 && < 1.7,- rank2classes >= 1.3 && < 1.5, grammatical-parsers >= 0.7 && < 0.8, deep-transformations == 0.2.*,- template-haskell >= 2.11 && < 2.20,+ build-depends: base >= 4.16 && < 5, text < 3, containers >= 0.5 && < 1.0, filepath < 1.5, directory < 1.4,+ parsers >= 0.12.7 && < 0.13, input-parsers >= 0.2.2 && < 0.4, prettyprinter >= 1.2.1 && < 1.8,+ rank2classes >= 1.3 && < 1.6, grammatical-parsers >= 0.7 && < 0.8, deep-transformations == 0.2.*,+ template-haskell >= 2.11 && < 2.21, language-oberon >= 0.3 && < 0.4 hs-source-dirs: src default-language: Haskell2010
src/Language/Modula2/ConstantFolder.hs view
@@ -1,6 +1,6 @@ {-# LANGUAGE DataKinds, DeriveGeneric, DuplicateRecordFields, FlexibleContexts, FlexibleInstances, InstanceSigs,- MultiParamTypeClasses, OverloadedStrings, RankNTypes,+ MultiParamTypeClasses, OverloadedRecordDot, OverloadedStrings, RankNTypes, ScopedTypeVariables, TypeApplications, TypeFamilies, UndecidableInstances #-} -- | The main export of this module is the function 'foldConstants' that folds the constants in a Modula-2 AST using@@ -76,10 +76,9 @@ => Environment l -> AST.Module l l Placed Placed -> AST.Module l l Placed Placed foldConstants predef aModule = snd $ getMapped- $ folded (syn (Transformation.apply (Auto ConstantFold) ((0, Trailing [], 0), Auto ConstantFold Deep.<$> aModule)- `Rank2.apply`- Inherited (InhCF predef undefined))- :: SynCFMod' l (AST.Module l l))+ $ (syn (Transformation.apply (Auto ConstantFold) ((0, Trailing [], 0), Auto ConstantFold Deep.<$> aModule)+ `Rank2.apply`+ Inherited (InhCF predef undefined))).folded newtype Modules l f' f = Modules {getModules :: Map AST.Ident (f (AST.Module l l f' f'))} @@ -125,12 +124,10 @@ instance Ord (Abstract.QualIdent l) => Attribution (Auto ConstantFold) (Modules l) Sem Placed where attribution _ (_, Modules self) (Inherited inheritance, Modules ms) =- (Synthesized SynCFRoot{modulesFolded= Modules (pure . snd . getMapped . foldedModule . syn <$> ms)},+ (Synthesized SynCFRoot{modulesFolded= Modules (pure . snd . getMapped . (.folded) . syn <$> ms)}, Modules (Map.mapWithKey moduleInheritance self)) where moduleInheritance name mod = Inherited InhCF{env= rootEnv inheritance <> foldMap (moduleEnv . syn) ms, currentModule= name}- foldedModule :: SynCFMod' l (AST.Module l l) -> Mapped Placed (AST.Module l l Placed Placed)- foldedModule = folded instance (Abstract.Modula2 l, Abstract.Nameable l, k ~ Abstract.QualIdent l, Ord k, Show k, v ~ Abstract.Value l l Placed Placed,@@ -188,7 +185,7 @@ SynCFExp{folded= Mapped (pos, Abstract.set t (getMapped . folded' . syn <$> getZipList elements)), foldedValue= Nothing} synthesis _ (pos, _) _ (AST.Read des) =- case (designatorValue (syn des), getMapped $ folded (syn des :: SynCFDesignator l))+ case (designatorValue (syn des), getMapped $ (syn des).folded) of (Just val, _) -> Oberon.literalSynthesis val (Nothing, (pos', des')) -> SynCFExp{folded= Mapped (pos, Abstract.read (pos', des')), foldedValue= Nothing}
src/Language/Modula2/ISO/ConstantFolder.hs view
@@ -1,5 +1,5 @@ {-# LANGUAGE DataKinds, DuplicateRecordFields, FlexibleContexts, FlexibleInstances,- MultiParamTypeClasses, OverloadedStrings, RankNTypes,+ MultiParamTypeClasses, OverloadedRecordDot, OverloadedStrings, RankNTypes, ScopedTypeVariables, TypeApplications, TypeFamilies, UndecidableInstances #-} -- | The main export of this module is the function 'foldConstants' that folds the constants in an ISO Modula-2 AST@@ -80,10 +80,9 @@ => Environment l -> AST.Module l l Placed Placed -> AST.Module l l Placed Placed foldConstants predef aModule = snd $ getMapped- $ folded (syn (Transformation.apply (Auto ConstantFold) ((0, Trailing [], 0), Auto ConstantFold Deep.<$> aModule)- `Rank2.apply`- Inherited (InhCF predef undefined))- :: SynCFMod' l (AST.Module l l))+ $ (syn (Transformation.apply (Auto ConstantFold) ((0, Trailing [], 0), Auto ConstantFold Deep.<$> aModule)+ `Rank2.apply`+ Inherited (InhCF predef undefined))).folded newtype Modules l f' f = Modules {getModules :: Map AST.Ident (f (AST.Module l l f' f'))} @@ -128,12 +127,10 @@ instance Ord (Abstract.QualIdent l) => Attribution (Auto ConstantFold) (Modules l) Sem Placed where attribution _ (_, Modules self) (Inherited inheritance, Modules ms) =- (Synthesized SynCFRoot{modulesFolded= Modules (pure . snd . getMapped . foldedModule . syn <$> ms)},+ (Synthesized SynCFRoot{modulesFolded= Modules (pure . snd . getMapped . (.folded) . syn <$> ms)}, Modules (Map.mapWithKey moduleInheritance self)) where moduleInheritance name mod = Inherited InhCF{env= rootEnv inheritance <> foldMap (moduleEnv . syn) ms, currentModule= name}- foldedModule :: SynCFMod' l (AST.Module l l) -> Mapped Placed (AST.Module l l Placed Placed)- foldedModule = folded instance (Abstract.Nameable l, Ord (Abstract.QualIdent l), Atts (Synthesized (Auto ConstantFold)) (Abstract.Declaration l l Sem Sem) ~ SynCFMod' l (Abstract.Declaration l l),