| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
Clean up the module initialisation stuff a bit, and add support for
module initialisation blocks in the native code generator.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- generalise the per-module initialisation stubs so that we use it
in normal (non-profiled) code too. The initialisation stubs are
now called '__init_<module>' rather than '_reg<module>'.
- Register foreign exported functions as stable pointers in the
initialisation code for the module. This fixes the foreign export
problems reported by several people.
- remove the concept of "module groups" from the profiling subsystem.
- change the profiling semantics slightly; it should be unnecessary
to use '-caf-all' to get reasonable profiles now.
|
|
|
|
|
| |
Move some code around to reduce the linkage between CgMonad and CgBindery,
and make the .hi-boot-5 file compatible with both 4.02 and 4.03.
|
|
|
|
| |
RULES-NOTES
|
|
|
|
|
| |
Save a few bytes by ommitting the static link field on closures with
an empty SRT.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- import list tweaks
- moved the code that decides that a StgCon really shouldn't
be mapped to a static constructor but an updateable thunk
if it contains lit-lits from the codegen into the CoreToStg
translation.
Added an extra case to this code to deal with StgCon's that contain
references to values that reside in a DLL, where we also have to
opt for an updateable thunk instead of a static constructor. Only
applies when compiling on/for Win32 platforms.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Finally! This commits the ongoing saga of Simon's hygiene sweep
FUNCTIONALITY
~~~~~~~~~~~~~
a) The 'unused variable' warnings from the renamer work.
b) Better error messages here and there, esp type checker
c) Fixities for Haskell 98 (maybe I'd done that before)
d) Lazy reporting of name clashes for Haskell 98 (ditto)
HYGIENE
~~~~~~~
a) type OccName has its own module. OccNames are represented
by a single FastString, not three as in the last round. This
string is held in Z-encoded form; a decoding function decodes
for printing in user error messages. There's a nice tight
encoding for (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)
b) type Module is a proper ADT, in module OccName
c) type RdrName is a proper ADT, in its own module
d) type Name has a new, somwhat tidier, representation
e) much grunting in the renamer to get Provenances right.
This makes error messages look better (no spurious qualifiers)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
One square bracket too many
|
|
|
|
| |
Removed use of opt_CompilingGhcInternals
|
|
|
|
| |
2.04 changes
|
|
|
|
| |
Major update to more-or-less 2.02
|
|
|
|
| |
SLPJ new renamer and lots more
|
|
|
|
| |
partain 1.3 changes through 960629
|
|
|
|
| |
SLPJ 1.3 changes through 96/06/25
|
|
|
|
| |
SLPJ changes through 960604
|
|
|
|
| |
Add SLPJ/WDP 1.3 changes through 960410
|
|
|
|
| |
Sansom 1.3 changes through 960408
|
|
|
|
| |
Add SLPJ/WDP 1.3 changes through 960404
|
|
|
|
| |
simonpj/sansom/partain/dnt 1.3 compiler stuff through 96/03/18
|
|
|
|
| |
Alleged post-Sansom 0.27+ code
|
| |
|
|
Initial revision
|