# 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