ghc-hetmet.git
22 years ago[project @ 2001-11-12 23:55:56 by chak]
chak [Mon, 12 Nov 2001 23:55:56 +0000 (23:55 +0000)]
[project @ 2001-11-12 23:55:56 by chak]
Added a link to apt's External Core document.

22 years ago[project @ 2001-11-12 14:13:35 by simonmar]
simonmar [Mon, 12 Nov 2001 14:13:35 +0000 (14:13 +0000)]
[project @ 2001-11-12 14:13:35 by simonmar]
Generate .a files into a temporary file before renaming to the actual
target, to avoid a problem whereby 'ar' could leave a partially-built
archive lying around.

22 years ago[project @ 2001-11-12 14:09:03 by simonmar]
simonmar [Mon, 12 Nov 2001 14:09:03 +0000 (14:09 +0000)]
[project @ 2001-11-12 14:09:03 by simonmar]
comment update

22 years ago[project @ 2001-11-12 12:18:50 by simonpj]
simonpj [Mon, 12 Nov 2001 12:18:50 +0000 (12:18 +0000)]
[project @ 2001-11-12 12:18:50 by simonpj]
Remove pprTrace

22 years ago[project @ 2001-11-09 21:25:56 by sof]
sof [Fri, 9 Nov 2001 21:25:57 +0000 (21:25 +0000)]
[project @ 2001-11-09 21:25:56 by sof]
GhcCanonVersion: leave out GhcPatchLevel, causes problems when
the GhcPatchLevel isn't a patchlevel but a date.

22 years ago[project @ 2001-11-09 20:58:40 by sof]
sof [Fri, 9 Nov 2001 20:58:40 +0000 (20:58 +0000)]
[project @ 2001-11-09 20:58:40 by sof]
prel_PrelHandle_read(): de-hebetudified.

22 years ago[project @ 2001-11-09 20:30:11 by sof]
sof [Fri, 9 Nov 2001 20:30:11 +0000 (20:30 +0000)]
[project @ 2001-11-09 20:30:11 by sof]
Make recent rts/ changes work by recognising symbols starting
with __stg as being known-funny-things.

Still recognise "^stg" as 'funny', not sure if that's still
needed.

22 years ago[project @ 2001-11-09 18:40:52 by sof]
sof [Fri, 9 Nov 2001 18:40:52 +0000 (18:40 +0000)]
[project @ 2001-11-09 18:40:52 by sof]
lookupInstEnv: "#ifdef DEBUG"-protect trace code
that got included in prev. commit.

(I'm guessing it either should be removed or moved
into the ASSERT, but I'll let the original committer
decide which).

22 years ago[project @ 2001-11-09 18:17:48 by sof]
sof [Fri, 9 Nov 2001 18:17:48 +0000 (18:17 +0000)]
[project @ 2001-11-09 18:17:48 by sof]
* Moved CANON_HC_VERSION out of ghc/compiler/Makefile and into mk/config.mk.in
  (and renamed it as GhcCanonVersion).
* Have ghc/driver/Makefile use it; cheaper and more robust than the version
  testing it was already doing.

22 years ago[project @ 2001-11-09 17:39:45 by sof]
sof [Fri, 9 Nov 2001 17:39:45 +0000 (17:39 +0000)]
[project @ 2001-11-09 17:39:45 by sof]
Optimised defn of CANON_HC_VERSION, synthesise it from config.mk info,
not via an expensive $(shell ...) call.

22 years ago[project @ 2001-11-09 17:02:09 by sof]
sof [Fri, 9 Nov 2001 17:02:09 +0000 (17:02 +0000)]
[project @ 2001-11-09 17:02:09 by sof]
Use -fvia-C when compiling rename/ParseIface.hs and parser/Parser.hs -
Int16 primops aren't supported by the NCG on all plats.

22 years ago[project @ 2001-11-09 16:41:15 by simonpj]
simonpj [Fri, 9 Nov 2001 16:41:15 +0000 (16:41 +0000)]
[project @ 2001-11-09 16:41:15 by simonpj]
---------------------------------------
Fix an obscure overlapping-instance bug
---------------------------------------

MERGE TO STABLE BRANCH

When searching for instances, we used bale out if the type
we seek could be instantiated to match the instance (because
it might be so instantiated later, in which case we don't
want to miss the opportunity).

The bug was that we used *matching* whereas we should use
*unification*.

Comments in the file InstEnv.

22 years ago[project @ 2001-11-09 16:29:06 by sof]
sof [Fri, 9 Nov 2001 16:29:06 +0000 (16:29 +0000)]
[project @ 2001-11-09 16:29:06 by sof]
Auto-rule for INSTALL_DATAS and cbits/ header files:

Nuke $(shell perl -e '...') use, i.e., don't load in and start up
a 3M binary just to capitalise a word (which gets done twice per
invocation of 'make').

22 years ago[project @ 2001-11-08 19:34:23 by sof]
sof [Thu, 8 Nov 2001 19:34:23 +0000 (19:34 +0000)]
[project @ 2001-11-08 19:34:23 by sof]
gen_Eq_binds: when comparing constructor tags, emit just

   a == b = case con2tag_Foo# a of
              a# -> case con2tag_Foo# b of b# -> a# PrelGHC.==# b#

and not

   a == b = case con2tag_Foo# a of
              a# -> case con2tag_Foo# b of
                      b# -> if a# PrelGHC.==# b# then PrelBase.True else PrelBase.False

(Not that this wouldn't get simplified, but still).

22 years ago[project @ 2001-11-08 19:20:55 by sof]
sof [Thu, 8 Nov 2001 19:20:55 +0000 (19:20 +0000)]
[project @ 2001-11-08 19:20:55 by sof]
rnHsForeignDecl: 'foreign import's (incl 'f.e.d's) _define_ local toplevel
names, so better use RnEnv.lookupTopBndrRn and not RnEnv.lookupOccRn to
resolve the name.

As was, declaring ForeignImports with the same name as an imported entity
wasn't permitted.

22 years ago[project @ 2001-11-08 18:55:19 by sof]
sof [Thu, 8 Nov 2001 18:55:19 +0000 (18:55 +0000)]
[project @ 2001-11-08 18:55:19 by sof]
gencode: for completeness sake only, handle CCallTypedefs

22 years ago[project @ 2001-11-08 18:53:44 by sof]
sof [Thu, 8 Nov 2001 18:53:44 +0000 (18:53 +0000)]
[project @ 2001-11-08 18:53:44 by sof]
ghc-inplace: single-quote -B option to avoid de-escaping those b-slashes

22 years ago[project @ 2001-11-08 18:51:03 by sof]
sof [Thu, 8 Nov 2001 18:51:03 +0000 (18:51 +0000)]
[project @ 2001-11-08 18:51:03 by sof]
hardtop_plat: escape those backslashes (exponentially so).

22 years ago[project @ 2001-11-08 17:39:14 by sof]
sof [Thu, 8 Nov 2001 17:39:14 +0000 (17:39 +0000)]
[project @ 2001-11-08 17:39:14 by sof]
Prev. commit upset world order - revert back to printing out
build tree loc. first.

22 years ago[project @ 2001-11-08 17:04:28 by simonmar]
simonmar [Thu, 8 Nov 2001 17:04:28 +0000 (17:04 +0000)]
[project @ 2001-11-08 17:04:28 by simonmar]
minor simplification

22 years ago[project @ 2001-11-08 17:02:41 by simonmar]
simonmar [Thu, 8 Nov 2001 17:02:41 +0000 (17:02 +0000)]
[project @ 2001-11-08 17:02:41 by simonmar]
inputReady can be an unsafe foreign import.

22 years ago[project @ 2001-11-08 16:37:54 by simonmar]
simonmar [Thu, 8 Nov 2001 16:37:54 +0000 (16:37 +0000)]
[project @ 2001-11-08 16:37:54 by simonmar]
wibble

22 years ago[project @ 2001-11-08 16:36:39 by simonmar]
simonmar [Thu, 8 Nov 2001 16:36:39 +0000 (16:36 +0000)]
[project @ 2001-11-08 16:36:39 by simonmar]
getProgArgv can be an unsafe foreign import.

22 years ago[project @ 2001-11-08 16:17:35 by simonmar]
simonmar [Thu, 8 Nov 2001 16:17:35 +0000 (16:17 +0000)]
[project @ 2001-11-08 16:17:35 by simonmar]
Revert resumeThread and suspendThread to working with StgRegTable
rather than Capability, and do the conversion in the functions
themselves rather than in the inline code.  This means I don't have to
fiddle with the NCG to fix the SUSPEND_THREAD/RESUME_THREAD macros.

22 years ago[project @ 2001-11-08 14:42:11 by simonmar]
simonmar [Thu, 8 Nov 2001 14:42:11 +0000 (14:42 +0000)]
[project @ 2001-11-08 14:42:11 by simonmar]
Fix a bug in the previous commit, and add some more sanity checking.

22 years ago[project @ 2001-11-08 12:56:00 by simonmar]
simonmar [Thu, 8 Nov 2001 12:56:01 +0000 (12:56 +0000)]
[project @ 2001-11-08 12:56:00 by simonmar]
Updates to the native code generator following the changes to fix the
large block allocation bug, and changes to use the new
function-address cache in the register table to reduce code size.

Also: I changed the pretty-printing machinery for assembly code to use
Pretty rather than Outputable, since we don't make use of the styles
and it should improve performance.  Perhaps the same should be done
for abstract C.

22 years ago[project @ 2001-11-08 12:50:07 by simonmar]
simonmar [Thu, 8 Nov 2001 12:50:07 +0000 (12:50 +0000)]
[project @ 2001-11-08 12:50:07 by simonmar]
Remove the heap-check-size panic, following the RTS fixes for this problem.

22 years ago[project @ 2001-11-08 12:46:31 by simonmar]
simonmar [Thu, 8 Nov 2001 12:46:31 +0000 (12:46 +0000)]
[project @ 2001-11-08 12:46:31 by simonmar]
Fix the large block allocation bug (Yay!)
-----------------------------------------

In order to do this, I had to

 1. in each heap-check failure branch, return the amount of heap
    actually requested, in a known location (I added another slot
    in StgRegTable called HpAlloc for this purpose).  This is
    useful for other reasons - in particular it makes it possible
    to get accurate allocation statistics.

 2. In the scheduler, if a heap check fails and we wanted more than
    BLOCK_SIZE_W words, then allocate a special large block and place
    it in the nursery.  The nursery now has to be double-linked so
    we can insert the new block in the middle.

 3. The garbage collector has to be able to deal with multiple objects
    in a large block.  It turns out that this isn't a problem as long as
    the large blocks only occur in the nursery, because we always copy
    objects from the nursery during GC.  One small change had to be
    made: in evacuate(), we may need to follow the link field from the
    block descriptor to get to the block descriptor for the head of a
    large block.

 4. Various other parts of the storage manager had to be modified
    to cope with a nursery containing a mixture of block sizes.

Point (3) causes a slight pessimization in the garbage collector.  I
don't see a way to avoid this.  Point (1) causes some code bloat (a
rough measurement is around 5%), so to offset this I made the
following change which I'd been meaning to do for some time:

  - Store the values of some commonly-used absolute addresses
    (eg. stg_update_PAP) in the register table.  This lets us use
    shorter instruction forms for some absolute jumps and saves some
    code space.

  - The type of Capability is no longer the same as an StgRegTable.
    MainRegTable renamed to MainCapability.  See Regs.h for details.

Other minor changes:

  - remove individual declarations for the heap-check-failure jump
    points, and declare them all in StgMiscClosures.h instead.  Remove
    HeapStackCheck.h.

Updates to the native code generator to follow.

22 years ago[project @ 2001-11-08 12:41:07 by simonmar]
simonmar [Thu, 8 Nov 2001 12:41:07 +0000 (12:41 +0000)]
[project @ 2001-11-08 12:41:07 by simonmar]
(addendum to the previous commit) also set bd->blocks to zero in
coalesce().

22 years ago[project @ 2001-11-08 10:18:49 by simonmar]
simonmar [Thu, 8 Nov 2001 10:18:49 +0000 (10:18 +0000)]
[project @ 2001-11-08 10:18:49 by simonmar]
For each non-head block in a block group, set its 'blocks' field to
zero (as per comments elsewhere).

22 years ago[project @ 2001-11-07 22:51:08 by sof]
sof [Wed, 7 Nov 2001 22:51:08 +0000 (22:51 +0000)]
[project @ 2001-11-07 22:51:08 by sof]
When generating dependencies, look for both source files _and_
interface files.

If STABLE is still a branch with a future, I'd encourage merging.

22 years ago[project @ 2001-11-07 20:17:37 by sof]
sof [Wed, 7 Nov 2001 20:17:37 +0000 (20:17 +0000)]
[project @ 2001-11-07 20:17:37 by sof]
Avoid using $(shell ...) functions - expensive buggers.

22 years ago[project @ 2001-11-07 20:14:21 by sof]
sof [Wed, 7 Nov 2001 20:14:21 +0000 (20:14 +0000)]
[project @ 2001-11-07 20:14:21 by sof]
subst new variable hardtop_plat - platform-specific version of hardtop

22 years ago[project @ 2001-11-07 20:13:26 by sof]
sof [Wed, 7 Nov 2001 20:13:26 +0000 (20:13 +0000)]
[project @ 2001-11-07 20:13:26 by sof]
FPTOOLS_HAPPY: have it subst default HappyOpts too

22 years ago[project @ 2001-11-07 19:37:17 by sof]
sof [Wed, 7 Nov 2001 19:37:17 +0000 (19:37 +0000)]
[project @ 2001-11-07 19:37:17 by sof]
made to work on Unices

22 years ago[project @ 2001-11-07 19:36:11 by sof]
sof [Wed, 7 Nov 2001 19:36:11 +0000 (19:36 +0000)]
[project @ 2001-11-07 19:36:11 by sof]
Cope with conditional presence of o_BINARY in PrelPosix.

(Something's not quite right here - O_BINARY, a non-Posix flag,
being defined by PrelPosix).

22 years ago[project @ 2001-11-07 19:31:58 by sof]
sof [Wed, 7 Nov 2001 19:31:58 +0000 (19:31 +0000)]
[project @ 2001-11-07 19:31:58 by sof]
Test for stddef.h

22 years ago[project @ 2001-11-07 19:11:43 by sof]
sof [Wed, 7 Nov 2001 19:11:43 +0000 (19:11 +0000)]
[project @ 2001-11-07 19:11:43 by sof]
Added #defines for HsBool values:
  - HS_BOOL_FALSE
  - HS_BOOL_TRUE
  - HS_BOOL_MIN
  - HS_BOOL_MAX

22 years ago[project @ 2001-11-07 18:26:58 by sof]
sof [Wed, 7 Nov 2001 18:26:58 +0000 (18:26 +0000)]
[project @ 2001-11-07 18:26:58 by sof]
remove extra .hsc deps; not needed

22 years ago[project @ 2001-11-07 18:26:27 by sof]
sof [Wed, 7 Nov 2001 18:26:27 +0000 (18:26 +0000)]
[project @ 2001-11-07 18:26:27 by sof]
bring writeErrString__() proto into scope

22 years ago[project @ 2001-11-07 18:25:55 by sof]
sof [Wed, 7 Nov 2001 18:25:55 +0000 (18:25 +0000)]
[project @ 2001-11-07 18:25:55 by sof]
no more

22 years ago[project @ 2001-11-07 18:25:35 by sof]
sof [Wed, 7 Nov 2001 18:25:35 +0000 (18:25 +0000)]
[project @ 2001-11-07 18:25:35 by sof]
Move towards having the IO implementation be plat-independent
at the Haskell source code level.

22 years ago[project @ 2001-11-07 18:23:31 by sof]
sof [Wed, 7 Nov 2001 18:23:31 +0000 (18:23 +0000)]
[project @ 2001-11-07 18:23:31 by sof]
prev. commit didn't introduce these two files correctly - PrelIOUtils.{c,h}
contain simple C wrappers to handle some aspects of OS I/O in a
plat-indep. manner.

22 years ago[project @ 2001-11-07 18:19:49 by sof]
sof [Wed, 7 Nov 2001 18:19:49 +0000 (18:19 +0000)]
[project @ 2001-11-07 18:19:49 by sof]
cbits/PrelIOUtils.c

22 years ago[project @ 2001-11-07 18:18:51 by sof]
sof [Wed, 7 Nov 2001 18:18:51 +0000 (18:18 +0000)]
[project @ 2001-11-07 18:18:51 by sof]
PrelTopHandler.lhs -> PrelTopHandler.hs

(CVS history for this file wasn't interesting enough for
a dirty behind-the-scenes repo move).

22 years ago[project @ 2001-11-07 15:11:33 by simonpj]
simonpj [Wed, 7 Nov 2001 15:11:33 +0000 (15:11 +0000)]
[project @ 2001-11-07 15:11:33 by simonpj]
Wibble in zonking of rules; fixes Manuels problem

22 years ago[project @ 2001-11-07 08:34:45 by sof]
sof [Wed, 7 Nov 2001 08:34:45 +0000 (08:34 +0000)]
[project @ 2001-11-07 08:34:45 by sof]
Nuke feature testing for misc error code values + its corresponding
CCONST_XXXX #defines.

22 years ago[project @ 2001-11-07 08:32:34 by sof]
sof [Wed, 7 Nov 2001 08:32:34 +0000 (08:32 +0000)]
[project @ 2001-11-07 08:32:34 by sof]
Function wrappers for misc error codes

22 years ago[project @ 2001-11-07 08:31:29 by sof]
sof [Wed, 7 Nov 2001 08:31:29 +0000 (08:31 +0000)]
[project @ 2001-11-07 08:31:29 by sof]
Delay committing to particular values for the misc error codes until
we're *compiling* the .hc / .hs file on a target platform, i.e., no
longer do this at configure-time.

It ain't pretty, but it works.

22 years ago[project @ 2001-11-07 07:57:57 by sof]
sof [Wed, 7 Nov 2001 07:57:57 +0000 (07:57 +0000)]
[project @ 2001-11-07 07:57:57 by sof]
Wrapper functions reqd to implement Directory

22 years ago[project @ 2001-11-07 07:57:16 by sof]
sof [Wed, 7 Nov 2001 07:57:16 +0000 (07:57 +0000)]
[project @ 2001-11-07 07:57:16 by sof]
no longer used

22 years ago[project @ 2001-11-07 07:56:57 by sof]
sof [Wed, 7 Nov 2001 07:56:57 +0000 (07:56 +0000)]
[project @ 2001-11-07 07:56:57 by sof]
Directory impl which interacts with OS plat via C wrappers

22 years ago[project @ 2001-11-06 14:19:24 by simonpj]
simonpj [Tue, 6 Nov 2001 14:19:24 +0000 (14:19 +0000)]
[project @ 2001-11-06 14:19:24 by simonpj]
---------------------------------------
Fix YET ANOTHER lub/both bug in DmdAnal
---------------------------------------

MERGE TO 5.02 branch (it's a real bug)

Two bugs actually.  One showed up in a program by
Jeremy Manson, and led to an "entered absent arg"
error.  The problem was

Err `lub` U(L,A)  /=  U(L,A)

which is what we had.  It should be

Err `lub` U(L,A) = U(Err `lub` L, Err `lub` A)
 = U(LL)

The second bug was found by Peter Sestoft while
staring at the code.

V `lub` Defer(ds) /= U(L)

It should be Lazy on the RHS.

Very large sigh.

22 years ago[project @ 2001-11-06 11:11:07 by simonmar]
simonmar [Tue, 6 Nov 2001 11:11:07 +0000 (11:11 +0000)]
[project @ 2001-11-06 11:11:07 by simonmar]
- Make the psecs field of a ClockTime measure picoseconds rather than
  nanoseconds.

- toClockTime was throwing away the picoseconds field of the input
  CalendarTime: fix this.

22 years ago[project @ 2001-11-06 11:07:39 by simonmar]
simonmar [Tue, 6 Nov 2001 11:07:39 +0000 (11:07 +0000)]
[project @ 2001-11-06 11:07:39 by simonmar]
Don't use a combination of '=' and ':=' to override libdir and
datadir, as it appears to not have the same behaviour in all versions
of GNU make.

22 years ago[project @ 2001-11-06 11:05:22 by simonmar]
simonmar [Tue, 6 Nov 2001 11:05:23 +0000 (11:05 +0000)]
[project @ 2001-11-06 11:05:22 by simonmar]
Make compilation of javaGen conditional on $(GhcWithJavaGen) in the
same way as the ILX and native backends.

22 years ago[project @ 2001-11-06 11:04:16 by simonmar]
simonmar [Tue, 6 Nov 2001 11:04:16 +0000 (11:04 +0000)]
[project @ 2001-11-06 11:04:16 by simonmar]
cosmetic only: reformat to 80 cols

22 years ago[project @ 2001-11-06 11:03:19 by simonmar]
simonmar [Tue, 6 Nov 2001 11:03:19 +0000 (11:03 +0000)]
[project @ 2001-11-06 11:03:19 by simonmar]
Add an ASSERT

22 years ago[project @ 2001-11-06 11:03:00 by simonmar]
simonmar [Tue, 6 Nov 2001 11:03:00 +0000 (11:03 +0000)]
[project @ 2001-11-06 11:03:00 by simonmar]
Add a comment explaining the discount subtraction in mkSizeIs.

22 years ago[project @ 2001-11-06 11:02:05 by simonmar]
simonmar [Tue, 6 Nov 2001 11:02:05 +0000 (11:02 +0000)]
[project @ 2001-11-06 11:02:05 by simonmar]
Change an ASSERT into an ASSERT2

22 years ago[project @ 2001-11-06 05:08:52 by chak]
chak [Tue, 6 Nov 2001 05:08:52 +0000 (05:08 +0000)]
[project @ 2001-11-06 05:08:52 by chak]
* added SPJ to authors list and bumped the version number

* documented the buildCoreToDo story and related issues

22 years ago[project @ 2001-11-05 16:45:02 by simonpj]
simonpj [Mon, 5 Nov 2001 16:45:02 +0000 (16:45 +0000)]
[project @ 2001-11-05 16:45:02 by simonpj]
Wibble to eta reduction

22 years ago[project @ 2001-11-05 14:16:48 by simonpj]
simonpj [Mon, 5 Nov 2001 14:16:48 +0000 (14:16 +0000)]
[project @ 2001-11-05 14:16:48 by simonpj]
Wibbles for scoped type variables

22 years ago[project @ 2001-11-05 14:15:53 by simonpj]
simonpj [Mon, 5 Nov 2001 14:15:53 +0000 (14:15 +0000)]
[project @ 2001-11-05 14:15:53 by simonpj]
Tidy up activation pragmas

22 years ago[project @ 2001-11-05 14:08:28 by chak]
chak [Mon, 5 Nov 2001 14:08:28 +0000 (14:08 +0000)]
[project @ 2001-11-05 14:08:28 by chak]
Activation phase in a __R pragma must be in square brackets.

22 years ago[project @ 2001-11-05 05:12:55 by sof]
sof [Mon, 5 Nov 2001 05:12:55 +0000 (05:12 +0000)]
[project @ 2001-11-05 05:12:55 by sof]
merge revision 1.32.4.2 (ghc-5-02-branch)

  TIC_TO_DOUBLE --> TICK_TO_DOUBLE

22 years ago[project @ 2001-11-03 01:44:04 by sof]
sof [Sat, 3 Nov 2001 01:44:04 +0000 (01:44 +0000)]
[project @ 2001-11-03 01:44:04 by sof]
mingw32: -#include process.h to bring _getpid() proto into scope when
compiling main/SysTools.lhs

22 years ago[project @ 2001-11-03 01:30:42 by sof]
sof [Sat, 3 Nov 2001 01:30:42 +0000 (01:30 +0000)]
[project @ 2001-11-03 01:30:42 by sof]
main: in both exception handlers, explicitly flush stdout before
      emitting bytes onto stderr, since the two aren't connected
      any longer.

22 years ago[project @ 2001-11-03 00:33:24 by sof]
sof [Sat, 3 Nov 2001 00:33:24 +0000 (00:33 +0000)]
[project @ 2001-11-03 00:33:24 by sof]
Removed 'paren' and 'brack' helpers; use Outputable / Pretty equivalents
instead.

22 years ago[project @ 2001-11-03 00:29:13 by sof]
sof [Sat, 3 Nov 2001 00:29:13 +0000 (00:29 +0000)]
[project @ 2001-11-03 00:29:13 by sof]
mingw32: #include process.h to bring _getpid() proto into scope.

22 years ago[project @ 2001-11-02 14:40:24 by simonpj]
simonpj [Fri, 2 Nov 2001 14:40:24 +0000 (14:40 +0000)]
[project @ 2001-11-02 14:40:24 by simonpj]
Fix a STG lint bug

22 years ago[project @ 2001-11-02 11:15:00 by simonmar]
simonmar [Fri, 2 Nov 2001 11:15:00 +0000 (11:15 +0000)]
[project @ 2001-11-02 11:15:00 by simonmar]
Add a couple of missing TICK_TO_DBL()s.

Noticed by: Nicholas Nethercote <njn25@cam.ac.uk>

22 years ago[project @ 2001-11-02 10:35:14 by simonpj]
simonpj [Fri, 2 Nov 2001 10:35:14 +0000 (10:35 +0000)]
[project @ 2001-11-02 10:35:14 by simonpj]
Stingy -> thrifty

22 years ago[project @ 2001-11-02 10:19:24 by simonpj]
simonpj [Fri, 2 Nov 2001 10:19:24 +0000 (10:19 +0000)]
[project @ 2001-11-02 10:19:24 by simonpj]
wibble

22 years ago[project @ 2001-11-02 09:50:32 by simonpj]
simonpj [Fri, 2 Nov 2001 09:50:32 +0000 (09:50 +0000)]
[project @ 2001-11-02 09:50:32 by simonpj]
Add missing cases to pp_origin; MERGE TO STABLE

22 years ago[project @ 2001-11-01 13:20:42 by simonpj]
simonpj [Thu, 1 Nov 2001 13:20:42 +0000 (13:20 +0000)]
[project @ 2001-11-01 13:20:42 by simonpj]
wibble

22 years ago[project @ 2001-11-01 13:20:05 by simonpj]
simonpj [Thu, 1 Nov 2001 13:20:06 +0000 (13:20 +0000)]
[project @ 2001-11-01 13:20:05 by simonpj]
---------------------------------------
Fix a unboxed-binding bug in SpecConstr
---------------------------------------

[HEAD only]

This fixes a rather obscure bug in the constructor
specialiser discovered by Ralf Hinze.  It was
generating a specialised version of the function
with no arguments --- and the function returned an
unboxed type.

Solution: same as for worker-wrapper; add a dummy
argument.

Several files are affected because I added
CoreUtils.mkPiTypes, as a useful helper function.

22 years ago[project @ 2001-11-01 12:07:09 by simonpj]
simonpj [Thu, 1 Nov 2001 12:07:09 +0000 (12:07 +0000)]
[project @ 2001-11-01 12:07:09 by simonpj]
Correct the zero-arg stuff in worker/wrapper generation

22 years ago[project @ 2001-11-01 10:33:58 by simonpj]
simonpj [Thu, 1 Nov 2001 10:33:58 +0000 (10:33 +0000)]
[project @ 2001-11-01 10:33:58 by simonpj]
----------------------------------
Fix a bug in Simplify.mkDupableAlt
----------------------------------

[This is the HEAD commit; I've fixed
 the branch separately.]

This fixes a funResultTy panic that Koen encountered.

The reason was that the simplifier was doing a
case-of-case where the result had a polymorphic type.
This in turn showed up because of a newtype (now
transparent) with a forall inside it.

The fix is very easy; can't think how I got it wrong
in the first place.

22 years ago[project @ 2001-11-01 09:50:53 by simonpj]
simonpj [Thu, 1 Nov 2001 09:50:53 +0000 (09:50 +0000)]
[project @ 2001-11-01 09:50:53 by simonpj]
Add missing import of dropList for mingw32 build

22 years ago[project @ 2001-10-31 17:04:45 by rrt]
rrt [Wed, 31 Oct 2001 17:04:45 +0000 (17:04 +0000)]
[project @ 2001-10-31 17:04:45 by rrt]
Many changes, presumably by Don.

22 years ago[project @ 2001-10-31 17:00:49 by rrt]
rrt [Wed, 31 Oct 2001 17:03:12 +0000 (17:03 +0000)]
[project @ 2001-10-31 17:00:49 by rrt]
Beginnings of .NET Integer support.

22 years ago[project @ 2001-10-31 16:38:55 by rrt]
rrt [Wed, 31 Oct 2001 16:38:55 +0000 (16:38 +0000)]
[project @ 2001-10-31 16:38:55 by rrt]
Beginnings of .NET Integer support.

22 years ago[project @ 2001-10-31 16:24:43 by simonpj]
simonpj [Wed, 31 Oct 2001 16:24:43 +0000 (16:24 +0000)]
[project @ 2001-10-31 16:24:43 by simonpj]
Document scoped type variables

22 years ago[project @ 2001-10-31 16:17:59 by simonpj]
simonpj [Wed, 31 Oct 2001 16:17:59 +0000 (16:17 +0000)]
[project @ 2001-10-31 16:17:59 by simonpj]
Add hi-boot files for the new knot

22 years ago[project @ 2001-10-31 15:22:53 by simonpj]
simonpj [Wed, 31 Oct 2001 15:22:55 +0000 (15:22 +0000)]
[project @ 2001-10-31 15:22:53 by simonpj]
------------------------------------------
Improved handling of scoped type variables
------------------------------------------

The main effect of this commit is to allow scoped type variables
in pattern bindings, thus

(x::a, y::b) = e

This was illegal, but now it's ok.  a and b have the same scope
as x and y.

On the way I beefed up the info inside a type variable
(TcType.TyVarDetails; c.f. IdInfo.GlobalIdDetails) which
helps to improve error messages. Hence the wide ranging changes.
Pity about the extra loop from Var to TcType, but can't be helped.

22 years ago[project @ 2001-10-31 14:52:08 by simonpj]
simonpj [Wed, 31 Oct 2001 14:52:08 +0000 (14:52 +0000)]
[project @ 2001-10-31 14:52:08 by simonpj]
1. Correct the handling of selectors for
   newtypes with polymorphic fields

2. Make certain that trivial constructor wrappers get inlined

22 years ago[project @ 2001-10-31 14:38:00 by simonmar]
simonmar [Wed, 31 Oct 2001 14:38:00 +0000 (14:38 +0000)]
[project @ 2001-10-31 14:38:00 by simonmar]
Add missing MUT_CONS case (reported by Andy Cheadle)

22 years ago[project @ 2001-10-31 12:51:08 by simonmar]
simonmar [Wed, 31 Oct 2001 12:51:08 +0000 (12:51 +0000)]
[project @ 2001-10-31 12:51:08 by simonmar]
Load the files given on the command line a bit later, and catch any
exceptions so that errors while loading these files don't cause GHCi
to exit completely.

22 years ago[project @ 2001-10-31 12:26:17 by simonmar]
simonmar [Wed, 31 Oct 2001 12:26:17 +0000 (12:26 +0000)]
[project @ 2001-10-31 12:26:17 by simonmar]
Handle completely empty files without crashing in slurpFileExpandTabs.

22 years ago[project @ 2001-10-31 11:37:14 by rrt]
rrt [Wed, 31 Oct 2001 11:37:14 +0000 (11:37 +0000)]
[project @ 2001-10-31 11:37:14 by rrt]
The new story where InstallShield just crawls over a make install tree,
rather than having to specify the directory layout by hand. Some tweaks to
the way that external programs are installed, so that they too can be just
crawled over.

22 years ago[project @ 2001-10-31 10:34:29 by simonmar]
simonmar [Wed, 31 Oct 2001 10:34:29 +0000 (10:34 +0000)]
[project @ 2001-10-31 10:34:29 by simonmar]
Fix a problem when a Haskell process is suspended/resumed using shell
job control in Unix.  The shell tends to put stdin back into blocking
mode before resuming the process, so we have to catch SIGCONT and put
it back into O_NONBLOCK.

Also:

  - fix a bug in the scheduler: reverse the order of the check
    for pending signals and the call to awaitEvent to block on I/O.

  - do a style sweep in Signals.c

22 years ago[project @ 2001-10-31 10:30:29 by simonmar]
simonmar [Wed, 31 Oct 2001 10:30:29 +0000 (10:30 +0000)]
[project @ 2001-10-31 10:30:29 by simonmar]
Add setNonBlockingFd(), for use in the SIGCONT handler in Signals.c.

22 years ago[project @ 2001-10-30 19:02:26 by rrt]
rrt [Tue, 30 Oct 2001 19:02:26 +0000 (19:02 +0000)]
[project @ 2001-10-30 19:02:26 by rrt]
Fix typo.

22 years ago[project @ 2001-10-30 19:01:43 by rrt]
rrt [Tue, 30 Oct 2001 19:01:43 +0000 (19:01 +0000)]
[project @ 2001-10-30 19:01:43 by rrt]
Made db2pdf use jadetex|dvips|ps2pfd, not pdfjadetex. Two benefits:

  1. Smaller PDF files.
  2. jadetex is a little less exotic, and more likely to be on a given
system.

The actual motivation is only knowing of a working version of jadetex
for Windows and not of pdfjadetex (at least, not one that works on the
gargantuan tome that is the combined User's Guide and Libraries
Guide).

22 years ago[project @ 2001-10-30 18:58:46 by rrt]
rrt [Tue, 30 Oct 2001 18:58:46 +0000 (18:58 +0000)]
[project @ 2001-10-30 18:58:46 by rrt]
Much more in-depth description. Switch to the new more automated
process, and concentrate on dukin' it out with InstallShield.

22 years ago[project @ 2001-10-30 16:18:12 by simonmar]
simonmar [Tue, 30 Oct 2001 16:18:12 +0000 (16:18 +0000)]
[project @ 2001-10-30 16:18:12 by simonmar]
Update sample output.  All the GHCi tests work as of today.

22 years ago[project @ 2001-10-30 16:17:34 by simonmar]
simonmar [Tue, 30 Oct 2001 16:17:34 +0000 (16:17 +0000)]
[project @ 2001-10-30 16:17:34 by simonmar]
Add deadlock-detection test.

22 years ago[project @ 2001-10-30 16:16:17 by simonmar]
simonmar [Tue, 30 Oct 2001 16:16:17 +0000 (16:16 +0000)]
[project @ 2001-10-30 16:16:17 by simonmar]
Add ':set args' and ':set prog' test.

22 years ago[project @ 2001-10-30 16:12:51 by simonmar]
simonmar [Tue, 30 Oct 2001 16:12:51 +0000 (16:12 +0000)]
[project @ 2001-10-30 16:12:51 by simonmar]
- Fix the free variable calculation in schemeE following some changes
  to the global-vs-local name story in earlier parts of the compiler.
  (fixes GHCi breakage on the HEAD).

- Eliminate some duplicate free variable calculations.