Edit ToolSupport authored by malcolm.wallace@cs.york.ac.uk's avatar malcolm.wallace@cs.york.ac.uk
...@@ -7,11 +7,12 @@ It is likely that Haskell Prime will make some breaking changes to Haskell'98 co ...@@ -7,11 +7,12 @@ It is likely that Haskell Prime will make some breaking changes to Haskell'98 co
I imagine the maintainers of old code would be happiest if there were a mechanical and guaranteed semantically correct I imagine the maintainers of old code would be happiest if there were a mechanical and guaranteed semantically correct
method for updating their modules. Issues to consider: method for updating their modules. Issues to consider:
- replacements for removal candidates e.g. (n+k) patterns, irrefutable patterns, etc. - simple removal candidates e.g. (n+k) patterns, irrefutable patterns, etc.
- transform imports of the Haskell'98 libraries to imports of Haskell Prime libraries - transform imports of the Haskell'98 libraries to imports of Haskell Prime libraries
- any major changes, e.g. records
- **Haskell Prime to Haskell'98.** - **Haskell Prime to Haskell'98.**
There is also a case to be made that, if there are syntactic additions to the language, it could be valuable to define them in terms There is also a case to be made that, if there are to be syntactic additions to the language, it is valuable to define them in terms
of the existing Haskell'98 core. A syntactic translator could then be used as a simple pre-processor to enable users to gain experience of the existing Haskell'98 core. A syntactic translator could then be used as a simple pre-processor to enable users to gain experience
with the proposals in real code, but using existing compilers. This might enable e.g. QuickChecking? of semantic properties to compare with the proposals in real code, but using existing compilers. This might enable e.g. QuickChecking? of semantic properties to compare
the intended meaning of new constructs with the proposed translation to core (for errors). It would also be a low-cost way to permit the intended meaning of new constructs with the proposed translation to core (for errors). It would also be a low-cost way to permit
... ...
......