Changelog of @hackage/hpython 0.3

Revision history for hpython

0.3

  • Changed the sigature of Data.Validation.Monadic.bindVM to have the same form as (>>=)

  • Added HasAnn instance for Language.Python.Syntax.Ann.Ann

  • Reworked scope checking (Language.Python.Validate.Scope)

    Instead of the old triplicate ScopeContext, we now keep a single context and mark each entry with its 'occurrence path'. This is much simpler to manage, but just as expressive as the old version.

  • Improved scope checking of compound statements

    Compound statements like

    if ...:
        x = 1
    else:
        y = x
    

    were succeeding in scope checking because the variables from each block were added to the scope sequentially. Now, the multiple blocks are checked in the same scope, and their final scopes are combined at the end of the process.

  • Added Foldable1/Traversable1 instances for CommaSep1 and CommaSep1'

  • Added HasStatements1 with instances for Statement and Block

0.2

2019-01-10

  • Improved Plated instance for exprs

    It now drills down into collections, parameters, arguments, subscripts, and comprehensions

  • Added _Idents traversal

  • Annotations are now wrapped in the Ann type to aid generic deriving

  • Added HasExprs instance for Module

  • Added HasStatements instance for Statement

  • Added IO-based read- functions to Language.Python.Parse

  • Re-export Data.Validation from Language.Python.Parse

  • Added annot and annot_ lenses to Language.Python.Syntax.Ann to retrieve annotations from structures

0.1.0.1

2019-01-07

Welcome to 2019! (Fixed dates)

0.1

2019-01-07

Initial release