diff options
author | simonpj <unknown> | 1998-12-10 08:54:19 +0000 |
---|---|---|
committer | simonpj <unknown> | 1998-12-10 08:54:19 +0000 |
commit | 688c1dd362dad4fa36cbec652db2393a1949e89d (patch) | |
tree | 53fd7421c6aac73fd2325e76724db1662f07895e /ghc | |
parent | b77d3bcd339911ab9dfe4e095ded2f3a3edaa36c (diff) | |
download | haskell-688c1dd362dad4fa36cbec652db2393a1949e89d.tar.gz |
[project @ 1998-12-10 08:54:18 by simonpj]
This massive commit is what Simon has been up to for a couple of weeks.
1. Scoped type variables are in
2. The typechecker works a bit differently.
In partiular, the compiler no longer has TcTyVars of
a different type than TyVars.
All the 's' and 'flexi' type parameters have vanished from Id, TyVar,
Type, etc.
The typchecker monad is now in the IO world (though I didn't get
around to removing the 's' parameter from the monad, but it's
no longer used)
Bottom line: significantly simpler,
fewer gratuitous conversions from TcType <-> Type
but less type security in the compiler
There was a reason for doing this now; somehow the 's' stuff
got in the way of kind inference for scoped type variables
and I lost patience with it.
3. Haskell98-style reporting of scope errors; i.e. you only get
an error if you use a variable that could mean two different things.
At the same time I did a lot of tidying-up in the renamer.
4. Mostly-complete fix to the reporting of unused variables, which
has never worked properly. (The 'mostly' bit is because it reports
those 'system' tycons like _C as unused. I'm on the job.)
5. The parser is a bit tider than it was. A few more ugn files give
a more refined C data type. I had to tackle this because of
the scoped type variables.
6. Haskell98-style fixities. Fixity decls can occur wherever a type
signature can
7. Some HsSyn changes that constitute minor tidy ups
Put TypeDecl and ClassDecl into one type [HsDecls]
Improved the HsMatch/GRHSs etc data types.
8. TcGRHSs is removed; combined into TcMatches.
I DO NOT PROMISE THAT ALL OF THIS WORKS. It compiles the Prelude,
but I have not tested it more than that. Stick to 4.01 if you want a
compiler that's sure to work.
Diffstat (limited to 'ghc')
-rw-r--r-- | ghc/compiler/Makefile | 11 | ||||
-rw-r--r-- | ghc/compiler/NOTES | 6 |
2 files changed, 13 insertions, 4 deletions
diff --git a/ghc/compiler/Makefile b/ghc/compiler/Makefile index a89de68603..b90208af4e 100644 --- a/ghc/compiler/Makefile +++ b/ghc/compiler/Makefile @@ -1,5 +1,5 @@ # ----------------------------------------------------------------------------- -# $Id: Makefile,v 1.46 1998/12/02 13:17:15 simonm Exp $ +# $Id: Makefile,v 1.47 1998/12/10 08:54:18 simonpj Exp $ TOP = .. include $(TOP)/mk/boilerplate.mk @@ -158,17 +158,20 @@ nativeGen/MachMisc_HC_OPTS = -K2m -fvia-C nativeGen/MachCode_HC_OPTS = -H10m parser/UgenAll_HC_OPTS = -fvia-C '-\#include"hspincl.h"' parser/UgenUtil_HC_OPTS = -fvia-C '-\#include"hspincl.h"' -parser/U_constr_HC_OPTS = -fvia-C '-\#include"hspincl.h"' parser/U_binding_HC_OPTS = -fvia-C '-\#include"hspincl.h"' -parser/U_pbinding_HC_OPTS = -fvia-C '-\#include"hspincl.h"' +parser/U_constr_HC_OPTS = -fvia-C '-\#include"hspincl.h"' +parser/U_either_HC_OPTS = -fvia-C '-\#include"hspincl.h"' parser/U_entidt_HC_OPTS = -fvia-C '-\#include"hspincl.h"' +parser/U_gdexp_HC_OPTS = -fvia-C '-\#include"hspincl.h"' +parser/U_grhsb_HC_OPTS = -fvia-C '-\#include"hspincl.h"' parser/U_list_HC_OPTS = -fvia-C '-\#include"hspincl.h"' parser/U_literal_HC_OPTS = -fvia-C '-\#include"hspincl.h"' +parser/U_match_HC_OPTS = -fvia-C '-\#include"hspincl.h"' parser/U_maybe_HC_OPTS = -fvia-C '-\#include"hspincl.h"' -parser/U_either_HC_OPTS = -fvia-C '-\#include"hspincl.h"' parser/U_qid_HC_OPTS = -fvia-C '-\#include"hspincl.h"' parser/U_tree_HC_OPTS = -H12m -fvia-C '-\#include"hspincl.h"' parser/U_ttype_HC_OPTS = -fvia-C '-\#include"hspincl.h"' + prelude/PrimOp_HC_OPTS = -H12m -K3m reader/Lex_HC_OPTS = -K2m -H16m -fvia-C diff --git a/ghc/compiler/NOTES b/ghc/compiler/NOTES index 367bb9350c..c64db1a5b5 100644 --- a/ghc/compiler/NOTES +++ b/ghc/compiler/NOTES @@ -1,3 +1,9 @@ +cvs remove TcGRHSs.hi-boot TcGRHSs.hi-boot-5 TcGRHSs.lhs +cvs remove pbinding.ugn +cvs add grhsb.ugn gdexp.ugn +----------------------- + + * CHECK that the things seek_liftable found are done in Core * CHECK that there aren't too many indirections in STG |