ghc-hetmet.git
23 years ago[project @ 2000-07-18 14:50:32 by simonpj]
simonpj [Tue, 18 Jul 2000 14:50:32 +0000 (14:50 +0000)]
[project @ 2000-07-18 14:50:32 by simonpj]
Arrange that type signatures that have no "parent" signatures
work right.  For example

   module A
      f :: Int -> Int

The panic in RnEnv.lookupBndrRn becomes an error message.  Also
RnBinds.rnTopMonoBinds and rnMonoBinds were wrongly ignoring all
signatures altogether if there were no bindings!

23 years ago[project @ 2000-07-18 14:50:07 by simonmar]
simonmar [Tue, 18 Jul 2000 14:50:07 +0000 (14:50 +0000)]
[project @ 2000-07-18 14:50:07 by simonmar]
fix finding of the usage message (again).

23 years ago[project @ 2000-07-18 14:47:52 by simonpj]
simonpj [Tue, 18 Jul 2000 14:47:52 +0000 (14:47 +0000)]
[project @ 2000-07-18 14:47:52 by simonpj]
Add comment

23 years ago[project @ 2000-07-18 14:46:48 by simonpj]
simonpj [Tue, 18 Jul 2000 14:46:48 +0000 (14:46 +0000)]
[project @ 2000-07-18 14:46:48 by simonpj]
Add type-sig test

23 years ago[project @ 2000-07-18 13:31:34 by rrt]
rrt [Tue, 18 Jul 2000 13:31:34 +0000 (13:31 +0000)]
[project @ 2000-07-18 13:31:34 by rrt]
Holding pen for dlls to stop them getting in the way of pre-compiled
dynamic programs.

23 years ago[project @ 2000-07-18 08:08:35 by simonpj]
simonpj [Tue, 18 Jul 2000 08:08:35 +0000 (08:08 +0000)]
[project @ 2000-07-18 08:08:35 by simonpj]
Remove dead code: checkConstraints and univErr

23 years ago[project @ 2000-07-17 18:44:16 by keithw]
keithw [Mon, 17 Jul 2000 18:44:16 +0000 (18:44 +0000)]
[project @ 2000-07-17 18:44:16 by keithw]
Insert code to handle instruction counts from Heimdall, as well as
CacheProf.

23 years ago[project @ 2000-07-17 16:02:02 by rrt]
rrt [Mon, 17 Jul 2000 16:02:02 +0000 (16:02 +0000)]
[project @ 2000-07-17 16:02:02 by rrt]
Fixed a bracket-o.

23 years ago[project @ 2000-07-17 15:27:15 by rrt]
rrt [Mon, 17 Jul 2000 15:27:15 +0000 (15:27 +0000)]
[project @ 2000-07-17 15:27:15 by rrt]
Windows fixes and tidying up.

23 years ago[project @ 2000-07-17 15:25:05 by rrt]
rrt [Mon, 17 Jul 2000 15:25:05 +0000 (15:25 +0000)]
[project @ 2000-07-17 15:25:05 by rrt]
Windows fixes.

23 years ago[project @ 2000-07-17 15:15:40 by rrt]
rrt [Mon, 17 Jul 2000 15:15:40 +0000 (15:15 +0000)]
[project @ 2000-07-17 15:15:40 by rrt]
Changed __MINGW32__ to mingw32_TARGET_OS to cope with latest mingwin.

23 years ago[project @ 2000-07-17 15:11:00 by rrt]
rrt [Mon, 17 Jul 2000 15:11:00 +0000 (15:11 +0000)]
[project @ 2000-07-17 15:11:00 by rrt]
Rename files in line with RTS.

23 years ago[project @ 2000-07-17 15:10:14 by rrt]
rrt [Mon, 17 Jul 2000 15:10:14 +0000 (15:10 +0000)]
[project @ 2000-07-17 15:10:14 by rrt]
Use GMP dll rather than static library under mingwin.

23 years ago[project @ 2000-07-17 15:09:35 by rrt]
rrt [Mon, 17 Jul 2000 15:09:35 +0000 (15:09 +0000)]
[project @ 2000-07-17 15:09:35 by rrt]
Removed definitions of symbols which are now defined in the mingwin header
files.

23 years ago[project @ 2000-07-17 14:33:49 by keithw]
keithw [Mon, 17 Jul 2000 14:33:49 +0000 (14:33 +0000)]
[project @ 2000-07-17 14:33:49 by keithw]
Fix bug in SetLevels that meant an occurrence of a non-cloned binder,
where the non-cloned binder shadowed a cloned binder, resulted in
the occurrence incorrectly being substituted with the clone of the
*outer* binder.  Curious that this never got tickled before!

23 years ago[project @ 2000-07-17 11:28:32 by simonpj]
simonpj [Mon, 17 Jul 2000 11:28:32 +0000 (11:28 +0000)]
[project @ 2000-07-17 11:28:32 by simonpj]
Eliminate need for built-in Rational type

23 years ago[project @ 2000-07-17 11:28:00 by simonpj]
simonpj [Mon, 17 Jul 2000 11:28:00 +0000 (11:28 +0000)]
[project @ 2000-07-17 11:28:00 by simonpj]
Print operator names in HsExpr better

23 years ago[project @ 2000-07-17 11:15:07 by simonmar]
simonmar [Mon, 17 Jul 2000 11:15:08 +0000 (11:15 +0000)]
[project @ 2000-07-17 11:15:07 by simonmar]
Pass flags -agc to $(HAPPY) if the $(HAPPY_VERSION) is >= 1.8
(previous versions weren't reliable enough with these settings).

23 years ago[project @ 2000-07-17 10:05:59 by rrt]
rrt [Mon, 17 Jul 2000 10:05:59 +0000 (10:05 +0000)]
[project @ 2000-07-17 10:05:59 by rrt]
Merged Julian's changes to make it more comprehensible to non FP programmers.

23 years ago[project @ 2000-07-17 09:02:18 by simonmar]
simonmar [Mon, 17 Jul 2000 09:02:18 +0000 (09:02 +0000)]
[project @ 2000-07-17 09:02:18 by simonmar]
accept '-fvia-c' as an alternative capitalisation for '-fvia-C' (the
old driver used to do this, and it's documented in the Users' Guide)

23 years ago[project @ 2000-07-17 07:47:04 by simonpj]
simonpj [Mon, 17 Jul 2000 07:47:04 +0000 (07:47 +0000)]
[project @ 2000-07-17 07:47:04 by simonpj]
Add comments

23 years ago[project @ 2000-07-16 21:31:36 by panne]
panne [Sun, 16 Jul 2000 21:31:36 +0000 (21:31 +0000)]
[project @ 2000-07-16 21:31:36 by panne]
Document new -fstrictfp option

23 years ago[project @ 2000-07-16 21:10:48 by panne]
panne [Sun, 16 Jul 2000 21:10:48 +0000 (21:10 +0000)]
[project @ 2000-07-16 21:10:48 by panne]
This commit tries to fix the discrepancies between the results of
floating point calculations during runtime and compile time, see
e.g. fptools/ghc/tests/numeric/should_run/arith008.hs. Part of the
story was the fact that floating point values are represented as
Rationals in GHC and therefore never lost precision, at least for the
operations for which constant folding is done. To compensate for this,
before and after floating point operations the operands are
temporarily converted to/from Float/Double. This is wrong, because
host architecture and target architecture are confused this way, but
in a non-cross-compiling scenario it works.

23 years ago[project @ 2000-07-16 20:58:48 by panne]
panne [Sun, 16 Jul 2000 20:58:48 +0000 (20:58 +0000)]
[project @ 2000-07-16 20:58:48 by panne]
Added new -fstrictfp flag

23 years ago[project @ 2000-07-16 20:54:45 by panne]
panne [Sun, 16 Jul 2000 20:54:45 +0000 (20:54 +0000)]
[project @ 2000-07-16 20:54:45 by panne]
* Fixed handling of filename arguments without extension
* Added new -fstrictfp flag
* Some cosmetic changes (unless/when instead of if)

23 years ago[project @ 2000-07-15 15:09:45 by panne]
panne [Sat, 15 Jul 2000 15:09:45 +0000 (15:09 +0000)]
[project @ 2000-07-15 15:09:45 by panne]
Merged Marcin's patches for unboxed thingies

23 years ago[project @ 2000-07-14 23:54:06 by lewie]
lewie [Fri, 14 Jul 2000 23:54:06 +0000 (23:54 +0000)]
[project @ 2000-07-14 23:54:06 by lewie]
Functional Dependencies were not getting simplified away when the dictionary
that generated them was simplified by instance resolution.  Fixed.

23 years ago[project @ 2000-07-14 16:43:20 by simonpj]
simonpj [Fri, 14 Jul 2000 16:43:20 +0000 (16:43 +0000)]
[project @ 2000-07-14 16:43:20 by simonpj]
Add mutually recursive kind inference test

23 years ago[project @ 2000-07-14 13:38:55 by simonpj]
simonpj [Fri, 14 Jul 2000 13:38:55 +0000 (13:38 +0000)]
[project @ 2000-07-14 13:38:55 by simonpj]
Fix typeKind

23 years ago[project @ 2000-07-14 13:38:39 by simonpj]
simonpj [Fri, 14 Jul 2000 13:38:39 +0000 (13:38 +0000)]
[project @ 2000-07-14 13:38:39 by simonpj]
Arrange that type signatures work right.  Consider:

   module A
import M( f )
f :: Int -> Int
f x = x

Here, the 'f' in the signature isn't ambiguous; it
refers to the locally defined f.  (This isn't clear in
the Haskell 98 report, but it will be.)

23 years ago[project @ 2000-07-14 13:37:53 by simonpj]
simonpj [Fri, 14 Jul 2000 13:37:53 +0000 (13:37 +0000)]
[project @ 2000-07-14 13:37:53 by simonpj]
Wibbles in the new kind-checking stuff

23 years ago[project @ 2000-07-14 13:37:07 by simonpj]
simonpj [Fri, 14 Jul 2000 13:37:07 +0000 (13:37 +0000)]
[project @ 2000-07-14 13:37:07 by simonpj]
Add a type signature

23 years ago[project @ 2000-07-14 13:36:33 by simonpj]
simonpj [Fri, 14 Jul 2000 13:36:33 +0000 (13:36 +0000)]
[project @ 2000-07-14 13:36:33 by simonpj]
Tidy up newMutTyVar/newSigTyVar

23 years ago[project @ 2000-07-14 13:28:35 by simonmar]
simonmar [Fri, 14 Jul 2000 13:28:35 +0000 (13:28 +0000)]
[project @ 2000-07-14 13:28:35 by simonmar]
remove unused #include "gmp.h"

23 years ago[project @ 2000-07-14 09:34:02 by simonmar]
simonmar [Fri, 14 Jul 2000 09:34:02 +0000 (09:34 +0000)]
[project @ 2000-07-14 09:34:02 by simonmar]
Add a section describing GHC's version numbering policy.

23 years ago[project @ 2000-07-14 09:26:23 by simonmar]
simonmar [Fri, 14 Jul 2000 09:26:23 +0000 (09:26 +0000)]
[project @ 2000-07-14 09:26:23 by simonmar]
wibble

23 years ago[project @ 2000-07-14 09:03:57 by simonmar]
simonmar [Fri, 14 Jul 2000 09:03:57 +0000 (09:03 +0000)]
[project @ 2000-07-14 09:03:57 by simonmar]
- add a new section on "keeping intermediate files"
- document the new -keep-tmp-files and -keep-raw-s-file options.

23 years ago[project @ 2000-07-14 08:19:02 by simonmar]
simonmar [Fri, 14 Jul 2000 08:19:02 +0000 (08:19 +0000)]
[project @ 2000-07-14 08:19:02 by simonmar]
Add -keep-tmp-files flag, to tell the driver not to delete tmp files.
Useful mainly for debugging the driver, and obsoletes the GHC
folklore of using ^Z for this purpose.

23 years ago[project @ 2000-07-14 08:17:36 by simonpj]
simonpj [Fri, 14 Jul 2000 08:17:41 +0000 (08:17 +0000)]
[project @ 2000-07-14 08:17:36 by simonpj]
This commit completely re-does the kind-inference mechanism.
Previously it was inter-wound with type inference, but that was
always hard to understand, and it finally broke when we started
checking for ambiguity when type-checking a type signature (details
irrelevant).

So now kind inference is more clearly separated, so that it never
takes place at the same time as type inference.  The biggest change
is in TcTyClsDecls, which does the kind inference for a group of
type and class declarations.  It now contains comments to explain
how it all works.

There are also comments in TypeRep which describes the slightly
tricky way in which we deal with the fact that kind 'type' (written
'*') actually has 'boxed type' and 'unboxed type' as sub-kinds.
The whole thing is a bit of a hack, because we don't really have
sub-kinding, but it's less of a hack than before.

A lot of general tidying up happened at the same time.
In particular, I removed some dead code here and there

23 years ago[project @ 2000-07-14 08:14:53 by simonpj]
simonpj [Fri, 14 Jul 2000 08:16:55 +0000 (08:16 +0000)]
[project @ 2000-07-14 08:14:53 by simonpj]
Remove dead code

23 years ago[project @ 2000-07-13 15:45:55 by simonmar]
simonmar [Thu, 13 Jul 2000 15:45:55 +0000 (15:45 +0000)]
[project @ 2000-07-13 15:45:55 by simonmar]
Take the README for a binary dist from the project directory, not fptools.

23 years ago[project @ 2000-07-13 15:44:40 by simonmar]
simonmar [Thu, 13 Jul 2000 15:44:40 +0000 (15:44 +0000)]
[project @ 2000-07-13 15:44:40 by simonmar]
update, and make less GHC-specific

23 years ago[project @ 2000-07-13 14:45:13 by simonmar]
simonmar [Thu, 13 Jul 2000 14:45:13 +0000 (14:45 +0000)]
[project @ 2000-07-13 14:45:13 by simonmar]
update to match reality; try to be a bit more helpful

23 years ago[project @ 2000-07-13 09:22:26 by sewardj]
sewardj [Thu, 13 Jul 2000 09:22:26 +0000 (09:22 +0000)]
[project @ 2000-07-13 09:22:26 by sewardj]
Zap yet another bogon in x86 floating args to ccalls.

23 years ago[project @ 2000-07-13 09:17:57 by michaelw]
michaelw [Thu, 13 Jul 2000 09:17:57 +0000 (09:17 +0000)]
[project @ 2000-07-13 09:17:57 by michaelw]
more changes to FPTOOLS_GHC_VERSION:
* fixed bug in too-many-args case
* reworked regexp for versions

23 years ago[project @ 2000-07-13 08:56:42 by sewardj]
sewardj [Thu, 13 Jul 2000 08:56:42 +0000 (08:56 +0000)]
[project @ 2000-07-13 08:56:42 by sewardj]
sparc NCG is now enabled by default for non-opt compilation.

23 years ago[project @ 2000-07-13 08:49:24 by sewardj]
sewardj [Thu, 13 Jul 2000 08:49:24 +0000 (08:49 +0000)]
[project @ 2000-07-13 08:49:24 by sewardj]
Reg needs to be imported non-abstractly for sparc.

23 years ago[project @ 2000-07-12 13:04:31 by sewardj]
sewardj [Wed, 12 Jul 2000 13:04:31 +0000 (13:04 +0000)]
[project @ 2000-07-12 13:04:31 by sewardj]
Make the x86 NCG work again following recent sparc hackage.

Also, fix the x86 bits pertaining to the floats-promoted-to-doubles-
in-ccalls problem.  So this problem should no longer exist on x86
or sparc via NCG.

23 years ago[project @ 2000-07-12 09:58:49 by simonmar]
simonmar [Wed, 12 Jul 2000 09:58:49 +0000 (09:58 +0000)]
[project @ 2000-07-12 09:58:49 by simonmar]
use Maybe.isJust instead of proprietary verison.

23 years ago[project @ 2000-07-11 23:02:39 by michaelw]
michaelw [Tue, 11 Jul 2000 23:02:39 +0000 (23:02 +0000)]
[project @ 2000-07-11 23:02:39 by michaelw]
added Debian location to DocBook catalog test

23 years ago[project @ 2000-07-11 21:29:46 by michaelw]
michaelw [Tue, 11 Jul 2000 21:29:46 +0000 (21:29 +0000)]
[project @ 2000-07-11 21:29:46 by michaelw]
typo

23 years ago[project @ 2000-07-11 21:25:37 by michaelw]
michaelw [Tue, 11 Jul 2000 21:25:37 +0000 (21:25 +0000)]
[project @ 2000-07-11 21:25:37 by michaelw]
updated comments

23 years ago[project @ 2000-07-11 20:45:29 by panne]
panne [Tue, 11 Jul 2000 20:45:29 +0000 (20:45 +0000)]
[project @ 2000-07-11 20:45:29 by panne]
Hash MachLabel, too

23 years ago[project @ 2000-07-11 19:28:34 by panne]
panne [Tue, 11 Jul 2000 19:28:34 +0000 (19:28 +0000)]
[project @ 2000-07-11 19:28:34 by panne]
Replace RcFloating with RcFloat/RcDouble. I'm not exactly sure what
I'm doing here, so somebody else should better have a look.

23 years ago[project @ 2000-07-11 19:17:20 by panne]
panne [Tue, 11 Jul 2000 19:17:20 +0000 (19:17 +0000)]
[project @ 2000-07-11 19:17:20 by panne]
* linux_TARGET_ARCH => i386_TARGET_ARCH
* move callClobberedRegs into safety in front of the register
  #define-orgy (what the ... is this cpp-ery for? %-]

23 years ago[project @ 2000-07-11 16:41:19 by simonmar]
simonmar [Tue, 11 Jul 2000 16:41:19 +0000 (16:41 +0000)]
[project @ 2000-07-11 16:41:19 by simonmar]
reinstate used import

23 years ago[project @ 2000-07-11 16:24:57 by simonmar]
simonmar [Tue, 11 Jul 2000 16:38:50 +0000 (16:38 +0000)]
[project @ 2000-07-11 16:24:57 by simonmar]
remove unused imports

23 years ago[project @ 2000-07-11 16:12:11 by simonmar]
simonmar [Tue, 11 Jul 2000 16:12:59 +0000 (16:12 +0000)]
[project @ 2000-07-11 16:12:11 by simonmar]
remove unused imports

23 years ago[project @ 2000-07-11 16:04:38 by simonmar]
simonmar [Tue, 11 Jul 2000 16:04:38 +0000 (16:04 +0000)]
[project @ 2000-07-11 16:04:38 by simonmar]
remove unused imports

23 years ago[project @ 2000-07-11 16:03:37 by simonmar]
simonmar [Tue, 11 Jul 2000 16:03:37 +0000 (16:03 +0000)]
[project @ 2000-07-11 16:03:37 by simonmar]
remove unused imports; misc cleanup

23 years ago[project @ 2000-07-11 15:58:26 by simonmar]
simonmar [Tue, 11 Jul 2000 15:58:26 +0000 (15:58 +0000)]
[project @ 2000-07-11 15:58:26 by simonmar]
remove unused imports; misc cleanup

23 years ago[project @ 2000-07-11 15:57:45 by simonmar]
simonmar [Tue, 11 Jul 2000 15:57:45 +0000 (15:57 +0000)]
[project @ 2000-07-11 15:57:45 by simonmar]
remove unused imports

23 years ago[project @ 2000-07-11 15:57:11 by simonmar]
simonmar [Tue, 11 Jul 2000 15:57:11 +0000 (15:57 +0000)]
[project @ 2000-07-11 15:57:11 by simonmar]
use MachLabel rather than MachLitLit for compiling foreign label and
foreign export dynamic.

23 years ago[project @ 2000-07-11 15:44:04 by simonmar]
simonmar [Tue, 11 Jul 2000 15:44:04 +0000 (15:44 +0000)]
[project @ 2000-07-11 15:44:04 by simonmar]
fix typo

23 years ago[project @ 2000-07-11 15:30:30 by simonmar]
simonmar [Tue, 11 Jul 2000 15:30:30 +0000 (15:30 +0000)]
[project @ 2000-07-11 15:30:30 by simonmar]
undo what appears to be an accidental commit

23 years ago[project @ 2000-07-11 15:26:33 by sewardj]
sewardj [Tue, 11 Jul 2000 15:26:33 +0000 (15:26 +0000)]
[project @ 2000-07-11 15:26:33 by sewardj]
Fix up the sparc native code generator.  Mostly dull stuff.  Notable
changes:

* Cleaned up ccall mechanism for sparc somewhat.

* Rearranged assignment of sparc floating point registers (includes/MachRegs.h)
  so the NCG's register allocator can handle the double-single pairing
  issue without modification.  Split VirtualRegF into VirtualRegF and
  VirtualRegD, and split RcFloating into RcFloat and RcDouble.  Net effect
  is that there are now three register classes -- int, float and double,
  and we pretend that sparc has some float and some double real regs.

* (A fix for all platforms): propagate MachFloats through as StFloats,
  not StDoubles.  Amazingly, until now literal floats had been converted
  to and treated as doubles, including in ccalls.

23 years ago[project @ 2000-07-11 12:17:02 by rrt]
rrt [Tue, 11 Jul 2000 12:17:02 +0000 (12:17 +0000)]
[project @ 2000-07-11 12:17:02 by rrt]
Test completed, file deleted.

23 years ago[project @ 2000-07-11 10:47:06 by simonmar]
simonmar [Tue, 11 Jul 2000 10:47:06 +0000 (10:47 +0000)]
[project @ 2000-07-11 10:47:06 by simonmar]
New autoconf tests for ghc version from Michael Weber, with minor
modifications by me.

23 years ago[project @ 2000-07-11 08:43:35 by simonmar]
simonmar [Tue, 11 Jul 2000 08:43:35 +0000 (08:43 +0000)]
[project @ 2000-07-11 08:43:35 by simonmar]
workaround for strange gcc-ism: elide 'popl %edx' in the epilogue.

23 years ago[project @ 2000-07-10 16:56:56 by rrt]
rrt [Mon, 10 Jul 2000 16:56:56 +0000 (16:56 +0000)]
[project @ 2000-07-10 16:56:56 by rrt]
Test file; will shortly be removed.

23 years ago[project @ 2000-07-10 16:15:33 by rrt]
rrt [Mon, 10 Jul 2000 16:15:36 +0000 (16:15 +0000)]
[project @ 2000-07-10 16:15:33 by rrt]
Removed carriage returns (\r) from source files. Please don't check in such
things; they can cause problems on Cygwin (funnily enough). I'm looking into
how to avoid commiting carriage returns when working under Windows.

23 years ago[project @ 2000-07-09 16:17:10 by panne]
panne [Sun, 9 Jul 2000 16:17:10 +0000 (16:17 +0000)]
[project @ 2000-07-09 16:17:10 by panne]
Third attempt by two people trying to get a simple fprintf right
again...   :-}

23 years ago[project @ 2000-07-09 16:06:28 by panne]
panne [Sun, 9 Jul 2000 16:06:28 +0000 (16:06 +0000)]
[project @ 2000-07-09 16:06:28 by panne]
Install HsStd.h, stgio.h, stgerror.h, and fileObject.h, too. Hmmm,
this looks not particularly nice, perhaps we should merge those into a
single HsStd.h some day.

23 years ago[project @ 2000-07-09 16:00:55 by panne]
panne [Sun, 9 Jul 2000 16:00:55 +0000 (16:00 +0000)]
[project @ 2000-07-09 16:00:55 by panne]
By definition (sec. 7.3 in the H98 report), userError raises an
IOError, so Prelude.catch should catch UserError exceptions, too.
Apart from not conforming to the report, without this patch GHC's
typechecker falls straight on its face.

23 years ago[project @ 2000-07-08 23:08:02 by panne]
panne [Sat, 8 Jul 2000 23:08:02 +0000 (23:08 +0000)]
[project @ 2000-07-08 23:08:02 by panne]
Synched section on packages with new generalized package file format

23 years ago[project @ 2000-07-08 23:06:46 by panne]
panne [Sat, 8 Jul 2000 23:06:46 +0000 (23:06 +0000)]
[project @ 2000-07-08 23:06:46 by panne]
Generalized the package file format a little bit: include directories,
include files, and options are now lists of Strings.

23 years ago[project @ 2000-07-08 19:35:42 by panne]
panne [Sat, 8 Jul 2000 19:35:42 +0000 (19:35 +0000)]
[project @ 2000-07-08 19:35:42 by panne]
After the last fix in PprAbs.ppr_amode, we now need a cast from
StgClosure* to P_ in UPD_FRAME_UPDATEE. I'm not sure if this is the
nicest way to fix this, CgCon.cgReturnDataCon is another candidate. It
looks a little bit like PrimRep distinguishes not enough between the
different kind of pointers (there's no alternative for L_).

23 years ago[project @ 2000-07-08 18:17:40 by panne]
panne [Sat, 8 Jul 2000 18:17:40 +0000 (18:17 +0000)]
[project @ 2000-07-08 18:17:40 by panne]
Fixed Show instance for Exception

23 years ago[project @ 2000-07-08 17:04:17 by panne]
panne [Sat, 8 Jul 2000 17:04:17 +0000 (17:04 +0000)]
[project @ 2000-07-08 17:04:17 by panne]
Synch format string with actual args

23 years ago[project @ 2000-07-07 12:13:43 by simonpj]
simonpj [Fri, 7 Jul 2000 12:13:44 +0000 (12:13 +0000)]
[project @ 2000-07-07 12:13:43 by simonpj]
This commit moves the instance environment out of the Class data
structure, where it was immutable, to part of the type-checker
environment.  This change is absolutely essential as part of
our move to GHCi, and I think it's also going to be necessary
for Andrei's work on generic functions.

As part of this change, we can remove

  a) types/InstEnv.* (thereby also removing a hi-boot loop)
  b) a tc-fixpoint-loop in TcModule

Both of these are worthwhile simplifications.

23 years ago[project @ 2000-07-07 12:13:22 by simonpj]
simonpj [Fri, 7 Jul 2000 12:13:22 +0000 (12:13 +0000)]
[project @ 2000-07-07 12:13:22 by simonpj]
Improve comments

23 years ago[project @ 2000-07-07 12:12:48 by simonpj]
simonpj [Fri, 7 Jul 2000 12:12:48 +0000 (12:12 +0000)]
[project @ 2000-07-07 12:12:48 by simonpj]
Fix duplicate class assertion error msg

23 years ago[project @ 2000-07-07 11:03:57 by simonmar]
simonmar [Fri, 7 Jul 2000 11:03:59 +0000 (11:03 +0000)]
[project @ 2000-07-07 11:03:57 by simonmar]
Rearrange exception stuff, as per my message on glasgow-haskell-users
recently.

The main change is the IOError type is now a synonym for Exception.
IO.ioError can therefore be used for throwing exceptions.  IO.catch
still catches only IO exceptions, for backwards compatibility.

The interface exported by Exception has changed somewhat:

try       :: IO a -> IO (Either Exception a)
tryJust   :: (Exception -> Maybe b) -> a    -> IO (Either b a)

catch     :: IO a -> (Exception -> IO a) -> IO a
catchJust :: (Exception -> Maybe b) -> IO a -> (b -> IO a) -> IO a

ioErrors :: Exception -> Maybe IOError
arithExceptions  :: Exception -> Maybe ArithException
errorCalls :: Exception -> Maybe String
dynExceptions :: Exception -> Maybe Dynamic
assertions :: Exception -> Maybe String
asyncExceptions  :: Exception -> Maybe AsyncException

raiseInThread is now called throwTo.

Where possible, the old functions have been left around, but marked
deprecated.

23 years ago[project @ 2000-07-07 10:35:32 by simonmar]
simonmar [Fri, 7 Jul 2000 10:35:32 +0000 (10:35 +0000)]
[project @ 2000-07-07 10:35:32 by simonmar]
Remove the cast from CMacroExprs - it doesn't appear to be needed.
This fixes the recently introduced bug when compiling CCS_HDR macros
in profiling code.

23 years ago[project @ 2000-07-07 09:44:31 by simonmar]
simonmar [Fri, 7 Jul 2000 09:44:31 +0000 (09:44 +0000)]
[project @ 2000-07-07 09:44:31 by simonmar]
fix -keep-hc-file-too

23 years ago[project @ 2000-07-07 09:37:39 by simonmar]
simonmar [Fri, 7 Jul 2000 09:37:39 +0000 (09:37 +0000)]
[project @ 2000-07-07 09:37:39 by simonmar]
revert rev. 1.81

23 years ago[project @ 2000-07-06 20:50:37 by panne]
panne [Thu, 6 Jul 2000 20:51:30 +0000 (20:51 +0000)]
[project @ 2000-07-06 20:50:37 by panne]
Typo

23 years ago[project @ 2000-07-06 17:22:40 by keithw]
keithw [Thu, 6 Jul 2000 17:22:40 +0000 (17:22 +0000)]
[project @ 2000-07-06 17:22:40 by keithw]
Fix obvious typo (pprStgARg for pprStgArg).  Clearly not a frequently-
tickled part of the compiler!

23 years ago[project @ 2000-07-06 16:31:45 by simonpj]
simonpj [Thu, 6 Jul 2000 16:31:46 +0000 (16:31 +0000)]
[project @ 2000-07-06 16:31:45 by simonpj]
* Improve the warning "M is imported but nothing from it is used"
  In particular, don't warn if some instances from it are imported.

  It's pretty much impossible to do the Right Thing always.
  A comment in Rename.lhs says
-- NOTE: Consider
--       module This
-- import M ()
--
--  The import M() is not *necessarily* redundant, even if
--   we suck in no instance decls from M (e.g. it contains
--  no instance decls, or This contains no code).  It may be
--  that we import M solely to ensure that M's orphan instance
--  decls (or those in its imports) are visible to people who
--  import This.  Sigh.
--  There's really no good way to detect this, so the error message
--  in RnEnv.warnUnusedModules is weakened instead

* Minor comment changes to RnIfaces.lhs

* Use NameEnv instead of UFM in TcEnv (tidy up only)

23 years ago[project @ 2000-07-06 16:28:40 by simonmar]
simonmar [Thu, 6 Jul 2000 16:28:40 +0000 (16:28 +0000)]
[project @ 2000-07-06 16:28:40 by simonmar]
Add Marcin Kowalczyk and Michael Weber to the "Additional
Contributors" section.

23 years ago[project @ 2000-07-06 15:43:28 by simonmar]
simonmar [Thu, 6 Jul 2000 15:43:28 +0000 (15:43 +0000)]
[project @ 2000-07-06 15:43:28 by simonmar]
A string constant block can consist of multiple .string/.ascii
directives.  The sparc-specific code in this file already handled this
properly, but the x86 code was wrong.

23 years ago[project @ 2000-07-06 15:24:57 by simonmar]
simonmar [Thu, 6 Jul 2000 15:24:57 +0000 (15:24 +0000)]
[project @ 2000-07-06 15:24:57 by simonmar]
no need to set hsc_lang = HscC when -split-objs is on.

23 years ago[project @ 2000-07-06 14:08:31 by simonmar]
simonmar [Thu, 6 Jul 2000 14:08:32 +0000 (14:08 +0000)]
[project @ 2000-07-06 14:08:31 by simonmar]
New form of literal: MachLabel, for addresses of labels.  Used by
foreign label instead of MachLitLit now.

Real lit-lits now cause the NCG to panic.

Also: removed CLitLit from AbsCSyn; it was only used in one place for
a purpose it shouldn't have been used for in the first place.

23 years ago[project @ 2000-07-06 13:42:35 by rrt]
rrt [Thu, 6 Jul 2000 13:42:35 +0000 (13:42 +0000)]
[project @ 2000-07-06 13:42:35 by rrt]
Corrected URLs.

23 years ago[project @ 2000-07-06 13:32:35 by simonmar]
simonmar [Thu, 6 Jul 2000 13:32:35 +0000 (13:32 +0000)]
[project @ 2000-07-06 13:32:35 by simonmar]
New section on Packages, collecting together the various
package-related documentation and adding some new stuff about the package
management features.

23 years ago[project @ 2000-07-06 11:43:24 by rrt]
rrt [Thu, 6 Jul 2000 11:43:24 +0000 (11:43 +0000)]
[project @ 2000-07-06 11:43:24 by rrt]
Bump the version no.

23 years ago[project @ 2000-07-06 09:35:37 by simonmar]
simonmar [Thu, 6 Jul 2000 09:35:37 +0000 (09:35 +0000)]
[project @ 2000-07-06 09:35:37 by simonmar]
ghc 4.06 didn't have -package, so use it only for 4.07+.

23 years ago[project @ 2000-07-05 17:16:02 by simonmar]
simonmar [Wed, 5 Jul 2000 17:16:02 +0000 (17:16 +0000)]
[project @ 2000-07-05 17:16:02 by simonmar]
bullet-proof the package code a bit more; check for write access to the
configuration file before doing anything, check whether we're adding a
package that's already there, etc.

23 years ago[project @ 2000-07-05 17:01:59 by simonmar]
simonmar [Wed, 5 Jul 2000 17:01:59 +0000 (17:01 +0000)]
[project @ 2000-07-05 17:01:59 by simonmar]
Packages can now be added/removed from an installed GHC as follows:

    $ ./ghc-inplace --list-packages
    gmp, rts, std, lang, concurrent, data, net, posix, text, util,
    hssource, win32, com, std2
    $ ./ghc-inplace --add-package <newpkg
    Reading package info from stdin... done.
    Saving old package config file... done.
    Writing new package config file... done.
    $ ./ghc-inplace --list-packages
    gmp, rts, std, lang, concurrent, data, net, posix, text, util,
    hssource, win32, com, std2, mypkg
    $ ./ghc-inplace --delete-package mypkg
    Saving old package config file... done.
    Writing new package config file... done.
    $ ./ghc-inplace --list-packages
    gmp, rts, std, lang, concurrent, data, net, posix, text, util,
    hssource, win32, com, std2

This is a first stab at the kind of functionality we need for
installing Haskell libraries via RPMs: the RPM script would install
the libraries, and then do a "ghc --add-package" passing the
appropriate paths.  You'd then have "ghc -package" at your disposal to
use the newly installed package.  Similarly on de-install, the RPM
script would run "ghc --delete-package".

Also in this commit: prettify the package dumping.

23 years ago[project @ 2000-07-05 15:42:19 by keithw]
keithw [Wed, 5 Jul 2000 15:42:19 +0000 (15:42 +0000)]
[project @ 2000-07-05 15:42:19 by keithw]
Add -t flag to specify title of report.