| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit replaces the old yacc parser with a Happy-generated one.
Notes:
- The generated .hs file is *big*. Best to use a recent
version of Happy, and even better to add the -c flag
to use unsafeCoerce# with ghc (versions 4.02+ please).
- The lexer has grown all sorts of unsightly growths and
should be put down as soon as possible.
- Parse errors may result in strange diagnostics. I'm looking
into this.
- HsSyn now contains a few extra constructors due to the way
patterns are parsed as expressions in the parser.
- The layout rule is implemented according to the Haskell
report. I found a couple of places in the libraries where
we previously weren't adhering to this - in particular the
rule about "nested contexts must be more indented than
outer contexts". The rule is necessary to disambiguate
in the presence of empty declaration lists.
|
|
|
|
| |
RULES-NOTES
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Another big commit from Simon. Actually, the last one
didn't all go into the main trunk; because of a CVS glitch it
ended up in the wrong branch.
So this commit includes:
* Scoped type variables
* Warnings for unused variables should work now (they didn't before)
* Simplifier improvements:
- Much better treatment of strict arguments
- Better treatment of bottoming Ids
- No need for w/w split for fns that are merely strict
- Fewer iterations needed, I hope
* Less gratuitous renaming in interface files and abs C
* OccName is a separate module, and is an abstract data type
I think the whole Prelude and Exts libraries compile correctly.
Something isn't quite right about typechecking existentials though.
|
|
|
|
| |
Move 4.01 onto the main trunk.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Great Multi-Parameter Type Classes Merge.
Notes from Simon (abridged):
* Multi-parameter type classes are fully implemented.
* Error messages from the type checker should be noticeably improved
* Warnings for unused bindings (-fwarn-unused-names)
* many other minor bug fixes.
Internally there are the following changes
* Removal of Haskell 1.2 compatibility.
* Dramatic clean-up of the PprStyle stuff.
* The type Type has been substantially changed.
* The dictionary for each class is represented by a new
data type for that purpose, rather than by a tuple.
|
|
|
|
| |
Remove deforester
|
|
|
|
| |
updated to cope with pattern guards
|
|
|
|
| |
Cross module worker-wrappers
|
|
|
|
| |
Final compiler stuff before Sansom renamer 960321
|
|
simonpj/sansom/partain/dnt 1.3 compiler stuff through 96/03/18
|