ghc-hetmet.git
21 years ago[project @ 2003-02-20 13:18:10 by simonpj]
simonpj [Thu, 20 Feb 2003 13:18:10 +0000 (13:18 +0000)]
[project @ 2003-02-20 13:18:10 by simonpj]
Part 2 of fix :i in InteractiveUI

21 years ago[project @ 2003-02-20 13:17:02 by simonpj]
simonpj [Thu, 20 Feb 2003 13:17:02 +0000 (13:17 +0000)]
[project @ 2003-02-20 13:17:02 by simonpj]
Comments only

21 years ago[project @ 2003-02-20 13:16:31 by simonpj]
simonpj [Thu, 20 Feb 2003 13:16:31 +0000 (13:16 +0000)]
[project @ 2003-02-20 13:16:31 by simonpj]
Another datacon-naming wibble

21 years ago[project @ 2003-02-20 13:12:40 by simonpj]
simonpj [Thu, 20 Feb 2003 13:12:40 +0000 (13:12 +0000)]
[project @ 2003-02-20 13:12:40 by simonpj]
Fix :i in InteractiveUI

21 years ago[project @ 2003-02-20 13:01:20 by simonpj]
simonpj [Thu, 20 Feb 2003 13:01:21 +0000 (13:01 +0000)]
[project @ 2003-02-20 13:01:20 by simonpj]
Eliminate brain-dead outputC pattern-match failure

21 years ago[project @ 2003-02-20 13:00:24 by simonpj]
simonpj [Thu, 20 Feb 2003 13:00:25 +0000 (13:00 +0000)]
[project @ 2003-02-20 13:00:24 by simonpj]
Eliminate bogus string-literal duplication

21 years ago[project @ 2003-02-20 12:59:55 by simonpj]
simonpj [Thu, 20 Feb 2003 12:59:55 +0000 (12:59 +0000)]
[project @ 2003-02-20 12:59:55 by simonpj]
Compile binary stuff with -O always

21 years ago[project @ 2003-02-20 11:45:24 by simonmar]
simonmar [Thu, 20 Feb 2003 11:45:24 +0000 (11:45 +0000)]
[project @ 2003-02-20 11:45:24 by simonmar]
Add -fvia-C to utils/Panic_HC_OPTS, and remove it from main/Main_HC_OPTS.

21 years ago[project @ 2003-02-19 16:38:35 by sof]
sof [Wed, 19 Feb 2003 16:38:35 +0000 (16:38 +0000)]
[project @ 2003-02-19 16:38:35 by sof]
odir-ify prelude/PrimOp.o dependency

21 years ago[project @ 2003-02-19 16:30:17 by simonpj]
simonpj [Wed, 19 Feb 2003 16:30:17 +0000 (16:30 +0000)]
[project @ 2003-02-19 16:30:17 by simonpj]
Document phase control

21 years ago[project @ 2003-02-19 15:54:05 by simonpj]
simonpj [Wed, 19 Feb 2003 15:54:12 +0000 (15:54 +0000)]
[project @ 2003-02-19 15:54:05 by simonpj]
-------------------------------------
  Two minor wibbles
-------------------------------------

1.  Make the generic toT/fromT Ids for "generic derived classes" into
    proper ImplicitIds, with their own GlobalIdDetails. This makes it
    easier to identify them.  (The lack of this showed up as a bug
    when I made an apparently-innocuous other change.)

2.  Distinguish ClassOpIds from RecordSelIds in their GlobalIdDetails.
    They are treated differently here and there, so I made this change
    as part of (1)

3.  Ensure that a declaration quotation [d| ... |] does not have a
    permanent effect on the instance environment. (A TH fix.)

21 years ago[project @ 2003-02-19 13:05:45 by simonpj]
simonpj [Wed, 19 Feb 2003 13:05:47 +0000 (13:05 +0000)]
[project @ 2003-02-19 13:05:45 by simonpj]
Wibbles to the new datacon story; fixes ds002

21 years ago[project @ 2003-02-19 11:52:42 by simonmar]
simonmar [Wed, 19 Feb 2003 11:52:42 +0000 (11:52 +0000)]
[project @ 2003-02-19 11:52:42 by simonmar]
Add note to description of -no-hs-main: it forces linking in --make
mode too.

21 years ago[project @ 2003-02-19 11:51:35 by simonmar]
simonmar [Wed, 19 Feb 2003 11:51:35 +0000 (11:51 +0000)]
[project @ 2003-02-19 11:51:35 by simonmar]
If -no-hs-main is specified in --make mode, attempt linking even when
there's no Main module.

Fixes bug #686620

MERGE TO STABLE

21 years ago[project @ 2003-02-18 16:23:35 by igloo]
igloo [Tue, 18 Feb 2003 16:23:36 +0000 (16:23 +0000)]
[project @ 2003-02-18 16:23:35 by igloo]
Support strictness annotations on data declarations and support the record
and infix constructors. Also tweaked the pretty printer a bit.

21 years ago[project @ 2003-02-18 15:54:42 by simonpj]
simonpj [Tue, 18 Feb 2003 15:54:42 +0000 (15:54 +0000)]
[project @ 2003-02-18 15:54:42 by simonpj]
Remove un-necessary case

21 years ago[project @ 2003-02-18 15:54:19 by simonpj]
simonpj [Tue, 18 Feb 2003 15:54:20 +0000 (15:54 +0000)]
[project @ 2003-02-18 15:54:19 by simonpj]
-------------------------------------
  Two minor wibbles
-------------------------------------

[These two unrelated fixes just got tangled together in my tree.]

1.  Fix a crash when a class op is used as a record selector

2.  Fix a wibble related to the new DataCon naming story.
    In tcId, treat the DataCon case entirely separately, because
    its "stupid context" doesn't show up in its type.

    On the way, remove the DataCon cases in tcLookupId and tcLookupGlobalId
    The should not be necessary.  He says hopefully.

21 years ago[project @ 2003-02-18 15:54:02 by simonpj]
simonpj [Tue, 18 Feb 2003 15:54:02 +0000 (15:54 +0000)]
[project @ 2003-02-18 15:54:02 by simonpj]
Cosmetic wibble

21 years ago[project @ 2003-02-18 15:42:59 by simonpj]
simonpj [Tue, 18 Feb 2003 15:42:59 +0000 (15:42 +0000)]
[project @ 2003-02-18 15:42:59 by simonpj]
Comments only

21 years ago[project @ 2003-02-18 09:57:19 by simonmar]
simonmar [Tue, 18 Feb 2003 09:57:19 +0000 (09:57 +0000)]
[project @ 2003-02-18 09:57:19 by simonmar]
Fix build on GHC < 5.00

21 years ago[project @ 2003-02-18 05:47:53 by sof]
sof [Tue, 18 Feb 2003 05:47:53 +0000 (05:47 +0000)]
[project @ 2003-02-18 05:47:53 by sof]
make use of MBLOCK_ROUND_DOWN()

21 years ago[project @ 2003-02-18 05:40:20 by sof]
sof [Tue, 18 Feb 2003 05:40:20 +0000 (05:40 +0000)]
[project @ 2003-02-18 05:40:20 by sof]
arenaAlloc(): tidy up alignment calc

21 years ago[project @ 2003-02-17 15:14:25 by simonpj]
simonpj [Mon, 17 Feb 2003 15:14:25 +0000 (15:14 +0000)]
[project @ 2003-02-17 15:14:25 by simonpj]
More notes about building on Win32

21 years ago[project @ 2003-02-17 15:11:47 by simonpj]
simonpj [Mon, 17 Feb 2003 15:11:47 +0000 (15:11 +0000)]
[project @ 2003-02-17 15:11:47 by simonpj]
Use hasktags by default

21 years ago[project @ 2003-02-17 12:24:26 by simonmar]
simonmar [Mon, 17 Feb 2003 12:24:28 +0000 (12:24 +0000)]
[project @ 2003-02-17 12:24:26 by simonmar]
Restore interrupt/quit signal handlers after every evaluation in GHCi,
just in case the program set its own.

21 years ago[project @ 2003-02-17 11:42:15 by simonmar]
simonmar [Mon, 17 Feb 2003 11:42:15 +0000 (11:42 +0000)]
[project @ 2003-02-17 11:42:15 by simonmar]
Comment change only

21 years ago[project @ 2003-02-17 11:26:43 by simonmar]
simonmar [Mon, 17 Feb 2003 11:26:43 +0000 (11:26 +0000)]
[project @ 2003-02-17 11:26:43 by simonmar]
GHC is pre-supposed in order to build GHC.  We weren't making this
nearly as explicit as it should have been.

21 years ago[project @ 2003-02-17 11:18:45 by simonmar]
simonmar [Mon, 17 Feb 2003 11:18:45 +0000 (11:18 +0000)]
[project @ 2003-02-17 11:18:45 by simonmar]
Emit an error if we're trying to build GHC from source without GHC installed.

21 years ago[project @ 2003-02-14 19:21:57 by panne]
panne [Fri, 14 Feb 2003 19:21:57 +0000 (19:21 +0000)]
[project @ 2003-02-14 19:21:57 by panne]
Not sure if this fix is correct, but at least this module compiles
again...

21 years ago[project @ 2003-02-14 14:22:24 by simonpj]
simonpj [Fri, 14 Feb 2003 14:22:25 +0000 (14:22 +0000)]
[project @ 2003-02-14 14:22:24 by simonpj]
-------------------------------------
   Do the top-level tcSimpifyTop (to resolve monomorphic constraints)
   once for the whole program, rather than once per splice group
-------------------------------------

This change makes the trivial program

main = return ()

work again.  It had stopped working (emitting an error about Monad m
being unconstrained) because the 'checkMain' stuff (which knows special
things about 'main' was happening only *after* all the groups of
decls in the module had been dealt with and zonked (incl tcSimplifyTop).

Better to postpone.  A little more plumbing, but one fewer unexpected
happenings.

21 years ago[project @ 2003-02-14 14:19:29 by simonpj]
simonpj [Fri, 14 Feb 2003 14:19:29 +0000 (14:19 +0000)]
[project @ 2003-02-14 14:19:29 by simonpj]
Comments

21 years ago[project @ 2003-02-14 14:19:15 by simonpj]
simonpj [Fri, 14 Feb 2003 14:19:15 +0000 (14:19 +0000)]
[project @ 2003-02-14 14:19:15 by simonpj]
A bit more debug info + comments

21 years ago[project @ 2003-02-14 14:18:02 by simonpj]
simonpj [Fri, 14 Feb 2003 14:18:02 +0000 (14:18 +0000)]
[project @ 2003-02-14 14:18:02 by simonpj]
A bit more about scoped type variables

21 years ago[project @ 2003-02-14 14:17:43 by simonpj]
simonpj [Fri, 14 Feb 2003 14:17:43 +0000 (14:17 +0000)]
[project @ 2003-02-14 14:17:43 by simonpj]
wibble

21 years ago[project @ 2003-02-14 13:01:32 by simonpj]
simonpj [Fri, 14 Feb 2003 13:01:32 +0000 (13:01 +0000)]
[project @ 2003-02-14 13:01:32 by simonpj]
Fix for deriving of records with leading underscore, and corresponding lex

21 years ago[project @ 2003-02-13 15:45:05 by wolfgang]
wolfgang [Thu, 13 Feb 2003 15:45:06 +0000 (15:45 +0000)]
[project @ 2003-02-13 15:45:05 by wolfgang]
support many more MachOps in the PowerPC NCG

21 years ago[project @ 2003-02-13 15:20:27 by sof]
sof [Thu, 13 Feb 2003 15:20:27 +0000 (15:20 +0000)]
[project @ 2003-02-13 15:20:27 by sof]
upd wrt spacy filenames

21 years ago[project @ 2003-02-13 08:41:54 by simonpj]
simonpj [Thu, 13 Feb 2003 08:41:55 +0000 (08:41 +0000)]
[project @ 2003-02-13 08:41:54 by simonpj]
Commit a couple of hi-boot files I forgot

21 years ago[project @ 2003-02-13 01:50:04 by sof]
sof [Thu, 13 Feb 2003 01:50:05 +0000 (01:50 +0000)]
[project @ 2003-02-13 01:50:04 by sof]
Be sensitive to filenames containing spaces when processing
:load & :add commands. Ditto when interpreting filenames given
on GHCi's cmd-line.

Merge to STABLE.

21 years ago[project @ 2003-02-12 23:38:23 by wolfgang]
wolfgang [Wed, 12 Feb 2003 23:38:23 +0000 (23:38 +0000)]
[project @ 2003-02-12 23:38:23 by wolfgang]
Threaded RTS: improve ccall performance by allocation parameters as a
variable length array instead of using malloc

21 years ago[project @ 2003-02-12 22:17:04 by wolfgang]
wolfgang [Wed, 12 Feb 2003 22:17:04 +0000 (22:17 +0000)]
[project @ 2003-02-12 22:17:04 by wolfgang]
Enable building the native code generator for PowerPC/Mac OS X by default.
It's still not used by default, so you have to specify -fasm when you want
it.

21 years ago[project @ 2003-02-12 21:39:43 by wolfgang]
wolfgang [Wed, 12 Feb 2003 21:39:43 +0000 (21:39 +0000)]
[project @ 2003-02-12 21:39:43 by wolfgang]
Finally enable GHCi by default on Mac OS X, this should have been done a
long time ago...

MERGE TO STABLE

21 years ago[project @ 2003-02-12 17:57:34 by simonpj]
simonpj [Wed, 12 Feb 2003 17:57:34 +0000 (17:57 +0000)]
[project @ 2003-02-12 17:57:34 by simonpj]
A wibble to the constructor-naming story

21 years ago[project @ 2003-02-12 17:48:45 by qrczak]
qrczak [Wed, 12 Feb 2003 17:48:45 +0000 (17:48 +0000)]
[project @ 2003-02-12 17:48:45 by qrczak]
Another typo.

21 years ago[project @ 2003-02-12 17:36:52 by qrczak]
qrczak [Wed, 12 Feb 2003 17:36:52 +0000 (17:36 +0000)]
[project @ 2003-02-12 17:36:52 by qrczak]
Typo.

21 years ago[project @ 2003-02-12 15:01:31 by simonpj]
simonpj [Wed, 12 Feb 2003 15:01:44 +0000 (15:01 +0000)]
[project @ 2003-02-12 15:01:31 by simonpj]
-------------------------------------
  Big upheaval to the way that constructors are named
-------------------------------------

This commit enshrines the new story for constructor names.  We could never
really get External Core to work nicely before, but now it does.

The story is laid out in detail in the Commentary
ghc/docs/comm/the-beast/data-types.html
so I will not repeat it here.

[Manuel: the commentary isn't being updated, apparently.]

However, the net effect is that in Core and in External Core, contructors look
like constructors, and the way things are printed is all consistent.

It is a fairly pervasive change (which is why it has been so long postponed),
but I hope the question is now finally closed.

All the libraries compile etc, and I've run many tests, but doubtless there will
be some dark corners.

21 years ago[project @ 2003-02-12 11:59:49 by simonmar]
simonmar [Wed, 12 Feb 2003 11:59:49 +0000 (11:59 +0000)]
[project @ 2003-02-12 11:59:49 by simonmar]
Fix two bugs/omissions in the new THUNK_SELECTOR code which cause
biographical profiling to fall over.

(aka rev. 1.135.4.10)

21 years ago[project @ 2003-02-12 11:05:41 by simonmar]
simonmar [Wed, 12 Feb 2003 11:05:41 +0000 (11:05 +0000)]
[project @ 2003-02-12 11:05:41 by simonmar]
Fix bug caused by non-use of function prototypes (grrr!).

21 years ago[project @ 2003-02-12 10:32:38 by simonmar]
simonmar [Wed, 12 Feb 2003 10:32:38 +0000 (10:32 +0000)]
[project @ 2003-02-12 10:32:38 by simonmar]
Adapt the dist target a little to work with the nightly build's new
way of building source dists.

It now works by building a link tree to the build tree, and doing
'make dist' on the link tree, to avoid destroying the real build tree.
This just needed a couple of tweaks to the dist target to work.

21 years ago[project @ 2003-02-11 17:19:35 by simonpj]
simonpj [Tue, 11 Feb 2003 17:19:36 +0000 (17:19 +0000)]
[project @ 2003-02-11 17:19:35 by simonpj]
Lots of new stuff about data types

21 years ago[project @ 2003-02-11 15:27:32 by simonpj]
simonpj [Tue, 11 Feb 2003 15:27:32 +0000 (15:27 +0000)]
[project @ 2003-02-11 15:27:32 by simonpj]
More Win32 notes

21 years ago[project @ 2003-02-11 11:53:51 by wolfgang]
wolfgang [Tue, 11 Feb 2003 11:53:52 +0000 (11:53 +0000)]
[project @ 2003-02-11 11:53:51 by wolfgang]
Mac OS X:
Add support for dynamic linker "symbol stubs". For every function that might
be imported from a dynamic library, we have to generate a short piece of
assembly code.
Extend the NatM monad to keep track of the list of imports (for which stubs
will be generated later).
Fix a bug concerning 64 bit ints (hi and low words were swapped in one place).

21 years ago[project @ 2003-02-11 04:32:06 by sof]
sof [Tue, 11 Feb 2003 04:32:06 +0000 (04:32 +0000)]
[project @ 2003-02-11 04:32:06 by sof]
Tighten up prev commit:
- win32: only add default --template=... option if the template file
  exists.
- if user has supplied --cc=.., use it as a default for 'ld'.

21 years ago[project @ 2003-02-10 23:35:03 by wolfgang]
wolfgang [Mon, 10 Feb 2003 23:35:03 +0000 (23:35 +0000)]
[project @ 2003-02-10 23:35:03 by wolfgang]
Mac OS X:
add one more relocation type (PPC_RELOC_BR24)
and add more C run-time library symbols to the symbol table
(made more difficult by the fact that these symbols don't
have an underscore prefix, while everything else on Mac OS X has)

21 years ago[project @ 2003-02-10 10:41:52 by simonmar]
simonmar [Mon, 10 Feb 2003 10:41:52 +0000 (10:41 +0000)]
[project @ 2003-02-10 10:41:52 by simonmar]
Add some missing symbols.

Should fix several recent test breakages with GHCi.

21 years ago[project @ 2003-02-10 10:13:13 by simonmar]
simonmar [Mon, 10 Feb 2003 10:13:13 +0000 (10:13 +0000)]
[project @ 2003-02-10 10:13:13 by simonmar]
Add GHC_Ptr_FunPtr_con_info symbol in the other branch of the #ifdef, too.

21 years ago[project @ 2003-02-08 20:14:19 by wolfgang]
wolfgang [Sat, 8 Feb 2003 20:14:19 +0000 (20:14 +0000)]
[project @ 2003-02-08 20:14:19 by wolfgang]
PowerPC: for ccalls, use the correct minimum size (32 bytes) for the
parameter area

21 years ago[project @ 2003-02-08 13:34:06 by wolfgang]
wolfgang [Sat, 8 Feb 2003 13:34:06 +0000 (13:34 +0000)]
[project @ 2003-02-08 13:34:06 by wolfgang]
Fix a potential crash in the threaded RTS by copying ccall arguments
from the TSO stack to a malloced block before doing the call.
(no changes were made for the non-threaded case)

21 years ago[project @ 2003-02-07 22:26:08 by sof]
sof [Fri, 7 Feb 2003 22:26:08 +0000 (22:26 +0000)]
[project @ 2003-02-07 22:26:08 by sof]
hsc2hs-inplace: provide --ld default-default

21 years ago[project @ 2003-02-07 22:14:32 by sof]
sof [Fri, 7 Feb 2003 22:14:32 +0000 (22:14 +0000)]
[project @ 2003-02-07 22:14:32 by sof]
Rip out rawSystem impl -- it only happened to work by accident.

Simpler to just assume that SystemExts supplies it instead, which it
has for a number of versions now.

21 years ago[project @ 2003-02-07 21:55:36 by sof]
sof [Fri, 7 Feb 2003 21:55:36 +0000 (21:55 +0000)]
[project @ 2003-02-07 21:55:36 by sof]
- default linker is now 'ghc' (i.e., consistent with the default compiler.)
- new option, -v/--verbose, which makes the tool less inscrutable about what
  external commands it actually ends up exec'ing.
- under Win32, try locating the default 'ghc' to run by looking in the dir
  where 'hsc2hs' resides (which they do in a binary install.)
- make the default --template arg story actually work (win32 only.)

21 years ago[project @ 2003-02-07 09:39:02 by simonpj]
simonpj [Fri, 7 Feb 2003 09:39:03 +0000 (09:39 +0000)]
[project @ 2003-02-07 09:39:02 by simonpj]
Fix minor bugs in simplifier iteration control

21 years ago[project @ 2003-02-06 19:39:35 by tgedell]
tgedell [Thu, 6 Feb 2003 19:39:37 +0000 (19:39 +0000)]
[project @ 2003-02-06 19:39:35 by tgedell]
Changed so that PredType is declared as a type and not a datatype,
this caused a problem when generating external Core.
Added SourceType as a datatype since PredType refers to it.

21 years ago[project @ 2003-02-06 17:37:50 by simonpj]
simonpj [Thu, 6 Feb 2003 17:37:50 +0000 (17:37 +0000)]
[project @ 2003-02-06 17:37:50 by simonpj]
Deal with TForall in cvtType

21 years ago[project @ 2003-02-06 17:15:50 by simonpj]
simonpj [Thu, 6 Feb 2003 17:15:54 +0000 (17:15 +0000)]
[project @ 2003-02-06 17:15:50 by simonpj]
-------------------------------------
  Fix parsing of floating-point constants in External Core
-------------------------------------

This fix accidentally made it into the previous (unrelated) commit,
so it's really the *previous* change to LexCore you should look
at.

The fix updates LexCore so that it can parse literals in scientific
notation (e.g. 4.3e-3)

21 years ago[project @ 2003-02-06 17:11:13 by simonpj]
simonpj [Thu, 6 Feb 2003 17:11:14 +0000 (17:11 +0000)]
[project @ 2003-02-06 17:11:13 by simonpj]
Minor tidy up of known-key names

21 years ago[project @ 2003-02-06 10:04:57 by simonmar]
simonmar [Thu, 6 Feb 2003 10:04:57 +0000 (10:04 +0000)]
[project @ 2003-02-06 10:04:57 by simonmar]
Oops, Add rts_getFunPtr too.

21 years ago[project @ 2003-02-06 09:56:07 by simonmar]
simonmar [Thu, 6 Feb 2003 09:56:10 +0000 (09:56 +0000)]
[project @ 2003-02-06 09:56:07 by simonmar]
rts_mkFunPtr and rts_getFunPtr were missing.  Thanks to Daan Leijen
for spotting and reporting the bug.

MERGE TO STABLE

21 years ago[project @ 2003-02-06 09:36:46 by simonpj]
simonpj [Thu, 6 Feb 2003 09:36:46 +0000 (09:36 +0000)]
[project @ 2003-02-06 09:36:46 by simonpj]
Fix version-itis in LexCore, so it will compile with 4.08 again

21 years ago[project @ 2003-02-06 09:29:14 by simonpj]
simonpj [Thu, 6 Feb 2003 09:29:14 +0000 (09:29 +0000)]
[project @ 2003-02-06 09:29:14 by simonpj]
Improve error message

21 years ago[project @ 2003-02-05 12:33:33 by simonmar]
simonmar [Wed, 5 Feb 2003 12:33:34 +0000 (12:33 +0000)]
[project @ 2003-02-05 12:33:33 by simonmar]
EXTRA_OBJS is not the right thing to be adding into the objects to be
put into a SplitObjs library - it causes certain objects to turn up
twice in the resulting library (eg. if EXTRA_OBJS duplicates some
objects also found in HS_OBJS).

In fact, EXTRA_OBJS is generally bogus and now isn't used anywhere, so
I've removed it.

Should fix the problem recently reported with PrimopWrappers occurring
twice in the libHSbase.a archive.

21 years ago[project @ 2003-02-05 12:05:05 by simonmar]
simonmar [Wed, 5 Feb 2003 12:05:05 +0000 (12:05 +0000)]
[project @ 2003-02-05 12:05:05 by simonmar]
fix markup slightly

21 years ago[project @ 2003-02-05 11:42:08 by simonpj]
simonpj [Wed, 5 Feb 2003 11:42:08 +0000 (11:42 +0000)]
[project @ 2003-02-05 11:42:08 by simonpj]
Remove more usage-analysis stuff

21 years ago[project @ 2003-02-05 11:41:50 by simonpj]
simonpj [Wed, 5 Feb 2003 11:41:50 +0000 (11:41 +0000)]
[project @ 2003-02-05 11:41:50 by simonpj]
Wibble to TcRules (fixes HEAD breakage)

21 years ago[project @ 2003-02-05 11:41:26 by simonpj]
simonpj [Wed, 5 Feb 2003 11:41:26 +0000 (11:41 +0000)]
[project @ 2003-02-05 11:41:26 by simonpj]
-------------------------------------
  Fix parsing of floating-point constants in External Core
-------------------------------------

This fix accidentally made it into the previous (unrelated) commit,
so it's really the *previous* change to LexCore you should look
at.

The fix updates LexCore so that it can parse literals in scientific
notation (e.g. 4.3e-3)

21 years ago[project @ 2003-02-05 11:39:26 by simonpj]
simonpj [Wed, 5 Feb 2003 11:39:27 +0000 (11:39 +0000)]
[project @ 2003-02-05 11:39:26 by simonpj]
Type sigs and comments only

21 years ago[project @ 2003-02-05 09:37:23 by simonmar]
simonmar [Wed, 5 Feb 2003 09:37:23 +0000 (09:37 +0000)]
[project @ 2003-02-05 09:37:23 by simonmar]
Remove usageSP directory

21 years ago[project @ 2003-02-04 15:31:18 by simonpj]
simonpj [Tue, 4 Feb 2003 15:31:18 +0000 (15:31 +0000)]
[project @ 2003-02-04 15:31:18 by simonpj]
-------------------------------------
Fix a name-capture bug in Ext-Core
-------------------------------------

Don't expand newtypes (even non-recursive ones) when going to External Core.
Reason: the expansion was performed *after* Tidying; the expansion performs
type substitution, which is only done right if you take account of the Uniques.
But since it's post-tidying, we got capture of occurence names.

I hope the lack of newtype expansion doesn't hurt anyone; I doubt it will.
If so, we can think again.

Thanks to Tobias Gedell for this one.

21 years ago[project @ 2003-02-04 15:09:38 by simonpj]
simonpj [Tue, 4 Feb 2003 15:09:47 +0000 (15:09 +0000)]
[project @ 2003-02-04 15:09:38 by simonpj]
-------------------------------------
Remove all vestiges of usage analysis
-------------------------------------

This commit removes a large blob of usage-analysis-related code, almost
all of which was commented out.

Sadly, it doesn't look as if Keith is going to have enough time to polish it
up, and in any case the actual performance benefits (so far as we can measure
them) turned out to be pretty modest (a few percent).

So, with regret, I'm chopping it all out.  It's still there in the repository
if anyone wants go hack on it.  And Tobias Gedell at Chalmers is implementing
a different analysis, via External Core.

21 years ago[project @ 2003-02-04 13:06:41 by simonpj]
simonpj [Tue, 4 Feb 2003 13:06:41 +0000 (13:06 +0000)]
[project @ 2003-02-04 13:06:41 by simonpj]
---------------------------------------------------
External Core fix
output implicit bindings in correct dependency order
---------------------------------------------------

In coreSyn/MkExternalCore, output constructor wrappers before the
other implicit bindings, because the latter may use the former.

Thanks to Tobias Gedell for this one.

21 years ago[project @ 2003-02-04 12:40:00 by simonpj]
simonpj [Tue, 4 Feb 2003 12:40:01 +0000 (12:40 +0000)]
[project @ 2003-02-04 12:40:00 by simonpj]
Make utils/genprimopcode recognise the type ().
    It was previously written 'Unit', which is easily
    confused with the type 'Unit' (used for generic
    derived instances).

21 years ago[project @ 2003-02-04 12:33:05 by simonpj]
simonpj [Tue, 4 Feb 2003 12:33:07 +0000 (12:33 +0000)]
[project @ 2003-02-04 12:33:05 by simonpj]
---------------------------------------------------
Template-Haskell fix to make the global environment
      more side-effect-ful
---------------------------------------------------

Consider

f = $(...foldl...) $(...foldl...)

The first splice sucks in the type sig for foldl, which the second
splice needs.  That means that the second splice is going to have to
consult the persistent compiler state to see the effect of imports
by the first one.

We used to cache the global type environment in the TcGblEnv, but
this commit switches to the obvious thing: consult the persistent
state on every global lookup.  After all, reading a MutVar is no
big deal; and it's a benign, ever-growing cache of type signatures,
so the side effect is fine.

On the way I tidied up the knot-tying in TcIfaceSig a bit more.
Previously, I think the setUnfoldingInfo was being strict in the
unfolding, which forced it to be type-checked.  Now it's lazy.
That could mean a lot less typechecking overall, for things whose
unfolding isn't looked at.  I hope I havn't broken it, though.

21 years ago[project @ 2003-02-04 12:28:22 by simonpj]
simonpj [Tue, 4 Feb 2003 12:28:26 +0000 (12:28 +0000)]
[project @ 2003-02-04 12:28:22 by simonpj]
---------------------------------------------------
Important fix to the handling of class methods that
      mention their own class type variable
---------------------------------------------------

[NB: I'm not 100% certain that this commit is independent of the
     Template-Haskell-related commit I'm doing at the same time.
     I've tried to separate them but may not have succeeded totally.]

This bug gives utterly bogus (detected by Core Lint) programs.
Isaac Jones discovered it.  Here's an example, now enshrined as tc165.

    class C a where
f :: (Eq a) => a

    instance C () where
f = f

The instance decl was translated as

    dfC() = MkC (let f = \dEq -> f in f)

which is utterly wrong.  Reason: the 'f' on the left was being treated
as an available Inst, but it doesn't obey INVARIANT 2 for Insts, which
is that they are applied to all their dictionaries.  (See the data type
decl for Inst.)

Solution: don't include such class methods in the available Insts.

21 years ago[project @ 2003-02-04 12:25:21 by simonpj]
simonpj [Tue, 4 Feb 2003 12:25:21 +0000 (12:25 +0000)]
[project @ 2003-02-04 12:25:21 by simonpj]
Use nameIsLocalOrFrom instead of open code

21 years ago[project @ 2003-02-04 12:23:32 by simonpj]
simonpj [Tue, 4 Feb 2003 12:23:51 +0000 (12:23 +0000)]
[project @ 2003-02-04 12:23:32 by simonpj]
Add type sig

21 years ago[project @ 2003-02-03 15:41:52 by simonpj]
simonpj [Mon, 3 Feb 2003 15:41:52 +0000 (15:41 +0000)]
[project @ 2003-02-03 15:41:52 by simonpj]
Modify error message

21 years ago[project @ 2003-02-01 09:10:16 by mthomas]
mthomas [Sat, 1 Feb 2003 09:10:17 +0000 (09:10 +0000)]
[project @ 2003-02-01 09:10:16 by mthomas]
Initialize stp->n_to_blocks as 0.  Add function for MinGW32 in Signals.c.

21 years ago[project @ 2003-01-31 17:29:46 by wolfgang]
wolfgang [Fri, 31 Jan 2003 17:29:46 +0000 (17:29 +0000)]
[project @ 2003-01-31 17:29:46 by wolfgang]
PowerPC bugfix: Don't forget to save GPR13
(Thanks to Ashley Yakeley for reporting this)

MERGE TO STABLE

21 years ago[project @ 2003-01-30 10:19:07 by simonmar]
simonmar [Thu, 30 Jan 2003 10:19:07 +0000 (10:19 +0000)]
[project @ 2003-01-30 10:19:07 by simonmar]
Quick fix for profiling after I broke it in rev. 1.68.

The profiling system needs some initialisation after module
registration (hs_add_root()).  Since module registration now happens
later, the profiling system was getting initialised too early before
any cost centers had been registered.  This is a quick fix; we still
can't handle multiple hs_add_root()s with profiling.

21 years ago[project @ 2003-01-30 10:06:35 by simonmar]
simonmar [Thu, 30 Jan 2003 10:06:35 +0000 (10:06 +0000)]
[project @ 2003-01-30 10:06:35 by simonmar]
gcc 2.96 miscompiles LDV_recordDead_FILL_SLOP_DYNAMIC() when DEBUG is
on, and I think I must have debugged this crash about three times
already.  So I'm inserting a #error to stop me doing it again.

21 years ago[project @ 2003-01-29 10:28:56 by simonmar]
simonmar [Wed, 29 Jan 2003 10:28:56 +0000 (10:28 +0000)]
[project @ 2003-01-29 10:28:56 by simonmar]
Multi-init protection.

Multiple inits now don't crash, but they still don't do anything
sensible because the finalizers have been run during the first
hs_exit().

21 years ago[project @ 2003-01-29 09:54:31 by simonmar]
simonmar [Wed, 29 Jan 2003 09:54:33 +0000 (09:54 +0000)]
[project @ 2003-01-29 09:54:31 by simonmar]
- re-instate setProgArgv, it is used in System.Environment (bah, could
  have sworn I grepped for it and found nothing...)

- Remove init_stack symbol from the Linker's symbol table; this is
  now static.

21 years ago[project @ 2003-01-28 17:06:24 by simonmar]
simonmar [Tue, 28 Jan 2003 17:06:24 +0000 (17:06 +0000)]
[project @ 2003-01-28 17:06:24 by simonmar]
I moved startTime here, from RtsStartup.c where it seemed out of placed

21 years ago[project @ 2003-01-28 17:05:43 by simonmar]
simonmar [Tue, 28 Jan 2003 17:05:43 +0000 (17:05 +0000)]
[project @ 2003-01-28 17:05:43 by simonmar]
Make it multi-init-safe

21 years ago[project @ 2003-01-28 17:05:32 by simonmar]
simonmar [Tue, 28 Jan 2003 17:05:32 +0000 (17:05 +0000)]
[project @ 2003-01-28 17:05:32 by simonmar]
- Remove setProgArgv
- Belatedly add startupHaskell/shutdownHaskell

21 years ago[project @ 2003-01-28 17:04:58 by simonmar]
simonmar [Tue, 28 Jan 2003 17:04:58 +0000 (17:04 +0000)]
[project @ 2003-01-28 17:04:58 by simonmar]
Make it multi-init-safe

21 years ago[project @ 2003-01-28 16:57:40 by simonmar]
simonmar [Tue, 28 Jan 2003 16:57:40 +0000 (16:57 +0000)]
[project @ 2003-01-28 16:57:40 by simonmar]
Update the FFI docs to use hs_init()/hs_exit() rather than
startupHaskell()/shutdownHaskell().

21 years ago[project @ 2003-01-28 16:30:06 by simonmar]
simonmar [Tue, 28 Jan 2003 16:30:07 +0000 (16:30 +0000)]
[project @ 2003-01-28 16:30:06 by simonmar]
Flesh out support for hs_init() and hs_exit() according to the latest
FFI spec.

For GHC, I also added:

  hs_add_root( void (*fn)(void) );

which is used to specify the root module.  This *must* be called prior
to invoking any Haskell functions.

The previous way of doing things still works:

  startupHaskell( argc, argv, root );

but the right way to do this is now

  hs_init( &argc, &argv );
  hs_add_root( root );

It is possible to invoke hs_add_root() multiple times with different
roots.

- setProgArgv() has been removed; it was unused and looks like it was
  there to support STG Hugs.

21 years ago[project @ 2003-01-28 16:23:53 by simonmar]
simonmar [Tue, 28 Jan 2003 16:23:53 +0000 (16:23 +0000)]
[project @ 2003-01-28 16:23:53 by simonmar]
Initialise prog_argc, prog_argv and rts_argc to sensible zero values
just in case hs_init() is called without passing any arguments in.

21 years ago[project @ 2003-01-28 16:22:20 by simonmar]
simonmar [Tue, 28 Jan 2003 16:22:20 +0000 (16:22 +0000)]
[project @ 2003-01-28 16:22:20 by simonmar]
- Add headers
- Make initThreadLabels multi-init-safe