summaryrefslogtreecommitdiff
path: root/ghc/compiler/parser/utils.h
Commit message (Collapse)AuthorAgeFilesLines
* [project @ 1999-06-01 16:40:41 by simonmar]simonmar1999-06-011-134/+0
| | | | | | | | | | | | | | | | | | | | | | | | | 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.
* [project @ 1999-01-15 18:32:22 by sof]sof1999-01-151-1/+0
| | | | | | | | | | | Be a little bit more user-friendly when encountering record puns, which is no longer supported by Haskell. Instead of a Plain Old Parse Error, print out foo.hs:11:11: Haskell 98 does not support 'punning' on records .... Hopefully that should give the user a big enough hint at what's going wrong..
* [project @ 1998-12-18 17:40:31 by simonpj]simonpj1998-12-181-2/+1
| | | | | | | | | | | | | | | | | | | | | 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.
* [project @ 1998-11-16 11:56:09 by sof]sof1998-11-161-0/+1
| | | | Cleaned up the handling of the default calling conventions for 'foreign' decls
* [project @ 1998-11-08 17:06:13 by sof]sof1998-11-081-0/+1
| | | | front end support for 'foreign label's
* [project @ 1998-08-14 12:07:18 by sof]sof1998-08-141-0/+9
| | | | Front end changes to handle foreign declarations
* [project @ 1998-01-21 17:48:48 by sof]sof1998-01-211-0/+1
| | | | | Removed Haskell-1.2 option (unused), plus new option for warning about SCC droppage.
* [project @ 1998-01-08 18:03:08 by simonm]simonm1998-01-081-0/+1
| | | | | | | | | | | | | | | | | | | 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.
* [project @ 1996-06-05 06:44:31 by partain]partain1996-06-051-1/+0
| | | | SLPJ changes through 960604
* [project @ 1996-04-10 18:10:47 by partain]partain1996-04-101-15/+0
| | | | Add SLPJ/WDP 1.3 changes through 960410
* [project @ 1996-04-07 15:41:24 by partain]partain1996-04-071-2/+5
| | | | Sansom 1.3 changes through 960407
* [project @ 1996-03-19 08:58:34 by partain]partain1996-03-191-0/+136
simonpj/sansom/partain/dnt 1.3 compiler stuff through 96/03/18