- 14 Jan, 1999 3 commits
-
-
sof authored
Assorted minor Haskell 98 changes: * Maximal munch rule for "--" comments * _ as lower-case letter, "_" is a reserved id. Prefixing unused variable names in patterns with '_' causes the renamer not to report such names as being unused. * allow empty decls * comprehensions are now list comprehensions, not monadic. * use Monad.fail to signal pattern matching errors within do expressions. * remove record punning. * empty contexts are now legal (go wild!) * allow records with no fields * allow newtypes with a labelled field * default default is now (Integer, Double) * turn off defaulting mechanism for args & res to a _ccall_. * allow LHSs of the form (a -.- b) x = ... * Main.main can now have type (IO a) * nuked Void (and its use in the compiler sources.) * deriving machinery for Enum now also generate 'succ' and 'pred' method bindings.
-
sof authored
Arrange for Makefile dependencies to be generated on misc parser/ helper code.
-
sof authored
Added indexFS, indexFS :: FastString -> Int -> Char
-
- 13 Jan, 1999 1 commit
-
-
simonm authored
Z-encodings for '/' and '.' were both 'Zd'. Change '.' to 'Zs'.
-
- 08 Jan, 1999 2 commits
- 07 Jan, 1999 7 commits
-
-
kw217 authored
Add missing export of warnPprTrace (for WARN macro).
-
simonpj authored
Fix RnEnv.mkPrintUnqualFn
-
keithw authored
Add missing pattern to tidyNote.
-
simonpj authored
Small changes to make the compiler boot itself
-
simonpj authored
Add debug macro WARN
-
simonm authored
New rev5 hi-boot file.
-
simonm authored
Sync up with .hi-boot file.
-
- 06 Jan, 1999 2 commits
- 05 Jan, 1999 1 commit
-
-
simonpj authored
Fix renamer crash on bootstrap build
-
- 24 Dec, 1998 1 commit
-
-
simonpj authored
Fix simplifier bug that forgot mkRhsTyLam
-
- 23 Dec, 1998 2 commits
- 22 Dec, 1998 6 commits
-
-
simonm authored
Filter out type arguments when analysing primops.
-
simonm authored
Another fix for getScrutineeTyCon: ignore Fun tycons.
-
simonm authored
Remove overlapped case correctly spotted by GHC.
-
simonpj authored
1. Add primOpStrictness to PrimOp.lhs, and use it in - the strictness analyser - the simplifier to deal correctly with PrimOps that are non-strict. ToDo: use this new facility to clean up SeqOp, ParOp. 2. Fix the instance-decl-import bug, but printing de-synonym'd types in interface files. 3. Make the simplifier treat applications with an unlifted-type arg in the same way it would if the function was strict (in rebuild_strict)
-
simonm authored
splitAlgTyConAppThroughNewTypes becomes splitTyConAppThroughNewTypes (i.e. it handles primitive types in addition to other TyCons). This enables case-of-case-of-primop to compile correctly.
-
simonm authored
Update .hi-boot files (Expr only takes one parameter and Var has none).
-
- 21 Dec, 1998 3 commits
- 18 Dec, 1998 1 commit
-
-
simonpj authored
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.
-
- 10 Dec, 1998 1 commit
-
-
simonpj authored
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.
-
- 03 Dec, 1998 1 commit
-
-
simonm authored
Inline PrimOps (inc. _c{call,asm}_GC_): load the arguments into temporaries early, just in case one of the arguments is in the spot on the stack where we want to push the return address.
-
- 02 Dec, 1998 1 commit
-
-
simonm authored
Move 4.01 onto the main trunk.
-
- 16 Nov, 1998 1 commit
-
-
sof authored
Cleaned up the handling of the default calling conventions for 'foreign' decls
-
- 13 Nov, 1998 2 commits
- 09 Nov, 1998 2 commits
- 08 Nov, 1998 3 commits