simonmar [Wed, 25 Aug 1999 16:11:56 +0000 (16:11 +0000)]
[project @ 1999-08-25 16:11:43 by simonmar]
Support for thread{WaitRead,WaitWrite,Delay}. These should behave
identically to the 3.02 implementations.
We now have the virtual timer on during all program runs, which ticks
at 50Hz by default. This is used to implement threadDelay, so you
won't get any better granularity than the tick frequency
unfortunately. It remains to be seen whether using the virtual timer
will have a measurable impact on performance for non-threadDelaying
programs.
All operations in the I/O subsystem should now be non-blocking with
respect to other running Haskell threads. It remains to be seen
whether this will have a measurable performance impact on
non-concurrent programs (probably not).
simonmar [Wed, 25 Aug 1999 10:30:36 +0000 (10:30 +0000)]
[project @ 1999-08-25 10:30:36 by simonmar]
Little test for Eq and Ord instances of ThreadId.
simonmar [Wed, 25 Aug 1999 10:23:54 +0000 (10:23 +0000)]
[project @ 1999-08-25 10:23:51 by simonmar]
Eq and Ord instances for ThreadId.
simonmar [Tue, 24 Aug 1999 15:33:12 +0000 (15:33 +0000)]
[project @ 1999-08-24 15:33:09 by simonmar]
Add -D__HASKELL__=98
simonpj [Tue, 24 Aug 1999 09:37:11 +0000 (09:37 +0000)]
[project @ 1999-08-24 09:37:11 by simonpj]
IdInfo.copyIdInfo was wrong. It didn't copy a NOINLINE pragma
when the occurrenc analyser "shorted out" a binding; as a result
the following program didn't respect the NOINLINE pragma:
plus :: Int -> Int -> Int
{-# NOINLINE plus #-}
plus = (+)
f x = plus x (plus x x)
simonmar [Tue, 24 Aug 1999 09:36:41 +0000 (09:36 +0000)]
[project @ 1999-08-24 09:36:41 by simonmar]
oops, back out some other changes that made it in by mistake.
simonmar [Tue, 24 Aug 1999 09:33:08 +0000 (09:33 +0000)]
[project @ 1999-08-24 09:33:08 by simonmar]
An inaccurate constraint on the inline assembly code for mulIntC#
caused gcc 2.95 to overoptimise around it, leading to bogus multiply
code for Integers.
simonpj [Tue, 24 Aug 1999 09:31:07 +0000 (09:31 +0000)]
[project @ 1999-08-24 09:31:07 by simonpj]
Document the -i effect on recompilation
simonpj [Tue, 24 Aug 1999 08:59:15 +0000 (08:59 +0000)]
[project @ 1999-08-24 08:59:14 by simonpj]
Record all orphan modules (including "library" ones)
in the usage info in an interface file. Leaving these out
prevents propagation of orphan module information.
simonpj [Tue, 24 Aug 1999 08:52:25 +0000 (08:52 +0000)]
[project @ 1999-08-24 08:52:25 by simonpj]
Make primOpHasSideEffects return True for the various Write primops.
Amazingly, this wasn't done, and that meant that Write operations
could be silently discarded! This broke the GHC typechecker
(actually the implementation of checkNoErrsTc, showed up in
deriving code)
simonpj [Tue, 24 Aug 1999 08:47:13 +0000 (08:47 +0000)]
[project @ 1999-08-24 08:47:13 by simonpj]
When recompiling with GHC 4.02 and Keith's new type representations,
it seems that I need UVar to be in Var.hi-boot. I don't think this
will be the case with the better handling of SOURCE import in
4.04, but for now I'm just going ahead and adding the UVar synonym
to the Var.hi-boot files.
simonmar [Mon, 23 Aug 1999 15:55:58 +0000 (15:55 +0000)]
[project @ 1999-08-23 15:55:58 by simonmar]
-fno-cpr ==> -fno-cpr-analyse
simonmar [Mon, 23 Aug 1999 15:54:12 +0000 (15:54 +0000)]
[project @ 1999-08-23 15:54:12 by simonmar]
back out rev. 1.115 - -fno-cpr-analyse works fine.
simonpj [Mon, 23 Aug 1999 15:13:07 +0000 (15:13 +0000)]
[project @ 1999-08-23 15:13:07 by simonpj]
Add simpl005, tests CPR
simonpj [Mon, 23 Aug 1999 15:05:29 +0000 (15:05 +0000)]
[project @ 1999-08-23 15:05:28 by simonpj]
Add -fno-cpr option
keithw [Mon, 23 Aug 1999 12:53:27 +0000 (12:53 +0000)]
[project @ 1999-08-23 12:53:23 by keithw]
Revert commit of 1999/06/12 16:17:28. We use -traditional for CPP,
and so x##y and #x don't work and we must use x/**/y (ugh) and "x"
(urk!!) instead. Ah well.
simonmar [Mon, 23 Aug 1999 09:09:32 +0000 (09:09 +0000)]
[project @ 1999-08-23 09:09:32 by simonmar]
Sparc support, from Michael Hobbs <hobbs1@acm.org>.
simonpj [Fri, 20 Aug 1999 13:13:03 +0000 (13:13 +0000)]
[project @ 1999-08-20 13:13:03 by simonpj]
Add tcrun005
simonpj [Fri, 20 Aug 1999 13:12:21 +0000 (13:12 +0000)]
[project @ 1999-08-20 13:12:18 by simonpj]
Change the renamer namesuppy for instance decls, so that
it is indexed by the class/tycon *string* rather than the
class/tycon pair. That way (C,TT) and (CT,T) both give
the string "CTT", and hence give a different unique.
An alternative would have been to use "C/TT" and "CT/T"
respectively, but that would mean obscure errors while everyone
remembered to recompile everything. So this seems more direct.
Julian reported this bug.
simonpj [Fri, 20 Aug 1999 12:33:14 +0000 (12:33 +0000)]
[project @ 1999-08-20 12:33:14 by simonpj]
Report precedence errors for sections
simonpj [Fri, 20 Aug 1999 12:32:43 +0000 (12:32 +0000)]
[project @ 1999-08-20 12:32:43 by simonpj]
Add rnfail019
simonpj [Fri, 20 Aug 1999 11:32:41 +0000 (11:32 +0000)]
[project @ 1999-08-20 11:32:41 by simonpj]
Add tcfail083
simonpj [Fri, 20 Aug 1999 11:31:52 +0000 (11:31 +0000)]
[project @ 1999-08-20 11:31:52 by simonpj]
Fix Svens missing-record-field typechecker bug
simonpj [Tue, 17 Aug 1999 15:39:38 +0000 (15:39 +0000)]
[project @ 1999-08-17 15:39:38 by simonpj]
Fix (I hope) documentation of Integer
simonpj [Tue, 17 Aug 1999 07:24:35 +0000 (07:24 +0000)]
[project @ 1999-08-17 07:24:35 by simonpj]
Remove bizarre and inoperative returnsRealWorld hack in SaAbsInt.fixpoint
simonpj [Mon, 16 Aug 1999 16:25:12 +0000 (16:25 +0000)]
[project @ 1999-08-16 16:25:12 by simonpj]
Add notes about what list fusion is done
simonpj [Mon, 16 Aug 1999 15:53:50 +0000 (15:53 +0000)]
[project @ 1999-08-16 15:53:50 by simonpj]
Add note about exports of RULES
sof [Mon, 9 Aug 1999 14:28:56 +0000 (14:28 +0000)]
[project @ 1999-08-09 14:28:49 by sof]
First step along the way of having GHC understand DOS-style paths
(hot new feature!) - if ';' occurs in a -i<dirs> list, ';' is used
to separate entries on the import search path, otherwise its trusty
old ':'.
[This commit is made simply to unblock some Win32 users, but it
shouldn't have any untoward effects on others. If it does, please
back it out as I'm about to take off for a couple of weeks.]
sof [Fri, 6 Aug 1999 12:12:21 +0000 (12:12 +0000)]
[project @ 1999-08-06 12:12:21 by sof]
Release notes - this file should be zapped (and filled up again) everytime a release goes out the door.
sof [Fri, 6 Aug 1999 12:09:31 +0000 (12:09 +0000)]
[project @ 1999-08-06 12:09:30 by sof]
Moved Pretty from misc/ to exts/
simonmar [Fri, 6 Aug 1999 10:55:26 +0000 (10:55 +0000)]
[project @ 1999-08-06 10:55:26 by simonmar]
Don't add -I$(ReadlineIncludePath) if $(ReadlineIncludePath) is empty.
panne [Wed, 4 Aug 1999 17:03:41 +0000 (17:03 +0000)]
[project @ 1999-08-04 17:03:20 by panne]
Some small pedantic changes to get function prototypes right.
simonmar [Wed, 4 Aug 1999 16:02:10 +0000 (16:02 +0000)]
[project @ 1999-08-04 16:02:10 by simonmar]
compile tc087 with -fglasgow-exts
simonmar [Wed, 4 Aug 1999 15:56:16 +0000 (15:56 +0000)]
[project @ 1999-08-04 15:56:16 by simonmar]
sync output
simonmar [Wed, 4 Aug 1999 15:54:23 +0000 (15:54 +0000)]
[project @ 1999-08-04 15:54:23 by simonmar]
sync the output for these tests
simonmar [Wed, 4 Aug 1999 15:47:34 +0000 (15:47 +0000)]
[project @ 1999-08-04 15:47:33 by simonmar]
Fix up expr001.hs and move it into should_compile
simonmar [Wed, 4 Aug 1999 15:43:34 +0000 (15:43 +0000)]
[project @ 1999-08-04 15:43:34 by simonmar]
GHC deviates from the Haskell report on a couple of the finer points
of lexical syntax, so comment out a couple of the tests here.
simonmar [Wed, 4 Aug 1999 15:32:39 +0000 (15:32 +0000)]
[project @ 1999-08-04 15:32:39 by simonmar]
parenthesise negative numbers in infix expressions.
simonmar [Wed, 4 Aug 1999 15:25:33 +0000 (15:25 +0000)]
[project @ 1999-08-04 15:25:33 by simonmar]
revert part of rev. 1.4 - don't use index 0 in the stable name table
due to conflict with the hash-table lookup function.
simonmar [Wed, 4 Aug 1999 10:29:25 +0000 (10:29 +0000)]
[project @ 1999-08-04 10:29:25 by simonmar]
Cast NULL to (W_) to avoid warning.
simonmar [Wed, 4 Aug 1999 10:07:50 +0000 (10:07 +0000)]
[project @ 1999-08-04 10:07:50 by simonmar]
Add a test for a rather misguided use of the Memo library, but which
showed up a bug nevertheless :)
simonmar [Wed, 4 Aug 1999 10:04:31 +0000 (10:04 +0000)]
[project @ 1999-08-04 10:04:31 by simonmar]
We weren't removing old entries from the hash table in two places.
simonmar [Tue, 3 Aug 1999 15:44:21 +0000 (15:44 +0000)]
[project @ 1999-08-03 15:44:21 by simonmar]
minor cleanup: use INFO_PTR_TO_STRUCT in get_itbl() and hence pull it
out of the #ifdef TABLES_NEXT_TO_CODE.
simonmar [Mon, 2 Aug 1999 16:12:12 +0000 (16:12 +0000)]
[project @ 1999-08-02 16:12:12 by simonmar]
Add some quick-start instructions.
simonmar [Mon, 2 Aug 1999 16:07:58 +0000 (16:07 +0000)]
[project @ 1999-08-02 16:07:58 by simonmar]
update a little.
simonmar [Mon, 2 Aug 1999 16:01:31 +0000 (16:01 +0000)]
[project @ 1999-08-02 16:01:24 by simonmar]
Move the RTS document into the ghc tree where it belongs.
simonmar [Mon, 2 Aug 1999 13:11:02 +0000 (13:11 +0000)]
[project @ 1999-08-02 13:11:02 by simonmar]
Only require happy if compiling ghc, and ask for version 1.6
simonmar [Mon, 2 Aug 1999 11:43:41 +0000 (11:43 +0000)]
[project @ 1999-08-02 11:43:41 by simonmar]
add gcdIntegerzh.
simonmar [Mon, 2 Aug 1999 10:35:53 +0000 (10:35 +0000)]
[project @ 1999-08-02 10:35:53 by simonmar]
Oops, back out most of last revision. Other changes crept in by mistake.
simonmar [Mon, 2 Aug 1999 09:52:43 +0000 (09:52 +0000)]
[project @ 1999-08-02 09:52:43 by simonmar]
fix a couple of typos in the rules docs.
simonmar [Mon, 2 Aug 1999 09:47:18 +0000 (09:47 +0000)]
[project @ 1999-08-02 09:47:18 by simonmar]
oops, 'g' and 'h' aren't hex digits.
sof [Sat, 31 Jul 1999 18:43:48 +0000 (18:43 +0000)]
[project @ 1999-07-31 18:43:48 by sof]
nullary recpat reg. test
sof [Sat, 31 Jul 1999 18:43:21 +0000 (18:43 +0000)]
[project @ 1999-07-31 18:43:21 by sof]
syntactically invalid
sof [Sat, 31 Jul 1999 18:40:27 +0000 (18:40 +0000)]
[project @ 1999-07-31 18:40:27 by sof]
Exhaustiveness checks for patterns containing a nullary recpat
panic'ed. Fixed.
simonmar [Fri, 30 Jul 1999 14:20:22 +0000 (14:20 +0000)]
[project @ 1999-07-30 14:20:22 by simonmar]
Fix -monly-3-regs problem.
simonmar [Fri, 30 Jul 1999 11:26:09 +0000 (11:26 +0000)]
[project @ 1999-07-30 11:26:09 by simonmar]
typePrimRep should work on the repType, avoiding foralls etc.
sof [Thu, 29 Jul 1999 16:28:20 +0000 (16:28 +0000)]
[project @ 1999-07-29 16:28:20 by sof]
Removed rather odd quote-removal sed patterns; surely not needed... (they were causing CPP trouble)
sof [Thu, 29 Jul 1999 16:19:33 +0000 (16:19 +0000)]
[project @ 1999-07-29 16:19:33 by sof]
Fixed bug/limitation in command-line handling.
sof [Thu, 29 Jul 1999 13:57:34 +0000 (13:57 +0000)]
[project @ 1999-07-29 13:57:34 by sof]
Recent CPP-related wibblement meant that _WIN32 wasn't defined when
the pre-proc was run (cf. -undef usage.) Avoid the use of _WIN32
sof [Thu, 29 Jul 1999 13:13:58 +0000 (13:13 +0000)]
[project @ 1999-07-29 13:13:58 by sof]
Another cosmetic change - avoid desugar warning
sof [Thu, 29 Jul 1999 11:30:30 +0000 (11:30 +0000)]
[project @ 1999-07-29 11:30:30 by sof]
showPrimRep - dead code removal. No need to carry over to 4.04
simonmar [Thu, 29 Jul 1999 10:03:18 +0000 (10:03 +0000)]
[project @ 1999-07-29 10:03:18 by simonmar]
test for bit shifts by 32.
simonmar [Thu, 29 Jul 1999 10:01:05 +0000 (10:01 +0000)]
[project @ 1999-07-29 10:01:05 by simonmar]
Document changes to shift operations.
simonmar [Thu, 29 Jul 1999 10:00:22 +0000 (10:00 +0000)]
[project @ 1999-07-29 10:00:22 by simonmar]
Shift operations where the shift count is greater than the width of
the type being shifted are now defined as returning zero (or -1 in the
case of a negative integer being shifted right with iShiftRA).
simonmar [Thu, 29 Jul 1999 09:08:26 +0000 (09:08 +0000)]
[project @ 1999-07-29 09:08:26 by simonmar]
The hscpp saga continues, this time mysterious 2's are appearing in my
files.
simonpj [Wed, 28 Jul 1999 15:34:39 +0000 (15:34 +0000)]
[project @ 1999-07-28 15:34:39 by simonpj]
Improve error msg in tcPolyExpr; Simon pls merge into release
simonmar [Wed, 28 Jul 1999 14:57:21 +0000 (14:57 +0000)]
[project @ 1999-07-28 14:57:21 by simonmar]
- Use explicit file modes when installing binaries & scripts (not essential,
but someone complained about it).
- Use $(INSTALL_SCRIPT) for scripts
simonmar [Wed, 28 Jul 1999 14:10:09 +0000 (14:10 +0000)]
[project @ 1999-07-28 14:10:09 by simonmar]
Sigh, another go at getting #line directives right.
simonmar [Wed, 28 Jul 1999 08:34:45 +0000 (08:34 +0000)]
[project @ 1999-07-28 08:34:45 by simonmar]
Allow unboxed tuple components to have polymorphic types.
simonmar [Tue, 27 Jul 1999 15:56:59 +0000 (15:56 +0000)]
[project @ 1999-07-27 15:56:59 by simonmar]
Sigh, didn't work in the cpp, !literate case.
simonmar [Tue, 27 Jul 1999 15:27:15 +0000 (15:27 +0000)]
[project @ 1999-07-27 15:27:15 by simonmar]
oops, debugging code committed by mistake.
simonmar [Tue, 27 Jul 1999 13:55:57 +0000 (13:55 +0000)]
[project @ 1999-07-27 13:55:57 by simonmar]
Fix filenames in {-# LINE #-} directives when using both unlit and
hscpp (I think).
simonmar [Tue, 27 Jul 1999 13:29:08 +0000 (13:29 +0000)]
[project @ 1999-07-27 13:29:08 by simonmar]
fix typo in hppa1.1 support.
sof [Tue, 27 Jul 1999 12:07:36 +0000 (12:07 +0000)]
[project @ 1999-07-27 12:07:36 by sof]
remove spurious ^M's
simonmar [Tue, 27 Jul 1999 11:12:05 +0000 (11:12 +0000)]
[project @ 1999-07-27 11:12:05 by simonmar]
add unofficial/undocumented function:
mkWeakIORef :: IORef a -> IO () -> IO (Weak (IORef a))
for weak pointers to IORefs. This avoids some of the problems with
inlining disturbing the semantics of mkWeak by making the weak key
point to the primitive MutVar instead of the box.
simonmar [Tue, 27 Jul 1999 11:09:31 +0000 (11:09 +0000)]
[project @ 1999-07-27 11:09:31 by simonmar]
Allow mkWeak# to take an unlifted type as the key argument. The
intention is that boxed-but-unlifted types can be used as keys, not
unlifted types in general but there's no way to enforce this at the
moment.
simonmar [Tue, 27 Jul 1999 11:02:14 +0000 (11:02 +0000)]
[project @ 1999-07-27 11:02:14 by simonmar]
+RTS -s<blah> ==> +RTS -S<blah>
for -Rghc-timing. The former now gives only summary statistics, as
advertised.
sof [Tue, 27 Jul 1999 10:53:53 +0000 (10:53 +0000)]
[project @ 1999-07-27 10:53:53 by sof]
If calling a 'foreign export'ed Haskell function resulted in an error,
localise the error by supplying the module name as well as the name
of the function.
sof [Tue, 27 Jul 1999 10:50:19 +0000 (10:50 +0000)]
[project @ 1999-07-27 10:50:17 by sof]
Improve the UI a little for modules contain 'foreign export' declarations -
no longer demand that module name == (basename filename)
simonmar [Tue, 27 Jul 1999 10:18:34 +0000 (10:18 +0000)]
[project @ 1999-07-27 10:18:34 by simonmar]
Something is very screwy here. This file does not appear to have been
removed, but it doesn't have any tags beyond 2.04.
simonmar [Tue, 27 Jul 1999 09:25:50 +0000 (09:25 +0000)]
[project @ 1999-07-27 09:25:49 by simonmar]
Back out yesterday's change to Parser.y, and throw out illegal do
expressions in the renamer instead. It turned out to be hard to get
the optional semicolons right in the grammar at the same time as
checking that the last statement is an expression.
simonpj [Tue, 27 Jul 1999 07:42:31 +0000 (07:42 +0000)]
[project @ 1999-07-27 07:42:31 by simonpj]
Add a bit more info about hi-boot files
simonpj [Tue, 27 Jul 1999 07:31:24 +0000 (07:31 +0000)]
[project @ 1999-07-27 07:31:16 by simonpj]
Do a more correct job of explicit for-alls in types
simonpj [Tue, 27 Jul 1999 07:30:00 +0000 (07:30 +0000)]
[project @ 1999-07-27 07:30:00 by simonpj]
Add rnfail018
simonmar [Mon, 26 Jul 1999 18:37:26 +0000 (18:37 +0000)]
[project @ 1999-07-26 18:37:26 by simonmar]
Remove some unused things.
simonpj [Mon, 26 Jul 1999 16:06:28 +0000 (16:06 +0000)]
[project @ 1999-07-26 16:06:28 by simonpj]
Adopt the following syntax for stmts:
stmts -> stmt1 ; ... stmtn ; exp [;]
That is, a do-notation thing must finish with an expression.
simonpj [Mon, 26 Jul 1999 16:01:51 +0000 (16:01 +0000)]
[project @ 1999-07-26 16:01:51 by simonpj]
Add read009, do-notation
simonpj [Mon, 26 Jul 1999 15:37:41 +0000 (15:37 +0000)]
[project @ 1999-07-26 15:37:41 by simonpj]
Make Type.isUnLiftedType return True for forall'd unlifted types:
e.g. x :: forall a. Int#
I found bindings like these were getting floated to the top level.
They are pretty bogus types, mind you. It would be better never to
construct them.
(George Russell tripped over this one.)
simonpj [Mon, 26 Jul 1999 15:31:02 +0000 (15:31 +0000)]
[project @ 1999-07-26 15:31:01 by simonpj]
* Fix a bug in the unifier that made the typechecker
loop on a 5-line program from Sigbjorn. The bug is
documented near the fix, in
TcUnify.uUnboundVar
simonpj [Mon, 26 Jul 1999 15:30:29 +0000 (15:30 +0000)]
[project @ 1999-07-26 15:30:29 by simonpj]
Add rnfail017
simonpj [Mon, 26 Jul 1999 15:22:38 +0000 (15:22 +0000)]
[project @ 1999-07-26 15:22:38 by simonpj]
Fix type in tcMatch discovered by Keith
simonpj [Mon, 26 Jul 1999 15:21:56 +0000 (15:21 +0000)]
[project @ 1999-07-26 15:21:56 by simonpj]
Add tc102
keithw [Fri, 16 Jul 1999 15:49:52 +0000 (15:49 +0000)]
[project @ 1999-07-16 15:49:52 by keithw]
Remove dead token IThash added yesterday by mistake.
sewardj [Fri, 16 Jul 1999 15:12:15 +0000 (15:12 +0000)]
[project @ 1999-07-16 15:12:15 by sewardj]
Fix use of _unused var for ghc-3.XX.
sewardj [Fri, 16 Jul 1999 15:03:43 +0000 (15:03 +0000)]
[project @ 1999-07-16 15:03:40 by sewardj]
cpp-ify some H98isms with PSEQ and SAPPLY to placate ghc-3.0X
simonpj [Fri, 16 Jul 1999 14:06:57 +0000 (14:06 +0000)]
[project @ 1999-07-16 14:06:57 by simonpj]
* Fix a bug in the unifier that made the typechecker
loop on a 5-line program from Sigbjorn. The bug is
documented near the fix, in
TcUnify.uUnboundVar
simonpj [Fri, 16 Jul 1999 13:34:20 +0000 (13:34 +0000)]
[project @ 1999-07-16 13:34:20 by simonpj]
Add tc101
sewardj [Fri, 16 Jul 1999 11:08:59 +0000 (11:08 +0000)]
[project @ 1999-07-16 11:08:58 by sewardj]
Fix trivial parse errors.
panne [Fri, 16 Jul 1999 09:53:44 +0000 (09:53 +0000)]
[project @ 1999-07-16 09:53:44 by panne]
More 64bit fun: Fixed an ill-placed #ifdef and added a cast to a
numeric literal (for explanation see yesterday's fix).
keithw [Fri, 16 Jul 1999 09:46:31 +0000 (09:46 +0000)]
[project @ 1999-07-16 09:46:31 by keithw]
Layout fix to uses of ASSERT in do expressions; thanks Kevin for
pointing out the problem.