... | @@ -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
|
... | | ... | |