ghc-hetmet.git
23 years ago[project @ 2000-06-08 14:50:18 by rrt]
rrt [Thu, 8 Jun 2000 14:50:18 +0000 (14:50 +0000)]
[project @ 2000-06-08 14:50:18 by rrt]
Tidied up a table.

23 years ago[project @ 2000-06-08 14:43:47 by rrt]
rrt [Thu, 8 Jun 2000 14:43:47 +0000 (14:43 +0000)]
[project @ 2000-06-08 14:43:47 by rrt]
Better chapter name.

23 years ago[project @ 2000-06-08 14:36:13 by rrt]
rrt [Thu, 8 Jun 2000 14:36:13 +0000 (14:36 +0000)]
[project @ 2000-06-08 14:36:13 by rrt]
Added new FFI story from fptools/docs, and removed ccall docs.

Pls mrg

23 years ago[project @ 2000-06-08 12:54:29 by simonmar]
simonmar [Thu, 8 Jun 2000 12:54:29 +0000 (12:54 +0000)]
[project @ 2000-06-08 12:54:29 by simonmar]
Make object file splitting simpler, in preparation for conversion to
the new driver.

The "inject split markers" phase is now omitted, instead we generate
the split markers directly.

Driver: also removed now-defunct -fpedantic-bottoms flag.

23 years ago[project @ 2000-06-08 10:48:58 by rrt]
rrt [Thu, 8 Jun 2000 10:48:58 +0000 (10:48 +0000)]
[project @ 2000-06-08 10:48:58 by rrt]
Changed ffi doc to worker-wrapper format.

23 years ago[project @ 2000-06-08 09:11:13 by simonmar]
simonmar [Thu, 8 Jun 2000 09:11:13 +0000 (09:11 +0000)]
[project @ 2000-06-08 09:11:13 by simonmar]
remove unneeded file.

23 years ago[project @ 2000-06-08 09:01:35 by simonmar]
simonmar [Thu, 8 Jun 2000 09:01:35 +0000 (09:01 +0000)]
[project @ 2000-06-08 09:01:35 by simonmar]
update interface file syntax

23 years ago[project @ 2000-06-08 08:54:33 by simonmar]
simonmar [Thu, 8 Jun 2000 08:54:33 +0000 (08:54 +0000)]
[project @ 2000-06-08 08:54:33 by simonmar]
update expected output

23 years ago[project @ 2000-06-08 08:45:20 by simonmar]
simonmar [Thu, 8 Jun 2000 08:45:20 +0000 (08:45 +0000)]
[project @ 2000-06-08 08:45:20 by simonmar]
Move read010 to rename/should_fail; this is really a renamer test.

23 years ago[project @ 2000-06-07 16:15:22 by rrt]
rrt [Wed, 7 Jun 2000 16:15:22 +0000 (16:15 +0000)]
[project @ 2000-06-07 16:15:22 by rrt]
DocBooked and moved here from hdirect/doc.

23 years ago[project @ 2000-06-07 15:33:50 by keithw]
keithw [Wed, 7 Jun 2000 15:33:50 +0000 (15:33 +0000)]
[project @ 2000-06-07 15:33:50 by keithw]
Fix printing of unfoldings in hi-files: lambda binders are now grouped
again like they used to be, rather than printed one-at-a-time.

23 years ago[project @ 2000-06-07 06:10:53 by andy]
andy [Wed, 7 Jun 2000 06:10:53 +0000 (06:10 +0000)]
[project @ 2000-06-07 06:10:53 by andy]
Adding types to the names inside the GOO.

All needed for a langauge with unboxed types ...

23 years ago[project @ 2000-06-06 21:55:30 by andy]
andy [Tue, 6 Jun 2000 21:55:30 +0000 (21:55 +0000)]
[project @ 2000-06-06 21:55:30 by andy]
More wibbles towards compiling data constructors and unboxing correctly.

23 years ago[project @ 2000-06-06 07:10:44 by andy]
andy [Tue, 6 Jun 2000 07:10:44 +0000 (07:10 +0000)]
[project @ 2000-06-06 07:10:44 by andy]
Significant reworking of Java code generator, towards
getting unboxing working.

23 years ago[project @ 2000-06-05 20:57:58 by panne]
panne [Mon, 5 Jun 2000 20:57:58 +0000 (20:57 +0000)]
[project @ 2000-06-05 20:57:58 by panne]
The n-th attempt to get GCD right, this time negative Int arguments in
combination with zero. Another bug in this area and I'll leap out of
the window immediately...  :-P

23 years ago[project @ 2000-06-05 20:55:25 by panne]
panne [Mon, 5 Jun 2000 20:55:25 +0000 (20:55 +0000)]
[project @ 2000-06-05 20:55:25 by panne]
Synched with reality

23 years ago[project @ 2000-06-05 20:54:29 by panne]
panne [Mon, 5 Jun 2000 20:54:29 +0000 (20:54 +0000)]
[project @ 2000-06-05 20:54:29 by panne]
Added tests for gcdInt/gcdInteger

23 years ago[project @ 2000-06-04 20:32:49 by panne]
panne [Sun, 4 Jun 2000 20:32:49 +0000 (20:32 +0000)]
[project @ 2000-06-04 20:32:49 by panne]
Fixed braino.

23 years ago[project @ 2000-06-04 18:27:45 by panne]
panne [Sun, 4 Jun 2000 18:27:45 +0000 (18:27 +0000)]
[project @ 2000-06-04 18:27:45 by panne]
The GCD saga continues: Fixed gcdInt/gcdInteger to work correctly for
non-positive values, i.e. call mpn_gcd_1 only with positive inputs,
and issue an error if both operands are zero. This should fix the bug
reported by Marc.

23 years ago[project @ 2000-06-04 08:45:39 by panne]
panne [Sun, 4 Jun 2000 08:45:39 +0000 (08:45 +0000)]
[project @ 2000-06-04 08:45:39 by panne]
Unbreak the driver again

23 years ago[project @ 2000-06-02 16:19:47 by lewie]
lewie [Fri, 2 Jun 2000 16:19:47 +0000 (16:19 +0000)]
[project @ 2000-06-02 16:19:47 by lewie]
Class decls weren't taking functional dependencies into account when
checking for ambiguous type vars.  Fixed.

23 years ago[project @ 2000-06-02 16:12:00 by rrt]
rrt [Fri, 2 Jun 2000 16:12:00 +0000 (16:12 +0000)]
[project @ 2000-06-02 16:12:00 by rrt]
Updated DocBook notes to reflect heroic efforts of Messrs Panne and
Chakravarty.

23 years ago[project @ 2000-06-02 16:02:22 by rrt]
rrt [Fri, 2 Jun 2000 16:02:22 +0000 (16:02 +0000)]
[project @ 2000-06-02 16:02:22 by rrt]
Added new greencard package.

23 years ago[project @ 2000-06-02 12:19:40 by simonmar]
simonmar [Fri, 2 Jun 2000 12:19:40 +0000 (12:19 +0000)]
[project @ 2000-06-02 12:19:40 by simonmar]
checkTyCon shouldn't look through newtypes.  Instead, we add a new
function checkRepTyCon which does, and use it in the few cases where
it is needed.

This fixes a nasty bug with overloaded literals of newtypes, and
probably a whole bunch of other lurking bugs too.

23 years ago[project @ 2000-06-02 12:16:19 by simonmar]
simonmar [Fri, 2 Jun 2000 12:16:19 +0000 (12:16 +0000)]
[project @ 2000-06-02 12:16:19 by simonmar]
add new flag -fglasgow-exts-no-lang, which is the same as
-fglsagow-exts but doesn't include the implicit -package lang.  This
is needed only for compiling ghc/lib/std, where hslibs/lang may or may
not exist.

23 years ago[project @ 2000-06-02 11:54:53 by simonmar]
simonmar [Fri, 2 Jun 2000 11:54:53 +0000 (11:54 +0000)]
[project @ 2000-06-02 11:54:53 by simonmar]
Fix bug in new version of hGetLine: it didn't handle unbuffered
handles properly.

The fix involves re-importing the old code for hGetLine :-(

23 years ago[project @ 2000-06-01 19:00:25 by panne]
panne [Thu, 1 Jun 2000 19:00:25 +0000 (19:00 +0000)]
[project @ 2000-06-01 19:00:25 by panne]
While adding a syslib, setup include dirs in addition to cc injects, too.
The driver is really a piece from hell... :-(

23 years ago[project @ 2000-06-01 10:45:09 by panne]
panne [Thu, 1 Jun 2000 10:45:09 +0000 (10:45 +0000)]
[project @ 2000-06-01 10:45:09 by panne]
The DocBook saga continues: Look for already installed catalog first.

23 years ago[project @ 2000-06-01 08:51:46 by simonmar]
simonmar [Thu, 1 Jun 2000 08:51:46 +0000 (08:51 +0000)]
[project @ 2000-06-01 08:51:46 by simonmar]
allow infix constructors to be declared with prefix notation, eg

data T a b = (:^:) a b

23 years ago[project @ 2000-06-01 08:51:05 by simonmar]
simonmar [Thu, 1 Jun 2000 08:51:05 +0000 (08:51 +0000)]
[project @ 2000-06-01 08:51:05 by simonmar]
Test for declaring an infix constructor using prefix notation, eg.

data T a b = (:^:) a b

23 years ago[project @ 2000-06-01 08:29:09 by simonmar]
simonmar [Thu, 1 Jun 2000 08:29:09 +0000 (08:29 +0000)]
[project @ 2000-06-01 08:29:09 by simonmar]
Compile FastString with -fvia-C for the time being (Julian is working
on fixing a bug in the NCG).

23 years ago[project @ 2000-05-31 16:04:47 by simonmar]
simonmar [Wed, 31 May 2000 16:04:47 +0000 (16:04 +0000)]
[project @ 2000-05-31 16:04:47 by simonmar]
fix apparent cut-n-pasto: rEC_SEL_ERROR_ID was printed as "patError".

23 years ago[project @ 2000-05-31 15:55:37 by simonmar]
simonmar [Wed, 31 May 2000 15:55:37 +0000 (15:55 +0000)]
[project @ 2000-05-31 15:55:37 by simonmar]
update expected output.

23 years ago[project @ 2000-05-31 15:54:40 by simonmar]
simonmar [Wed, 31 May 2000 15:54:40 +0000 (15:54 +0000)]
[project @ 2000-05-31 15:54:40 by simonmar]
update expected output

23 years ago[project @ 2000-05-31 15:50:42 by simonmar]
simonmar [Wed, 31 May 2000 15:50:42 +0000 (15:50 +0000)]
[project @ 2000-05-31 15:50:42 by simonmar]
Update expected output.

23 years ago[project @ 2000-05-31 15:44:29 by simonmar]
simonmar [Wed, 31 May 2000 15:44:29 +0000 (15:44 +0000)]
[project @ 2000-05-31 15:44:29 by simonmar]
Incorporate Josef's patch to fix the bogus warning about overlapping
string patterns.  Thanks Josef!

23 years ago[project @ 2000-05-31 13:23:09 by rrt]
rrt [Wed, 31 May 2000 13:23:09 +0000 (13:23 +0000)]
[project @ 2000-05-31 13:23:09 by rrt]
Always run docbook scripts with the catalog as the first argument (taken
from DOCBOOK_CATALOG).

23 years ago[project @ 2000-05-31 13:22:25 by rrt]
rrt [Wed, 31 May 2000 13:22:26 +0000 (13:22 +0000)]
[project @ 2000-05-31 13:22:25 by rrt]
Update to use DOCBOOK_CATALOG to get the correct catalog.

23 years ago[project @ 2000-05-31 12:04:49 by panne]
panne [Wed, 31 May 2000 12:04:49 +0000 (12:04 +0000)]
[project @ 2000-05-31 12:04:49 by panne]
Use new way of #including for packages

23 years ago[project @ 2000-05-31 12:02:48 by panne]
panne [Wed, 31 May 2000 12:02:48 +0000 (12:02 +0000)]
[project @ 2000-05-31 12:02:48 by panne]
floatExtreme.h's definitions reside in PrimOps.h

23 years ago[project @ 2000-05-31 11:58:27 by panne]
panne [Wed, 31 May 2000 11:58:27 +0000 (11:58 +0000)]
[project @ 2000-05-31 11:58:27 by panne]
Trying to get the whole #include business right: ccalls are unfolded
into interface files, even without -funfold-casms-in-hi-file. Although
this is a good thing performance-wise, the header files should better
be #included during compilation of the .hc files. Solution:

   * Every .hc file #includes "Stg.h" first.

   * For every package `foo' used, "HsFoo.h" is #included, too. This
     means that every package has to come with a corresponding header
     file, even if it is empty.

Downside:

   * Getting #includes right with ghc-inplace is a little bit ugly:
     The boot target in Makefiles must copy the package's header files
     into GHC_INCLUDE_DIR (don't forget the clean target!), and final
     installation of those headers is done there, too.   :-P  Better
     solutions are highly welcome.

   * Possible pollution of the C name spaces.

23 years ago[project @ 2000-05-31 10:13:57 by lewie]
lewie [Wed, 31 May 2000 10:13:57 +0000 (10:13 +0000)]
[project @ 2000-05-31 10:13:57 by lewie]
Cleanup pass on functional dependencies.  Most noticeably, make it so that
signatures involving classes with functional dependencies work.  Also,
Fundeps are now properly handled by the simplifier, resolving problems
where the fundeps were sometimes being discarded too early, and sometimes
hanging around too long.  Took out the early ambiguity testing in the
renamer, because that's too early (you don't know the fundeps yet).  Now,
the ambiguity test happens in the typechecker.
Functional Dependencies should now be up to snuff with Mark's paper,
however, the derived instances and superclass extensions found in hugs
are still not in there.
It would be nice if this were merged into 4.07.  I have diffs against
the 4.07 tree in case it's too thorny working around Simon's big commit.

23 years ago[project @ 2000-05-31 00:55:10 by chak]
chak [Wed, 31 May 2000 00:55:11 +0000 (00:55 +0000)]
[project @ 2000-05-31 00:55:10 by chak]
Autoconf magic to determine a working DocBook CATALOG file (if any).  Makes
the makefile variable DOCBOOK_CATALOG refer to this CATALOG file (absolute
path).

23 years ago[project @ 2000-05-30 14:30:07 by simonmar]
simonmar [Tue, 30 May 2000 14:30:07 +0000 (14:30 +0000)]
[project @ 2000-05-30 14:30:07 by simonmar]
Nothing uses this file, so remove it.

23 years ago[project @ 2000-05-30 14:28:13 by simonmar]
simonmar [Tue, 30 May 2000 14:28:13 +0000 (14:28 +0000)]
[project @ 2000-05-30 14:28:13 by simonmar]
don't need to import PrelPack.hi-boot

23 years ago[project @ 2000-05-30 14:27:38 by simonmar]
simonmar [Tue, 30 May 2000 14:27:38 +0000 (14:27 +0000)]
[project @ 2000-05-30 14:27:38 by simonmar]
only add implicit occs for bindIO & returnIO for foreign export, not
for foreign import.

23 years ago[project @ 2000-05-30 13:07:04 by simonmar]
simonmar [Tue, 30 May 2000 13:07:04 +0000 (13:07 +0000)]
[project @ 2000-05-30 13:07:04 by simonmar]
Fix package names & version numbers in .hi-boot files.

23 years ago[project @ 2000-05-30 12:50:04 by sewardj]
sewardj [Tue, 30 May 2000 12:50:04 +0000 (12:50 +0000)]
[project @ 2000-05-30 12:50:04 by sewardj]
Fix cyclic dependency problem when compiling the Prelude.

23 years ago[project @ 2000-05-30 10:03:07 by simonmar]
simonmar [Tue, 30 May 2000 10:03:07 +0000 (10:03 +0000)]
[project @ 2000-05-30 10:03:07 by simonmar]
re-enable first float-outwards pass; it was accidentally disabled in
Simon's recent commit.

23 years ago[project @ 2000-05-29 10:00:38 by simonpj]
simonpj [Mon, 29 May 2000 10:00:38 +0000 (10:00 +0000)]
[project @ 2000-05-29 10:00:38 by simonpj]
Fix missing imports for foreign import/export

23 years ago[project @ 2000-05-29 01:20:41 by panne]
panne [Mon, 29 May 2000 01:20:41 +0000 (01:20 +0000)]
[project @ 2000-05-29 01:20:41 by panne]
Hopefully this is a better place to fix the printing of litlits in
interface files...
*please merge*

23 years ago[project @ 2000-05-29 01:14:15 by panne]
panne [Mon, 29 May 2000 01:14:15 +0000 (01:14 +0000)]
[project @ 2000-05-29 01:14:15 by panne]
Backed out previous commit, the change was at the completely wrong place.
*please merge*

23 years ago[project @ 2000-05-28 23:24:43 by panne]
panne [Sun, 28 May 2000 23:24:43 +0000 (23:24 +0000)]
[project @ 2000-05-28 23:24:43 by panne]
Don't forget litlit alternatives when deciding if an expression should
make its way into an interface file.
*please merge*

23 years ago[project @ 2000-05-28 23:21:02 by panne]
panne [Sun, 28 May 2000 23:21:02 +0000 (23:21 +0000)]
[project @ 2000-05-28 23:21:02 by panne]
Prefix litlits with "__litlit" in interface files.
*please merge*

23 years ago[project @ 2000-05-28 21:54:12 by panne]
panne [Sun, 28 May 2000 21:54:12 +0000 (21:54 +0000)]
[project @ 2000-05-28 21:54:12 by panne]
Look through newtypes when generating stub code.
*merge if/when SPJ's huge commit is merged*

23 years ago[project @ 2000-05-28 21:53:12 by panne]
panne [Sun, 28 May 2000 21:53:12 +0000 (21:53 +0000)]
[project @ 2000-05-28 21:53:12 by panne]
Removed unused import.
*merge if/when SPJ's huge commit is merged*

23 years ago[project @ 2000-05-28 20:45:45 by panne]
panne [Sun, 28 May 2000 20:45:45 +0000 (20:45 +0000)]
[project @ 2000-05-28 20:45:45 by panne]
Rewrote RULES for gcd and lcm without forall. The old versions *did
not* always fire because of a strange interaction with automatically
generated specialisations for gcd! Example for this misbehaviour:

   main :: IO ()
   main = do
      print (gcd             15675            156750 :: Integer)
      print (gcd 12345678987651075            156750 :: Integer)
      print (gcd            156750 12345678987651075 :: Integer)
      print (gcd  2469135797530215 12345678987651075 :: Integer)

I don't understand why the new version works and the old one did not,
so somebody else should probably have a look at this phenomenon.

*please merge* (like all my commits in the last few days :-}

23 years ago[project @ 2000-05-28 20:39:43 by panne]
panne [Sun, 28 May 2000 20:39:43 +0000 (20:39 +0000)]
[project @ 2000-05-28 20:39:43 by panne]
Added a few -#includes to eliminate warnings from gcc
(*please merge*)

23 years ago[project @ 2000-05-28 20:22:08 by panne]
panne [Sun, 28 May 2000 20:22:08 +0000 (20:22 +0000)]
[project @ 2000-05-28 20:22:08 by panne]
Fixed gcdIntegerInt# primop, the previous macros was completely
wrong. gcd for Integers worked only as long the corresponding RULE
in PrelReal didn't fire.

23 years ago[project @ 2000-05-28 17:47:27 by panne]
panne [Sun, 28 May 2000 17:47:27 +0000 (17:47 +0000)]
[project @ 2000-05-28 17:47:27 by panne]
The C functions toLocalTime and toUTCTime now return an StgInt, not a
rather useless StgAddr. This fixes two gcc warnings during the
compilation of Time. In the course of this, toLocalTime.c and
toUTCTime.c are synched a little bit more.

(*please merge*)

23 years ago[project @ 2000-05-28 16:06:52 by panne]
panne [Sun, 28 May 2000 16:06:52 +0000 (16:06 +0000)]
[project @ 2000-05-28 16:06:52 by panne]
Lowered magical value of unfolding threshold for PrimPacked, so strlen
doesn't appear in interface file. This fixes bootstrapping problems,
e.g. when compiling FastString. Extremely hacky solution...

24 years ago[project @ 2000-05-27 14:28:06 by panne]
panne [Sat, 27 May 2000 14:28:06 +0000 (14:28 +0000)]
[project @ 2000-05-27 14:28:06 by panne]
Bug or feature? Changed `envyron' back to `environ', otherwise
hslibs/posix/cbits/env.c can't be compiled. If this breaks something
on M$, it must be #ifdef-ed somehow, but not simply be renamed.

24 years ago[project @ 2000-05-26 17:42:18 by lewie]
lewie [Fri, 26 May 2000 17:42:18 +0000 (17:42 +0000)]
[project @ 2000-05-26 17:42:18 by lewie]
Applied patch from hugs98 fixing type annotations in do bindings.

24 years ago[project @ 2000-05-26 12:08:30 by sewardj]
sewardj [Fri, 26 May 2000 12:08:30 +0000 (12:08 +0000)]
[project @ 2000-05-26 12:08:30 by sewardj]
Update the destructions for building Hugs on Win32, for mingw32.

24 years ago[project @ 2000-05-26 11:38:44 by simonmar]
simonmar [Fri, 26 May 2000 11:38:44 +0000 (11:38 +0000)]
[project @ 2000-05-26 11:38:44 by simonmar]
Build hslibs first if we're bootstrapping from .hc files.

24 years ago[project @ 2000-05-26 10:14:33 by sewardj]
sewardj [Fri, 26 May 2000 10:14:34 +0000 (10:14 +0000)]
[project @ 2000-05-26 10:14:33 by sewardj]
Changes to allow Hugs to be built with mingw32, not cygwin.  Also,
updates so that DietHEP works properly for mingw32.  Most changes are
trivial (assert --> ASSERT), etc.  For hugs, have deleted queries
about the width of a terminal window, and so the printing of dots
as progress indicators is gone too.  No great loss.  Zapped various
other out-of-date platform-specific junk in machdep.c.

24 years ago[project @ 2000-05-26 10:04:37 by panne]
panne [Fri, 26 May 2000 10:04:37 +0000 (10:04 +0000)]
[project @ 2000-05-26 10:04:37 by panne]
Don't mv, but cp foreign export header file (as was done before)

24 years ago[project @ 2000-05-26 08:42:59 by simonmar]
simonmar [Fri, 26 May 2000 08:42:59 +0000 (08:42 +0000)]
[project @ 2000-05-26 08:42:59 by simonmar]
Add missing AP_UPD case in THUNK_SELECTOR.

24 years ago[project @ 2000-05-25 13:11:17 by panne]
panne [Thu, 25 May 2000 13:11:17 +0000 (13:11 +0000)]
[project @ 2000-05-25 13:11:17 by panne]
* Small fix for SPJ's last huge commit: Remove dependency on ghc-iface
  from Makefile.

* Nuke ghc-recomp.lprl, this hasn't been used for a long time (I hope :-}

(merge when/if SPJ's commit is merged)

24 years ago[project @ 2000-05-25 12:54:05 by panne]
panne [Thu, 25 May 2000 12:54:05 +0000 (12:54 +0000)]
[project @ 2000-05-25 12:54:05 by panne]
Cosmetics: Removed a whole bunch of "Field `foo' is not initialised"
warnings. This should not have any impact on efficiency, as GHC
inserts `recConError "blah"' expressions for uninitialised fields
anyway, and I can't see any danger of space leaks.
(can be merged with 4.07)

24 years ago[project @ 2000-05-25 12:49:34 by panne]
panne [Thu, 25 May 2000 12:49:34 +0000 (12:49 +0000)]
[project @ 2000-05-25 12:49:34 by panne]
Cosmetics: Removed two "Pattern match(es) are overlapped" warnings.
(can be merged with 4.07)

24 years ago[project @ 2000-05-25 12:41:14 by simonpj]
simonpj [Thu, 25 May 2000 12:41:22 +0000 (12:41 +0000)]
[project @ 2000-05-25 12:41:14 by simonpj]
~~~~~~~~~~~~
Apr/May 2000
~~~~~~~~~~~~

This is a pretty big commit!  It adds stuff I've been working on
over the last month or so.  DO NOT MERGE IT WITH 4.07!

Interface file formats have changed a little; you'll need
to make clean before remaking.

Simon PJ

Recompilation checking
~~~~~~~~~~~~~~~~~~~~~~
Substantial improvement in recompilation checking.  The version management
is now entirely internal to GHC.  ghc-iface.lprl is dead!

The trick is to generate the new interface file in two steps:
  - first convert Types etc to HsTypes etc, and thereby
build a new ParsedIface
  - then compare against the parsed (but not renamed) version of the old
interface file
Doing this meant adding code to convert *to* HsSyn things, and to
compare HsSyn things for equality.  That is the main tedious bit.

Another improvement is that we now track version info for
fixities and rules, which was missing before.

Interface file reading
~~~~~~~~~~~~~~~~~~~~~~
Make interface files reading more robust.
  * If the old interface file is unreadable, don't fail. [bug fix]

  * If the old interface file mentions interfaces
    that are unreadable, don't fail. [bug fix]

  * When we can't find the interface file,
    print the directories we are looking in.  [feature]

Type signatures
~~~~~~~~~~~~~~~
  * New flag -ddump-types to print type signatures

Type pruning
~~~~~~~~~~~~
When importing
data T = T1 A | T2 B | T3 C
it seems excessive to import the types A, B, C as well, unless
the constructors T1, T2 etc are used.  A,B,C might be more types,
and importing them may mean reading more interfaces, and so on.
 So the idea is that the renamer will just import the decl
data T
unless one of the constructors is used.  This turns out to be quite
easy to implement.  The downside is that we must make sure the
constructors are always available if they are really needed, so
I regard this as an experimental feature.

Elimininate ThinAir names
~~~~~~~~~~~~~~~~~~~~~~~~~
Eliminate ThinAir.lhs and all its works.  It was always a hack, and now
the desugarer carries around an environment I think we can nuke ThinAir
altogether.

As part of this, I had to move all the Prelude RdrName defns from PrelInfo
to PrelMods --- so I renamed PrelMods as PrelNames.

I also had to move the builtinRules so that they are injected by the renamer
(rather than appearing out of the blue in SimplCore).  This is if anything simpler.

Miscellaneous
~~~~~~~~~~~~~
* Tidy up the data types involved in Rules

* Eliminate RnEnv.better_provenance; use Name.hasBetterProv instead

* Add Unique.hasKey :: Uniquable a => a -> Unique -> Bool
  It's useful in a lot of places

* Fix a bug in interface file parsing for __U[!]

24 years ago[project @ 2000-05-25 10:40:39 by simonmar]
simonmar [Thu, 25 May 2000 10:40:39 +0000 (10:40 +0000)]
[project @ 2000-05-25 10:40:39 by simonmar]
Add missing case in parsing of inline pragmas.

24 years ago[project @ 2000-05-25 09:16:56 by simonmar]
simonmar [Thu, 25 May 2000 09:16:56 +0000 (09:16 +0000)]
[project @ 2000-05-25 09:16:56 by simonmar]
raise_info, the info table we use for overwriting thunks with an
exception, had the bogus closure type of FUN.  This was mostly
harmless, but caused some confusion for THUNK_SELECTORs, which rightly
assumed that they shouldn't be pointing at FUNs.

The fix is to change the type to THUNK, which is slightly closer to
being true.

This fixes Alastair Reid's "THUNK_SELECTOR: strange selectee" bug.

24 years ago[project @ 2000-05-25 08:36:34 by andy]
andy [Thu, 25 May 2000 08:36:34 +0000 (08:36 +0000)]
[project @ 2000-05-25 08:36:34 by andy]
Fixing up names to make a reasonable use of Java packages.
This is just one of a number of steps before attacking the Prelude.

Fixing up the output order of the inner classes, making postprocessing easier.

24 years ago[project @ 2000-05-24 16:04:38 by simonmar]
simonmar [Wed, 24 May 2000 16:04:38 +0000 (16:04 +0000)]
[project @ 2000-05-24 16:04:38 by simonmar]
Fix compilation errors when OMIT_NATIVE_CODEGEN is on.

24 years ago[project @ 2000-05-24 15:47:13 by simonpj]
simonpj [Wed, 24 May 2000 15:47:13 +0000 (15:47 +0000)]
[project @ 2000-05-24 15:47:13 by simonpj]
MERGE 4.07

* This fix cures the weird 'ifaceBinds' error that
  Sven and George tripped over.  It was quite obscure!

  Basically, there was a top level binding
f = x
  lying around, which CoreToStg didn't like.  Why hadn't
  it been substituted away?  Because it had a NOINLINE
  pragma.  Why did it have a NOINLINE pragma?  Because
  it's an always-diverging function, so we never want to
  inline it.

24 years ago[project @ 2000-05-24 15:04:07 by rrt]
rrt [Wed, 24 May 2000 15:04:07 +0000 (15:04 +0000)]
[project @ 2000-05-24 15:04:07 by rrt]
Changed ref to building guide to a ref to the installation guide.

24 years ago[project @ 2000-05-24 15:03:49 by rrt]
rrt [Wed, 24 May 2000 15:03:49 +0000 (15:03 +0000)]
[project @ 2000-05-24 15:03:49 by rrt]
Added a few ids to stop weirdly-named web pages being built for sections
without ids.

24 years ago[project @ 2000-05-24 13:36:10 by simonpj]
simonpj [Wed, 24 May 2000 13:36:10 +0000 (13:36 +0000)]
[project @ 2000-05-24 13:36:10 by simonpj]
Only report shadowed names in source files (merge with 4.07)

24 years ago[project @ 2000-05-24 13:14:22 by rrt]
rrt [Wed, 24 May 2000 13:14:22 +0000 (13:14 +0000)]
[project @ 2000-05-24 13:14:22 by rrt]
Tweaked title not to have   (which is simply omitted in HTML Title
meta-info), and upped version no. to 4.07.

Pls mrg.

24 years ago[project @ 2000-05-24 13:01:45 by rrt]
rrt [Wed, 24 May 2000 13:01:45 +0000 (13:01 +0000)]
[project @ 2000-05-24 13:01:45 by rrt]
Removed a bogus XRef.

24 years ago[project @ 2000-05-24 12:53:21 by rrt]
rrt [Wed, 24 May 2000 12:53:22 +0000 (12:53 +0000)]
[project @ 2000-05-24 12:53:21 by rrt]
Lots of ids added so that all HTML pages generated have sensible names.
Various other little tidies up.

Please merge.

24 years ago[project @ 2000-05-24 12:43:20 by simonpj]
simonpj [Wed, 24 May 2000 12:43:20 +0000 (12:43 +0000)]
[project @ 2000-05-24 12:43:20 by simonpj]
Fix unused-import warning --- again!

24 years ago[project @ 2000-05-24 11:39:48 by simonpj]
simonpj [Wed, 24 May 2000 11:39:48 +0000 (11:39 +0000)]
[project @ 2000-05-24 11:39:48 by simonpj]
MERGE 4.07

* When float outwards (full laziness) remember to
  switch off the demand flag.  Else we wrongly
  can transform
\x -> let y __D = (...) in y+x
  into
let y __D = (...)
in \x -> y+x
  In the latter, y is not necessarily demanded;
  it depends whether the function is called.  We
  should switch off the demand flag.

  The fix is right at the bottom in SetLevels.subst_id_info

24 years ago[project @ 2000-05-24 11:37:41 by simonpj]
simonpj [Wed, 24 May 2000 11:37:41 +0000 (11:37 +0000)]
[project @ 2000-05-24 11:37:41 by simonpj]
MERGE 4.07

* Another wibble on records

24 years ago[project @ 2000-05-24 11:09:55 by simonmar]
simonmar [Wed, 24 May 2000 11:09:55 +0000 (11:09 +0000)]
[project @ 2000-05-24 11:09:55 by simonmar]
don't use underscores in type variable names

24 years ago[project @ 2000-05-24 11:05:09 by simonmar]
simonmar [Wed, 24 May 2000 11:05:09 +0000 (11:05 +0000)]
[project @ 2000-05-24 11:05:09 by simonmar]
don't use underscores in type variable names

24 years ago[project @ 2000-05-24 11:01:07 by simonmar]
simonmar [Wed, 24 May 2000 11:01:07 +0000 (11:01 +0000)]
[project @ 2000-05-24 11:01:07 by simonmar]
Don't try to use getclock on HPUX, gettimeofday is more standard in
any case.

24 years ago[project @ 2000-05-24 10:52:33 by simonmar]
simonmar [Wed, 24 May 2000 10:52:33 +0000 (10:52 +0000)]
[project @ 2000-05-24 10:52:33 by simonmar]
Add ids to the book tags.

24 years ago[project @ 2000-05-24 10:50:10 by simonmar]
simonmar [Wed, 24 May 2000 10:50:37 +0000 (10:50 +0000)]
[project @ 2000-05-24 10:50:10 by simonmar]
don't use underscores in type variable names

24 years ago[project @ 2000-05-24 10:29:43 by simonmar]
simonmar [Wed, 24 May 2000 10:29:43 +0000 (10:29 +0000)]
[project @ 2000-05-24 10:29:43 by simonmar]
disable -fwarn-hi-shadowing again, because we duplicate include paths
in the driver too much.

24 years ago[project @ 2000-05-24 09:21:42 by rrt]
rrt [Wed, 24 May 2000 09:21:42 +0000 (09:21 +0000)]
[project @ 2000-05-24 09:21:42 by rrt]
Tried to clear up some backslash confusion under Windows by always using
forward slashes.

Please merge.

24 years ago[project @ 2000-05-24 07:31:44 by andy]
andy [Wed, 24 May 2000 07:31:44 +0000 (07:31 +0000)]
[project @ 2000-05-24 07:31:44 by andy]
Adding a field to the Method constructor, to allow methods
to say what they might raise. This is needed to actually
compile generated code.

Also, the generated code now imports haskell.runtime.*

24 years ago[project @ 2000-05-23 16:53:14 by rrt]
rrt [Tue, 23 May 2000 16:53:14 +0000 (16:53 +0000)]
[project @ 2000-05-23 16:53:14 by rrt]
verbatim no longer supported; now in rts.tex

24 years ago[project @ 2000-05-23 16:52:50 by rrt]
rrt [Tue, 23 May 2000 16:52:50 +0000 (16:52 +0000)]
[project @ 2000-05-23 16:52:50 by rrt]
de-verbatimed (verbatim is no longer supported).

24 years ago[project @ 2000-05-23 15:59:25 by simonmar]
simonmar [Tue, 23 May 2000 15:59:25 +0000 (15:59 +0000)]
[project @ 2000-05-23 15:59:25 by simonmar]
Don't use commas in an SLIT("..")

24 years ago[project @ 2000-05-23 15:31:48 by sewardj]
sewardj [Tue, 23 May 2000 15:31:48 +0000 (15:31 +0000)]
[project @ 2000-05-23 15:31:48 by sewardj]
zap spurious semicolon wibble

24 years ago[project @ 2000-05-23 13:57:53 by simonmar]
simonmar [Tue, 23 May 2000 13:57:53 +0000 (13:57 +0000)]
[project @ 2000-05-23 13:57:53 by simonmar]
Fix a Real Bug(TM) in the new code for detecting dead threads: we
weren't taking into account the case when a ThreadRelocated is found
on the all_threads list.

24 years ago[project @ 2000-05-23 13:16:51 by simonpj]
simonpj [Tue, 23 May 2000 13:16:52 +0000 (13:16 +0000)]
[project @ 2000-05-23 13:16:51 by simonpj]
MERGE 4.07

* Fix records with polymorphic fields (broken by previous 'fix')
  As a tidy-up I also put a TyCon into a FieldLabel

* Fix a glitch with the result-type-sig change