simonm [Thu, 28 Jan 1999 12:14:16 +0000 (12:14 +0000)]
[project @ 1999-01-28 12:14:16 by simonm]
Remove unprintable characters from module header.
simonpj [Thu, 28 Jan 1999 12:14:00 +0000 (12:14 +0000)]
[project @ 1999-01-28 12:14:00 by simonpj]
Fix missing dash in SimplCore.lhs, which resulted in bogus specialisations
simonm [Thu, 28 Jan 1999 12:12:17 +0000 (12:12 +0000)]
[project @ 1999-01-28 12:12:17 by simonm]
Several updates, mainly to the "heap objects" section.
simonpj [Thu, 28 Jan 1999 11:33:44 +0000 (11:33 +0000)]
[project @ 1999-01-28 11:33:42 by simonpj]
Remove unnecessary imports
simonpj [Thu, 28 Jan 1999 11:32:13 +0000 (11:32 +0000)]
[project @ 1999-01-28 11:32:11 by simonpj]
Wibble
simonpj [Thu, 28 Jan 1999 11:29:23 +0000 (11:29 +0000)]
[project @ 1999-01-28 11:29:23 by simonpj]
Changes for new z-encoding
simonpj [Thu, 28 Jan 1999 11:27:01 +0000 (11:27 +0000)]
[project @ 1999-01-28 11:27:01 by simonpj]
Changes to PrelGHC.hi-boot for new z-encoding
simonpj [Thu, 28 Jan 1999 09:43:39 +0000 (09:43 +0000)]
[project @ 1999-01-28 09:43:38 by simonpj]
Fix lost specialisations; a one-char change in Simplify.lhs
simonpj [Thu, 28 Jan 1999 09:20:07 +0000 (09:20 +0000)]
[project @ 1999-01-28 09:19:57 by simonpj]
Always inline nullary constructors. This makes a
difference in:
case x ># y of r {
True -> f1 r
False -> f2 r
}
The code generator currently has difficulty binding "r"
to the boolean result of the comparision (and the compiler
crashes). This fix substitutes for r, thus:
case x ># y of r {
True -> f1 True
False -> f2 False
}
Voila.
simonm [Wed, 27 Jan 1999 17:37:18 +0000 (17:37 +0000)]
[project @ 1999-01-27 17:37:18 by simonm]
Increase CmdLineOpts stack size.
simonpj [Wed, 27 Jan 1999 16:54:18 +0000 (16:54 +0000)]
[project @ 1999-01-27 16:54:18 by simonpj]
Undo bogus fix to CgCase.lhs
simonm [Wed, 27 Jan 1999 16:41:16 +0000 (16:41 +0000)]
[project @ 1999-01-27 16:41:14 by simonm]
Use the +RTS -H<size> flag as a "suggestion" to the garbage collector
to use that much heap. If you have plenty of memory, then saying
+RTS -H<large> will really help GC times.
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.