ghc-hetmet.git
24 years ago[project @ 1999-08-06 10:55:26 by simonmar]
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.

24 years ago[project @ 1999-08-04 17:03:20 by panne]
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.

24 years ago[project @ 1999-08-04 16:02:10 by simonmar]
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

24 years ago[project @ 1999-08-04 15:56:16 by simonmar]
simonmar [Wed, 4 Aug 1999 15:56:16 +0000 (15:56 +0000)]
[project @ 1999-08-04 15:56:16 by simonmar]
sync output

24 years ago[project @ 1999-08-04 15:54:23 by simonmar]
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

24 years ago[project @ 1999-08-04 15:47:33 by simonmar]
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

24 years ago[project @ 1999-08-04 15:43:34 by simonmar]
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.

24 years ago[project @ 1999-08-04 15:32:39 by simonmar]
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.

24 years ago[project @ 1999-08-04 15:25:33 by simonmar]
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.

24 years ago[project @ 1999-08-04 10:29:25 by simonmar]
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.

24 years ago[project @ 1999-08-04 10:07:50 by simonmar]
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 :)

24 years ago[project @ 1999-08-04 10:04:31 by simonmar]
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.

24 years ago[project @ 1999-08-03 15:44:21 by simonmar]
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.

24 years ago[project @ 1999-08-02 16:12:12 by simonmar]
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.

24 years ago[project @ 1999-08-02 16:07:58 by simonmar]
simonmar [Mon, 2 Aug 1999 16:07:58 +0000 (16:07 +0000)]
[project @ 1999-08-02 16:07:58 by simonmar]
update a little.

24 years ago[project @ 1999-08-02 16:01:24 by simonmar]
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.

24 years ago[project @ 1999-08-02 13:11:02 by simonmar]
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

24 years ago[project @ 1999-08-02 11:43:41 by simonmar]
simonmar [Mon, 2 Aug 1999 11:43:41 +0000 (11:43 +0000)]
[project @ 1999-08-02 11:43:41 by simonmar]
add gcdIntegerzh.

24 years ago[project @ 1999-08-02 10:35:53 by simonmar]
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.

24 years ago[project @ 1999-08-02 09:52:43 by simonmar]
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.

24 years ago[project @ 1999-08-02 09:47:18 by simonmar]
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.

24 years ago[project @ 1999-07-31 18:43:48 by sof]
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

24 years ago[project @ 1999-07-31 18:43:21 by sof]
sof [Sat, 31 Jul 1999 18:43:21 +0000 (18:43 +0000)]
[project @ 1999-07-31 18:43:21 by sof]
syntactically invalid

24 years ago[project @ 1999-07-31 18:40:27 by sof]
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.

24 years ago[project @ 1999-07-30 14:20:22 by simonmar]
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.

24 years ago[project @ 1999-07-30 11:26:09 by simonmar]
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.

24 years ago[project @ 1999-07-29 16:28:20 by sof]
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)

24 years ago[project @ 1999-07-29 16:19:33 by sof]
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.

24 years ago[project @ 1999-07-29 13:57:34 by sof]
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

24 years ago[project @ 1999-07-29 13:13:58 by sof]
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

24 years ago[project @ 1999-07-29 11:30:30 by sof]
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

24 years ago[project @ 1999-07-29 10:03:18 by simonmar]
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.

24 years ago[project @ 1999-07-29 10:01:05 by simonmar]
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.

24 years ago[project @ 1999-07-29 10:00:22 by simonmar]
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).

24 years ago[project @ 1999-07-29 09:08:26 by simonmar]
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.

24 years ago[project @ 1999-07-28 15:34:39 by simonpj]
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

24 years ago[project @ 1999-07-28 14:57:21 by simonmar]
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

24 years ago[project @ 1999-07-28 14:10:09 by simonmar]
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.

24 years ago[project @ 1999-07-28 08:34:45 by simonmar]
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.

24 years ago[project @ 1999-07-27 15:56:59 by simonmar]
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.

24 years ago[project @ 1999-07-27 15:27:15 by simonmar]
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.

24 years ago[project @ 1999-07-27 13:55:57 by simonmar]
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).

24 years ago[project @ 1999-07-27 13:29:08 by simonmar]
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.

24 years ago[project @ 1999-07-27 12:07:36 by sof]
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

24 years ago[project @ 1999-07-27 11:12:05 by simonmar]
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.

24 years ago[project @ 1999-07-27 11:09:31 by simonmar]
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.

24 years ago[project @ 1999-07-27 11:02:14 by simonmar]
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.

24 years ago[project @ 1999-07-27 10:53:53 by sof]
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.

24 years ago[project @ 1999-07-27 10:50:17 by sof]
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)

24 years ago[project @ 1999-07-27 10:18:34 by simonmar]
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.

24 years ago[project @ 1999-07-27 09:25:49 by simonmar]
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.

24 years ago[project @ 1999-07-27 07:42:31 by simonpj]
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

24 years ago[project @ 1999-07-27 07:31:16 by simonpj]
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

24 years ago[project @ 1999-07-27 07:30:00 by simonpj]
simonpj [Tue, 27 Jul 1999 07:30:00 +0000 (07:30 +0000)]
[project @ 1999-07-27 07:30:00 by simonpj]
Add rnfail018

24 years ago[project @ 1999-07-26 18:37:26 by simonmar]
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.

24 years ago[project @ 1999-07-26 16:06:28 by simonpj]
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.

24 years ago[project @ 1999-07-26 16:01:51 by simonpj]
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

24 years ago[project @ 1999-07-26 15:37:41 by simonpj]
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.)

24 years ago[project @ 1999-07-26 15:31:01 by simonpj]
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

24 years ago[project @ 1999-07-26 15:30:29 by simonpj]
simonpj [Mon, 26 Jul 1999 15:30:29 +0000 (15:30 +0000)]
[project @ 1999-07-26 15:30:29 by simonpj]
Add rnfail017

24 years ago[project @ 1999-07-26 15:22:38 by simonpj]
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

24 years ago[project @ 1999-07-26 15:21:56 by simonpj]
simonpj [Mon, 26 Jul 1999 15:21:56 +0000 (15:21 +0000)]
[project @ 1999-07-26 15:21:56 by simonpj]
Add tc102

24 years ago[project @ 1999-07-16 15:49:52 by keithw]
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.

24 years ago[project @ 1999-07-16 15:12:15 by sewardj]
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.

24 years ago[project @ 1999-07-16 15:03:40 by sewardj]
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

24 years ago[project @ 1999-07-16 14:06:57 by simonpj]
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

24 years ago[project @ 1999-07-16 13:34:20 by simonpj]
simonpj [Fri, 16 Jul 1999 13:34:20 +0000 (13:34 +0000)]
[project @ 1999-07-16 13:34:20 by simonpj]
Add tc101

24 years ago[project @ 1999-07-16 11:08:58 by sewardj]
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.

24 years ago[project @ 1999-07-16 09:53:44 by panne]
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).

24 years ago[project @ 1999-07-16 09:46:31 by keithw]
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.

24 years ago[project @ 1999-07-16 09:41:12 by panne]
panne [Fri, 16 Jul 1999 09:41:12 +0000 (09:41 +0000)]
[project @ 1999-07-16 09:41:12 by panne]
More 64bit fun: Fixed an ill-placed #ifdef and added a cast to a
numeric literal (for explanation see yesterday's fix).

24 years ago[project @ 1999-07-16 09:36:07 by simonpj]
simonpj [Fri, 16 Jul 1999 09:36:08 +0000 (09:36 +0000)]
[project @ 1999-07-16 09:36:07 by simonpj]
* Fix long-standing bug in TcIfaceSig which meant it occasionally complained
  about a lint error in an unfolding, with a locally-defined name not
  being in scope.   This only happened when hi-boot loops were being
  tied, so an unfolding might mention a locally-defined name.

24 years ago[project @ 1999-07-16 09:34:38 by simonpj]
simonpj [Fri, 16 Jul 1999 09:34:38 +0000 (09:34 +0000)]
[project @ 1999-07-16 09:34:38 by simonpj]
* Fix trivial bug in WwLib.mkWWfixup,
  which showed up when booting the compiler.

24 years ago[project @ 1999-07-16 08:56:41 by panne]
panne [Fri, 16 Jul 1999 08:57:05 +0000 (08:57 +0000)]
[project @ 1999-07-16 08:56:41 by panne]
More small portability changes:
   * For older GHCs use IOBase instead of PrelIOBase
   * Never use commas in SLIT. cpp IS a hack for Haskell...

24 years ago[project @ 1999-07-15 18:16:41 by panne]
panne [Thu, 15 Jul 1999 18:16:41 +0000 (18:16 +0000)]
[project @ 1999-07-15 18:16:41 by panne]
Patched my previous patch ($ vs $$, && vs if/then/fi). Installing a
Happy binary-dist still only creates a happy and no happy-1.6
executable, but this has very probably nothing to do with my changes.

24 years ago[project @ 1999-07-15 16:20:46 by panne]
panne [Thu, 15 Jul 1999 16:20:46 +0000 (16:20 +0000)]
[project @ 1999-07-15 16:20:46 by panne]
Two checks for empty file lists added.

24 years ago[project @ 1999-07-15 16:11:29 by panne]
panne [Thu, 15 Jul 1999 16:11:29 +0000 (16:11 +0000)]
[project @ 1999-07-15 16:11:29 by panne]
We have to be very careful with numeric literals in the C part, in
this case 0xff (of type int = 4 bytes on Alpha) was shifted left 56
times => always zero  :-{  Using an L or UL suffix is not always
practical, because the needed size depends on conditional typedefs
somewhere else. Solution: Cast!  :-P  ghc/includes contains some more
suspicious literals, but I did not have a look at them yet.

24 years ago[project @ 1999-07-15 14:08:03 by keithw]
keithw [Thu, 15 Jul 1999 14:08:50 +0000 (14:08 +0000)]
[project @ 1999-07-15 14:08:03 by keithw]
This commit makes a start at implementing polymorphic usage
annotations.

* The module Type has now been split into TypeRep, containing the
  representation Type(..) and other information for `friends' only,
  and Type, providing the public interface to Type.  Due to a bug in
  the interface-file slurping prior to ghc-4.04, {-# SOURCE #-}
  dependencies must unfortunately still refer to TypeRep even though
  they are not friends.

* Unfoldings in interface files now print as __U instead of __u.
  UpdateInfo now prints as __UA instead of __U.

* A new sort of variables, UVar, in their own namespace, uvName, has
  been introduced for usage variables.

* Usage binders __fuall uv have been introduced.  Usage annotations
  are now __u - ty (used once), __u ! ty (used possibly many times),
  __u uv ty (used uv times), where uv is a UVar.  __o and __m have
  gone.  All this still lives only in a TyNote, *for now* (but not for
  much longer).

* Variance calculation for TyCons has moved from
  typecheck/TcTyClsDecls to types/Variance.

* Usage annotation and inference are now done together in a single
  pass.  Provision has been made for inferring polymorphic usage
  annotations (with __fuall) but this has not yet been implemented.
  Watch this space!

24 years ago[project @ 1999-07-15 09:58:23 by simonmar]
simonmar [Thu, 15 Jul 1999 09:58:23 +0000 (09:58 +0000)]
[project @ 1999-07-15 09:58:23 by simonmar]
No more RAWCPP, thank you.

24 years ago[project @ 1999-07-15 09:56:04 by simonmar]
simonmar [Thu, 15 Jul 1999 09:56:04 +0000 (09:56 +0000)]
[project @ 1999-07-15 09:56:04 by simonmar]
Use +RTS -S<file> rather than +RTS -s<file>, since the latter only
gives summary statistics now.

24 years ago[project @ 1999-07-15 09:51:52 by simonmar]
simonmar [Thu, 15 Jul 1999 09:51:52 +0000 (09:51 +0000)]
[project @ 1999-07-15 09:51:52 by simonmar]
A prime example of how an inconsistent .hi-boot file can really ruin
your day: the definition of CoreRules in CoreSyn.hi-boot was out of
sync with the real one, which meant that the compiler generated the
wrong code for a `seq` on something of type CoreRules.

24 years ago[project @ 1999-07-15 08:51:25 by simonmar]
simonmar [Thu, 15 Jul 1999 08:51:25 +0000 (08:51 +0000)]
[project @ 1999-07-15 08:51:25 by simonmar]
oops, forgot to commit this yesterday.

RAWCPP is now '$(CPP) -undef -traditional'.

24 years ago[project @ 1999-07-14 22:10:40 by simonpj]
simonpj [Wed, 14 Jul 1999 22:10:42 +0000 (22:10 +0000)]
[project @ 1999-07-14 22:10:40 by simonpj]
[Simon: this should fix that -funfolding-use-threshold0 lint bug]

[Kevin: have a look at WwLib.mkWwBodies.  Isn't it a thing of beauty?
Could you think about whether the CPR stuff could be cleaned
up a bit?  The strictness stuff is much shorter.]

This commit tidies up WwLib.mkWwBodies, fixing a couple of bugs.

* One bug showed up when CPR made a worker return an unboxed tuple,
  but the worker didn't have any other arguments.  The "add a void arg"
  hack needed to be generalised a bit.

* The other bug showed up when booting the compiler.  There's a long
  comment near splitProductType in WwLib.lhs that explains the problem.

24 years ago[project @ 1999-07-14 20:29:34 by panne]
panne [Wed, 14 Jul 1999 20:29:34 +0000 (20:29 +0000)]
[project @ 1999-07-14 20:29:34 by panne]
Enlarged heap for 2.10-compiled Happy on Alphas

24 years ago[project @ 1999-07-14 15:28:08 by simonmar]
simonmar [Wed, 14 Jul 1999 15:28:08 +0000 (15:28 +0000)]
[project @ 1999-07-14 15:28:08 by simonmar]
pre-4.03 didn't have __HASKELL98__, use something else.

24 years ago[project @ 1999-07-14 14:40:20 by simonpj]
simonpj [Wed, 14 Jul 1999 14:41:04 +0000 (14:41 +0000)]
[project @ 1999-07-14 14:40:20 by simonpj]
Main things:

* Add splitProductType_maybe to DataCon.lhs, with type
  splitProductType_maybe
:: Type  -- A product type, perhaps
-> Maybe (TyCon,  -- The type constructor
  [Type], -- Type args of the tycon
  DataCon, -- The data constructor
  [Type]) -- Its *representation* arg types

  Then use it in many places (e.g. worker-wrapper places) instead
  of a pile of junk

* Clean up various uses of dataConArgTys, which were plain wrong because
  they weren't passed the existential type arguments.  Most of these calls
  are eliminated by using splitProductType_maybe above.  I hope I correctly
  squashed the others. This fixes a bug that Meurig's programs showed up.

    module FailGHC (killSustainer) where
    import Weak
    import IOExts

    data Sustainer = forall a . Sustainer (IORef (Maybe a)) (IO ())

    killSustainer :: Sustainer -> IO ()
    killSustainer (Sustainer _ act) = act

  The above program used to kill the compiler.

* A fairly concerted attack on the Dreaded Space Leak.
- Add Type.seqType, CoreSyn.seqExpr, CoreSyn.seqRules

- Add some seq'ing when building Ids and IdInfos
These reduce the space usage a lot

- Add CoreSyn.coreBindsSize, which is pretty strict in the program,
and call it when we have -dshow-passes.

- Do not put the inlining in an Id that is being plugged into
the result-expression of the simplifier.  This cures
a the 'wedge' in the space profile for reasons I don't understand fully

  Together, these things reduce the max space usage when compiling PrelNum from
  17M to about 7Mbytes.

  I think there are now *too many* seqs, and they waste work, but I don't have
  time to find which ones.

  Furthermore, we aren't done. For some reason, some of the stuff allocated by
  the simplifier makes it through all during code generation and I don't see why.
  There's a should-be-unnecessary call to coreBindsSize in Main.main which
  zaps some, but not all of this space.

  -dshow-passes reduces space usage a bit, but I don't think it should really.

  All the measurements were made on a compiler compiled with profiling by
  GHC 3.03.    I hope they carry over to other builds!

* One trivial thing: changed all variables 'label' to 'lbl', becuase the
  former is a keyword with -fglagow-exts in GHC 3.03 (which I was compiling with).
  Something similar in StringBuffer.

24 years ago[project @ 1999-07-14 13:44:19 by simonmar]
simonmar [Wed, 14 Jul 1999 13:44:19 +0000 (13:44 +0000)]
[project @ 1999-07-14 13:44:19 by simonmar]
- Add findPtr() - searches through the heap for an occurrence of a
  given value.  Useful when debugging.

24 years ago[project @ 1999-07-14 13:39:46 by simonmar]
simonmar [Wed, 14 Jul 1999 13:42:28 +0000 (13:42 +0000)]
[project @ 1999-07-14 13:39:46 by simonmar]
Workaround bug in Linux's glibc 2.1:  don't fflush(stdout) before
writing to stderr.

24 years ago[project @ 1999-07-14 13:38:27 by simonmar]
simonmar [Wed, 14 Jul 1999 13:38:27 +0000 (13:38 +0000)]
[project @ 1999-07-14 13:38:27 by simonmar]
use shutdownHaskellAndExit().

24 years ago[project @ 1999-07-14 13:37:44 by simonmar]
simonmar [Wed, 14 Jul 1999 13:37:44 +0000 (13:37 +0000)]
[project @ 1999-07-14 13:37:44 by simonmar]
- add USE_REPORT_PRELUDE
- Directory and Time don't need -monly-3-regs any more
- remove a -fno-prune-tydecls

24 years ago[project @ 1999-07-14 13:35:49 by sewardj]
sewardj [Wed, 14 Jul 1999 13:35:53 +0000 (13:35 +0000)]
[project @ 1999-07-14 13:35:49 by sewardj]
Changed vars of the form _unused to zz_unused, since 3.02 doesn't understand
this convention.

24 years ago[project @ 1999-07-14 13:26:48 by simonmar]
simonmar [Wed, 14 Jul 1999 13:26:52 +0000 (13:26 +0000)]
[project @ 1999-07-14 13:26:48 by simonmar]
Don't attempt to discover the exact location of cpp, instead use 'gcc
-E'.  With the right combination of flags, it seems we can get the
same behaviour as calling cpp directly.

24 years ago[project @ 1999-07-14 13:23:51 by simonmar]
simonmar [Wed, 14 Jul 1999 13:23:51 +0000 (13:23 +0000)]
[project @ 1999-07-14 13:23:51 by simonmar]
Update to match CgUsages.hi-boot-5

24 years ago[project @ 1999-07-14 12:31:14 by simonmar]
simonmar [Wed, 14 Jul 1999 12:31:14 +0000 (12:31 +0000)]
[project @ 1999-07-14 12:31:14 by simonmar]
Recover the -funbox-strict-fields test.

24 years ago[project @ 1999-07-14 11:47:12 by simonmar]
simonmar [Wed, 14 Jul 1999 11:47:12 +0000 (11:47 +0000)]
[project @ 1999-07-14 11:47:12 by simonmar]
4.04

24 years ago[project @ 1999-07-14 11:46:36 by simonmar]
simonmar [Wed, 14 Jul 1999 11:46:36 +0000 (11:46 +0000)]
[project @ 1999-07-14 11:46:36 by simonmar]
4.04 changes.

24 years ago[project @ 1999-07-14 11:33:10 by simonmar]
simonmar [Wed, 14 Jul 1999 11:33:12 +0000 (11:33 +0000)]
[project @ 1999-07-14 11:33:10 by simonmar]
- add 4.04 release notes
- several other docfixes and markup fixes.

24 years ago[project @ 1999-07-14 11:16:43 by simonmar]
simonmar [Wed, 14 Jul 1999 11:16:43 +0000 (11:16 +0000)]
[project @ 1999-07-14 11:16:43 by simonmar]
link in NonTermination_static_closure.

24 years ago[project @ 1999-07-14 11:15:09 by simonmar]
simonmar [Wed, 14 Jul 1999 11:15:09 +0000 (11:15 +0000)]
[project @ 1999-07-14 11:15:09 by simonmar]
add NonTermination_closure.

24 years ago[project @ 1999-07-14 10:01:43 by simonmar]
simonmar [Wed, 14 Jul 1999 10:01:43 +0000 (10:01 +0000)]
[project @ 1999-07-14 10:01:43 by simonmar]
Fix my email address.