simonpj [Wed, 27 Jan 1999 15:05:07 +0000 (15:05 +0000)]
[project @ 1999-01-27 15:05:07 by simonpj]
Add RdrName.lhs
simonpj [Wed, 27 Jan 1999 15:01:17 +0000 (15:01 +0000)]
[project @ 1999-01-27 15:01:03 by simonpj]
Haskell 98 updates
simonpj [Wed, 27 Jan 1999 14:52:25 +0000 (14:52 +0000)]
[project @ 1999-01-27 14:51:14 by simonpj]
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)
simonm [Wed, 27 Jan 1999 12:11:26 +0000 (12:11 +0000)]
[project @ 1999-01-27 12:11:25 by simonm]
More missing files <sigh>
simonm [Wed, 27 Jan 1999 10:55:39 +0000 (10:55 +0000)]
[project @ 1999-01-27 10:55:39 by simonm]
import PrelStable to get StablePtrs.
simonm [Wed, 27 Jan 1999 10:12:35 +0000 (10:12 +0000)]
[project @ 1999-01-27 10:12:35 by simonm]
PrelForeign.StablePtr moved to PrelStable.
simonm [Wed, 27 Jan 1999 10:11:27 +0000 (10:11 +0000)]
[project @ 1999-01-27 10:11:27 by simonm]
Add missing file.
simonm [Tue, 26 Jan 1999 16:16:35 +0000 (16:16 +0000)]
[project @ 1999-01-26 16:16:19 by simonm]
- Add specialised closure types (CONSTR_p_n, THUNK_p_n, FUN_p_n)
- Add -T<n> RTS flag to specify the number of steps in younger generations.
simonm [Tue, 26 Jan 1999 14:18:38 +0000 (14:18 +0000)]
[project @ 1999-01-26 14:18:38 by simonm]
Add missing file.
simonm [Tue, 26 Jan 1999 14:04:46 +0000 (14:04 +0000)]
[project @ 1999-01-26 14:04:46 by simonm]
add missing file.
sof [Tue, 26 Jan 1999 13:07:39 +0000 (13:07 +0000)]
[project @ 1999-01-26 13:07:39 by sof]
Drop unused infix decl for 'thenMaybeL' - spotted by 4.02 renamer.
simonm [Tue, 26 Jan 1999 12:25:02 +0000 (12:25 +0000)]
[project @ 1999-01-26 12:24:57 by simonm]
More stable name additions/changes.
simonm [Tue, 26 Jan 1999 11:13:15 +0000 (11:13 +0000)]
[project @ 1999-01-26 11:12:41 by simonm]
- Add Stable Names
- Stable pointers and stable names are now both provided by the
"Stable" module in ghc/lib/exts. Documentation is updated, and Foriegn
still exports the stable pointer operations for backwards compatibility.
sof [Tue, 26 Jan 1999 10:41:20 +0000 (10:41 +0000)]
[project @ 1999-01-26 10:41:20 by sof]
ifdef fix
sof [Tue, 26 Jan 1999 09:59:19 +0000 (09:59 +0000)]
[project @ 1999-01-26 09:59:18 by sof]
Prepared to support i?86-*-mingw32
sof [Mon, 25 Jan 1999 14:02:03 +0000 (14:02 +0000)]
[project @ 1999-01-25 14:02:03 by sof]
Added indexStablePtrArray (moved over from MutableArray)
sof [Mon, 25 Jan 1999 14:00:46 +0000 (14:00 +0000)]
[project @ 1999-01-25 14:00:46 by sof]
Completeness job - added read and write ops for various sized Ints and Words.
sof [Mon, 25 Jan 1999 13:58:56 +0000 (13:58 +0000)]
[project @ 1999-01-25 13:58:55 by sof]
Added --> {Int,Word}# coercion functions to export list. For internal use only
simonm [Mon, 25 Jan 1999 12:01:21 +0000 (12:01 +0000)]
[project @ 1999-01-25 12:01:21 by simonm]
Avoid a couple of C compiler warnings.
sof [Mon, 25 Jan 1999 11:55:06 +0000 (11:55 +0000)]
[project @ 1999-01-25 11:55:06 by sof]
Added osf3 guess
sof [Mon, 25 Jan 1999 11:42:57 +0000 (11:42 +0000)]
[project @ 1999-01-25 11:42:51 by sof]
Tweaks to make the sources compilable again on osf3.2
sof [Mon, 25 Jan 1999 10:26:18 +0000 (10:26 +0000)]
[project @ 1999-01-25 10:26:18 by sof]
Added isEmptyChan
sof [Sun, 24 Jan 1999 14:44:01 +0000 (14:44 +0000)]
[project @ 1999-01-24 14:44:00 by sof]
Moved ST <--> IO coercion functions from IOExts to ST (and LazyST) docs.
sof [Sun, 24 Jan 1999 14:43:19 +0000 (14:43 +0000)]
[project @ 1999-01-24 14:43:19 by sof]
- Completed lists of coercion functions provided.
- Clarified what behaviour to expect from Enum instances.
sof [Sun, 24 Jan 1999 14:37:59 +0000 (14:37 +0000)]
[project @ 1999-01-24 14:37:59 by sof]
GhcReportCompiles: default is NO
sof [Sun, 24 Jan 1999 14:19:48 +0000 (14:19 +0000)]
[project @ 1999-01-24 14:18:55 by sof]
more updates
sof [Sun, 24 Jan 1999 14:00:14 +0000 (14:00 +0000)]
[project @ 1999-01-24 14:00:12 by sof]
Tidied up desugar warnings - will now print out patterns containing
infix constructors correctly.
sof [Sun, 24 Jan 1999 13:45:09 +0000 (13:45 +0000)]
[project @ 1999-01-24 13:45:05 by sof]
Updated desugaring reg. tests
sof [Sat, 23 Jan 1999 18:10:10 +0000 (18:10 +0000)]
[project @ 1999-01-23 18:10:00 by sof]
even more h98 updates, this time to codeGen tests
sof [Sat, 23 Jan 1999 18:07:59 +0000 (18:07 +0000)]
[project @ 1999-01-23 18:07:42 by sof]
updates and tweaks
sof [Sat, 23 Jan 1999 18:05:19 +0000 (18:05 +0000)]
[project @ 1999-01-23 18:05:12 by sof]
more h98 updates
sof [Sat, 23 Jan 1999 18:03:53 +0000 (18:03 +0000)]
[project @ 1999-01-23 18:03:40 by sof]
h98 updates
sof [Sat, 23 Jan 1999 18:02:59 +0000 (18:02 +0000)]
[project @ 1999-01-23 18:02:58 by sof]
Updated
sof [Sat, 23 Jan 1999 17:59:06 +0000 (17:59 +0000)]
[project @ 1999-01-23 17:57:35 by sof]
Updated for H98
sof [Sat, 23 Jan 1999 17:55:29 +0000 (17:55 +0000)]
[project @ 1999-01-23 17:55:26 by sof]
More Enum regression tests than you can shake a stick at.
sof [Sat, 23 Jan 1999 17:54:43 +0000 (17:54 +0000)]
[project @ 1999-01-23 17:54:42 by sof]
Updated to work with current sources
sof [Sat, 23 Jan 1999 17:53:28 +0000 (17:53 +0000)]
[project @ 1999-01-23 17:53:28 by sof]
Fixes to {word,int}64ToIntegerZh_fast
sof [Sat, 23 Jan 1999 17:52:21 +0000 (17:52 +0000)]
[project @ 1999-01-23 17:52:21 by sof]
docfix
sof [Sat, 23 Jan 1999 17:51:27 +0000 (17:51 +0000)]
[project @ 1999-01-23 17:51:27 by sof]
Added comment next to the I*_ macros to explain why having them
expand to use 'static' instead of 'extern' is a Really Bad Idea.
sof [Sat, 23 Jan 1999 17:48:23 +0000 (17:48 +0000)]
[project @ 1999-01-23 17:48:23 by sof]
integerToInt64Zh: didn't handle negative integers particularly well
sof [Sat, 23 Jan 1999 17:47:04 +0000 (17:47 +0000)]
[project @ 1999-01-23 17:47:03 by sof]
Bunch of bug fixes related to Enum instances. Code clean-up.
sof [Sat, 23 Jan 1999 17:46:01 +0000 (17:46 +0000)]
[project @ 1999-01-23 17:46:01 by sof]
Move ST <--> IO coercion functions from IOExts to (Lazy)?ST
sof [Sat, 23 Jan 1999 17:44:40 +0000 (17:44 +0000)]
[project @ 1999-01-23 17:44:40 by sof]
Removed workaround for bug - fixed (a while ago.)
sof [Sat, 23 Jan 1999 17:43:21 +0000 (17:43 +0000)]
[project @ 1999-01-23 17:43:21 by sof]
Changed the various Ix.range methods, to specifically check whether we're
dealing with an empty range or not. As it was, empty array weren't handled
properly.
sof [Sat, 23 Jan 1999 17:40:07 +0000 (17:40 +0000)]
[project @ 1999-01-23 17:40:07 by sof]
Tag all 'foreign import's as being unsafe.
sof [Sat, 23 Jan 1999 17:38:52 +0000 (17:38 +0000)]
[project @ 1999-01-23 17:38:52 by sof]
do_if_stmt: insert extra (I_) to avoid minInt blues.
sof [Sat, 23 Jan 1999 17:34:37 +0000 (17:34 +0000)]
[project @ 1999-01-23 17:34:37 by sof]
Parser didn't accept the (all-important) empty module. Does now.
sof [Sat, 23 Jan 1999 13:33:52 +0000 (13:33 +0000)]
[project @ 1999-01-23 13:33:51 by sof]
Updated to work with current sources
sof [Fri, 22 Jan 1999 13:12:22 +0000 (13:12 +0000)]
[project @ 1999-01-22 13:12:22 by sof]
ifaceKeywordsFM: adding missing __ccall_GC entry
simonm [Fri, 22 Jan 1999 10:58:43 +0000 (10:58 +0000)]
[project @ 1999-01-22 10:58:43 by simonm]
Fix include typo.
simonm [Fri, 22 Jan 1999 10:45:21 +0000 (10:45 +0000)]
[project @ 1999-01-22 10:45:21 by simonm]
Fix more uses of [n..m]
simonm [Fri, 22 Jan 1999 10:25:44 +0000 (10:25 +0000)]
[project @ 1999-01-22 10:25:44 by simonm]
Fix a use of [ e1..e2 ] in the light of the new Haskell 98 semantics.
simonm [Fri, 22 Jan 1999 10:10:41 +0000 (10:10 +0000)]
[project @ 1999-01-22 10:10:41 by simonm]
Fix two uses of [ e1 .. e2 ] in light of the new Haskell 98 semantics.
sof [Thu, 21 Jan 1999 20:15:32 +0000 (20:15 +0000)]
[project @ 1999-01-21 20:15:30 by sof]
Enum instances updated to comply with the behaviour that
Haskell 98 specifies. Notable changes,
* [a..b] is not the empty list when a>b any longer.
* [x..] and [x,y..] for Enum Int are now bounded lists.
The first change is might be worth bearing in mind when converting
1.4 code to Haskell 98; functions may have made use of the
old behaviour.
sof [Thu, 21 Jan 1999 20:02:45 +0000 (20:02 +0000)]
[project @ 1999-01-21 20:02:43 by sof]
Robustified derived toEnum methods; gives better error message when
passed enum tags < 0.
sof [Thu, 21 Jan 1999 20:01:10 +0000 (20:01 +0000)]
[project @ 1999-01-21 20:01:10 by sof]
wibble
sof [Thu, 21 Jan 1999 20:00:55 +0000 (20:00 +0000)]
[project @ 1999-01-21 20:00:55 by sof]
dsExpr: make sure special case for unboxed tuple patterns only
'fire' when the tup. pat. is unboxed.
sof [Thu, 21 Jan 1999 19:59:22 +0000 (19:59 +0000)]
[project @ 1999-01-21 19:59:20 by sof]
Removed unused args from Id.mkIdVisible and Name.mkNameVisible.
Perpetuated Name.mkTopName hack in Name.mkNameVisible.
sof [Thu, 21 Jan 1999 19:56:48 +0000 (19:56 +0000)]
[project @ 1999-01-21 19:56:48 by sof]
The temp file where cpp's output was output wasn't being properly removed
sof [Thu, 21 Jan 1999 15:08:51 +0000 (15:08 +0000)]
[project @ 1999-01-21 15:08:51 by sof]
With Haskell98, Enum.enumFromThen can generate sequences that
are either increasing, decreasing or infinite.
simonm [Thu, 21 Jan 1999 10:31:57 +0000 (10:31 +0000)]
[project @ 1999-01-21 10:31:41 by simonm]
Resurrect ticky-ticky profiling. Not quite polished yet, but it
compiles and produces some reasonable-looking stats.
simonm [Thu, 21 Jan 1999 10:30:24 +0000 (10:30 +0000)]
[project @ 1999-01-21 10:30:24 by simonm]
Add $(HC_OPTS) to $(CC_OPTS) - this is necessary to get the per-way
flags into the plain-C compilations.
simonm [Wed, 20 Jan 1999 16:24:02 +0000 (16:24 +0000)]
[project @ 1999-01-20 16:24:02 by simonm]
Make use of -F<factor> flag in the two-space collector.
simonm [Wed, 20 Jan 1999 16:07:43 +0000 (16:07 +0000)]
[project @ 1999-01-20 16:07:40 by simonm]
The BLACKHOLEs created when entering a CAF for the first time are now
CAF_BLACKHOLES, distinguishing them from the blackholes created by
lazy blackholing.
This enables the lazy blackholing algorithm to be optimised by not
blackholing a section of stack that has already been traversed.
simonm [Wed, 20 Jan 1999 11:14:21 +0000 (11:14 +0000)]
[project @ 1999-01-20 11:14:21 by simonm]
Increase CmdLineOpts stack size to 4M.
sof [Wed, 20 Jan 1999 10:54:12 +0000 (10:54 +0000)]
[project @ 1999-01-20 10:54:12 by sof]
hook in GetOpt docs
sof [Wed, 20 Jan 1999 10:43:46 +0000 (10:43 +0000)]
[project @ 1999-01-20 10:43:46 by sof]
Back again - somehow got lost.
sof [Wed, 20 Jan 1999 09:15:37 +0000 (09:15 +0000)]
[project @ 1999-01-20 09:15:37 by sof]
Dead code removal
simonm [Wed, 20 Jan 1999 09:13:59 +0000 (09:13 +0000)]
[project @ 1999-01-20 09:13:59 by simonm]
Increase PrelNum stack size to 3M. Funny, it only needed 2M yesterday.
simonm [Tue, 19 Jan 1999 17:22:55 +0000 (17:22 +0000)]
[project @ 1999-01-19 17:22:55 by simonm]
Don't forget to reset the evacuated flag on to-space blocks when
generations == 1.
simonm [Tue, 19 Jan 1999 17:06:05 +0000 (17:06 +0000)]
[project @ 1999-01-19 17:06:02 by simonm]
Support '+RTS -G1' i.e. a two-space collector.
simonm [Tue, 19 Jan 1999 16:56:50 +0000 (16:56 +0000)]
[project @ 1999-01-19 16:56:50 by simonm]
Small fix to slop skipping.
simonm [Tue, 19 Jan 1999 15:41:56 +0000 (15:41 +0000)]
[project @ 1999-01-19 15:41:56 by simonm]
Change the sizing for intermediate generations. Now the formula is
max_size = max (oldgen_max * g / generations,
RtsFlags.GcFlags.minOldGenSize)
sof [Tue, 19 Jan 1999 15:19:24 +0000 (15:19 +0000)]
[project @ 1999-01-19 15:19:23 by sof]
Types of foreign imports weren't being zonked, with the lethal conseq.
that any unbound kind variables weren't being defaulted to something
sensible.
Showed up when trying to compile a 'foreign import' with type
StablePtr a -> IO ()
simonm [Tue, 19 Jan 1999 15:13:54 +0000 (15:13 +0000)]
[project @ 1999-01-19 15:13:54 by simonm]
Banner message now advertises Haskell 98.
simonm [Tue, 19 Jan 1999 15:07:56 +0000 (15:07 +0000)]
[project @ 1999-01-19 15:07:53 by simonm]
- Add -F<factor> flag which governs the threshold size of the oldest
generation.
- Add RtsFlags.GcFlags.minOldGenSize (no flag yet) so that we don't
have to guess the initial size of the oldest generation.
sof [Tue, 19 Jan 1999 14:40:00 +0000 (14:40 +0000)]
[project @ 1999-01-19 14:40:00 by sof]
foreign decls: use wlkHsSigType, not wlkHsType, since the tysig may
have implicitly quantified tyvars.
simonm [Tue, 19 Jan 1999 13:50:06 +0000 (13:50 +0000)]
[project @ 1999-01-19 13:50:06 by simonm]
Increase stack size for PrelNum.lhs.
simonm [Tue, 19 Jan 1999 13:49:29 +0000 (13:49 +0000)]
[project @ 1999-01-19 13:49:29 by simonm]
CmdLineOpts needs -K3m for some reason.
simonm [Tue, 19 Jan 1999 13:10:21 +0000 (13:10 +0000)]
[project @ 1999-01-19 13:10:21 by simonm]
4.02 updates.
simonm [Tue, 19 Jan 1999 12:52:37 +0000 (12:52 +0000)]
[project @ 1999-01-19 12:52:37 by simonm]
Update for 4.02.
simonm [Tue, 19 Jan 1999 12:43:31 +0000 (12:43 +0000)]
[project @ 1999-01-19 12:43:31 by simonm]
Update for 4.02.
sof [Tue, 19 Jan 1999 11:44:09 +0000 (11:44 +0000)]
[project @ 1999-01-19 11:44:07 by sof]
The Fight against needless use of (++) continues.
sof [Tue, 19 Jan 1999 11:39:44 +0000 (11:39 +0000)]
[project @ 1999-01-19 11:39:44 by sof]
mkExportAvails: remove NotAvailable entries corresponding
to 'hidden' entities from 'unqual_avails'. Not needed and
leaving them in causes bother later on in the renamer.
This fixes the problem of compiling
module B ( module A ) where { import A hiding ( a ) }
Regression test added to check for this - will commit soon.
sof [Tue, 19 Jan 1999 09:57:12 +0000 (09:57 +0000)]
[project @ 1999-01-19 09:57:12 by sof]
bracket and bracket_ had a less general type than they should
have. They now match what the docs says.
sof [Tue, 19 Jan 1999 09:55:05 +0000 (09:55 +0000)]
[project @ 1999-01-19 09:55:05 by sof]
Added showBin (binary nums - no, the 'old' showBin & friends hasn't been resurrected)
+ showIntAtBase to export list:
showBin :: (Integral a) => a -> ShowS
showIntAtBase :: Integral a
=> a -- base
-> (a -> Char) -- digit to char
-> a -- number to show.
-> ShowS
sof [Tue, 19 Jan 1999 09:51:25 +0000 (09:51 +0000)]
[project @ 1999-01-19 09:51:21 by sof]
Misc doc-fixes and updates.
simonm [Tue, 19 Jan 1999 09:49:55 +0000 (09:49 +0000)]
[project @ 1999-01-19 09:49:55 by simonm]
Remove debugging code from freeStablePtr.
sof [Tue, 19 Jan 1999 08:33:14 +0000 (08:33 +0000)]
[project @ 1999-01-19 08:33:14 by sof]
constructNewHiFile: regular expressions which substituted new
module filename for old in hifile_target, didn't quite work.
sof [Mon, 18 Jan 1999 19:05:07 +0000 (19:05 +0000)]
[project @ 1999-01-18 19:04:55 by sof]
Print out warnings/errors in the order they occur in the source code.
(Well...almost, warnings are sorted and printed out on a per-pass basis.)
simonm [Mon, 18 Jan 1999 16:35:37 +0000 (16:35 +0000)]
[project @ 1999-01-18 16:35:37 by simonm]
Update for new stats output.
simonm [Mon, 18 Jan 1999 16:05:15 +0000 (16:05 +0000)]
[project @ 1999-01-18 16:05:15 by simonm]
Only reset oldest_gen->max_blocks on a major GC.
simonm [Mon, 18 Jan 1999 15:44:45 +0000 (15:44 +0000)]
[project @ 1999-01-18 15:44:44 by simonm]
Update
sewardj [Mon, 18 Jan 1999 15:23:30 +0000 (15:23 +0000)]
[project @ 1999-01-18 15:23:30 by sewardj]
Completed support for GAMMA_VAR.
simonm [Mon, 18 Jan 1999 15:21:42 +0000 (15:21 +0000)]
[project @ 1999-01-18 15:21:37 by simonm]
- BLACKHOLE_BQ is a mutable object, because new threads get added to
its blocking_queue field. Hence add a mut_link field and treat it
as mutable in the garbage collector.
- Change StgBlackHole to StgBlockingQueue while I'm at it.
- Optimise evacuation of black holes: don't copy the padding
words, just skip over them.
- Several garbage collection fixes.
- Improve sanity checking: now the older generations are fully checked
at each GC.
simonm [Mon, 18 Jan 1999 15:18:06 +0000 (15:18 +0000)]
[project @ 1999-01-18 15:18:06 by simonm]
- do MVARs properly.
- skip over slop between objects, by searching for the first info pointer.
this works for slop created by updates, for example.
sof [Mon, 18 Jan 1999 14:37:43 +0000 (14:37 +0000)]
[project @ 1999-01-18 14:37:43 by sof]
Added protos for freeHaskellFunctionPtr() and createAdjustor()
(suggestions as to what might be a more appropriate home for these
are welcome.)
sof [Mon, 18 Jan 1999 14:36:13 +0000 (14:36 +0000)]
[project @ 1999-01-18 14:36:13 by sof]
Added debugging code to freeStablePtr macro
sof [Mon, 18 Jan 1999 14:35:21 +0000 (14:35 +0000)]
[project @ 1999-01-18 14:35:20 by sof]
Fixed a couple of bad bugs in the implementation of 'foreign export ccall dynamic'.
sof [Mon, 18 Jan 1999 14:31:52 +0000 (14:31 +0000)]
[project @ 1999-01-18 14:31:50 by sof]
long long support: cleared up Real vs. virtual regs. confusion (I hope!)