Release Notes
Release History
Version | Date | Description |
---|---|---|
1.1 | unreleased | |
1.0 | July 2007 | |
0.5 | July 6, 2006 | |
0.4 | September 2, 2005 | |
0.3 | March 17, 2005 |
Release 1.1 – unreleased
Type | Changes | By |
---|---|---|
Add a new type of annotation known as a DefinitionUseAnn, which is annotated to all *reference* ZNames (that is, ZNames inside RefExps) that refers to the declaring name. | Tim | |
Add use before declaration functionalty that does not permit recursive types. What was previously the use before declaration options is now the recursive types option. | Tim | |
Add a more detailed explanation of the error for the case that the hard space is missing between a schema name and its decoration. | Petra |
Release 1.0 – July 2007
Type | Changes | By |
---|---|---|
Corrected bug 1688910 -- Characterisation rules not implemented correctly | Tim | |
Corrected bug 1609808 -- Ids become inconsistent if an expr is typechecked twice | Tim | |
Corrected bug 1606459 -- Ids in set comprehension | Tim | |
Corrected bug 1578608 -- Using a given type as a generic doesn't work | Tim |
Release 0.5 – July 6, 2006
Type | Changes | By |
---|---|---|
Corrected bug 1497266 -- Typechecker merges too many DeclName ids. | Tim | |
Corrected bug 1486054 -- Stack overflow. Also, corrected problem with type inference in the example specification provided with that bug report. | Tim | |
Restrict class types to trees and not graphs to prevent stack overflowing when printing ASTs (bug 1448515). | Tim | |
Fixed problem with renaming in mutually recursive types. | Tim | |
Corrected bug number 1443880 -- Duplicate names not allowed in unrelated sections. | Tim | |
Expanded schema references beginning Delta and Xi when they are locally declared. Added new class AbstractTypeEnv, superclass to SectTypeEnv and TypeEnv, which provides the method to do this. | Tim | |
Only the left side of freetypes are in scope for mutually recursive free types. | Tim | |
Use the ZDeclName ID attribute to distinguish between the same names in different scopes. | Tim | |
Fixed a problem with calculating the characteristic tuple in SetCompExprs, LambdaExprs, and MuExprs. | Tim | |
Fixed a problem with class type unification to improve type inferencing. | Tim | |
Implement a check that generic classes with an empty signature cannot be class unioned with two different sets of parameters, e.g. G[\nat] \classunin G[\power\nat]. | Tim |
Release 0.4 – September 2, 2005
Type | Changes | By |
---|---|---|
Implemented implicit downcasting (e.g. a \in B => p) | Tim | |
Improved the error messages reported for relation applications. | Tim | |
Instantiate and check that generic types are instantiated for selection expressions that reference a generic definition in a class. | Tim | |
Add recursive operation definitions within the same class paragraph. | Tim | |
Finish type rules for PolyExpr (check that sublasses have the type-compatible features). | Tim | |
Added a method "override" to TypeEnv that is used in downcasting objects, so that downcasting in a scope enrichment is visible to the right-hand-side of the scope enrichment. | Tim | |
Primary variable names declared in a superclass can now be used in delta lists. | Tim | |
Rename primary variable names in rename exprs. | Tim | |
Add functionality to check clashing inherited features. | Tim | |
Add the "self" variable to a class state. | Tim | |
Changed the type rule for containment exprs to allow any class expression after discussions with Graeme. | Tim | |
Allow type-compatible overriding of attributes and state variables. | Tim | |
Overridden operations have access to the declarations in the definition in the superclass. | Tim | |
No "Init" definition in a class implies init = true. This allows "Init" to be selected even if not declared. | Tim | |
Prevent calls on recursive types in renameUnknownTypes() | Tim | |
Implemented a check that names in the visibility list are features of the class. | Tim | |
Changed the Object-Z typechecker so that only class names can be inherited, not just arbitrary classes of type ClassRefType. | Tim | |
If the signature of an operation cannot be determined due to a recursive defition, the signature should be empty instead of raising an error. | Tim | |
Improved error message for incompatible Object-Z operation inheritance by specifying the inheritance expression. | Tim | |
Addition of \oid to the Object-Z typing environment. | Tim | |
Conjunction operations and scope enrichments operators both allow downcasting within larger operation expressions. | Tim | |
Improved the weak typing unification algorithm to better infer variable types. | Tim |
Release 0.3 – March 17, 2005
Type | Changes | By |
---|---|---|
Initial Release. | Tim |