ghc-hetmet.git
14 years ago[project @ 2005-03-10 14:03:28 by simonmar]
simonmar [Thu, 10 Mar 2005 14:03:28 +0000 (14:03 +0000)]
[project @ 2005-03-10 14:03:28 by simonmar]
Add x86_64 platforms

14 years ago[project @ 2005-03-10 13:39:42 by simonmar]
simonmar [Thu, 10 Mar 2005 13:39:42 +0000 (13:39 +0000)]
[project @ 2005-03-10 13:39:42 by simonmar]
Add runhaskell

14 years ago[project @ 2005-03-10 09:59:49 by simonpj]
simonpj [Thu, 10 Mar 2005 09:59:49 +0000 (09:59 +0000)]
[project @ 2005-03-10 09:59:49 by simonpj]
Reword documentation of retainer sets

14 years ago[project @ 2005-03-10 08:56:35 by simonpj]
simonpj [Thu, 10 Mar 2005 08:56:37 +0000 (08:56 +0000)]
[project @ 2005-03-10 08:56:35 by simonpj]
Wibbles to infix operators; please merge

14 years ago[project @ 2005-03-09 17:54:59 by simonpj]
simonpj [Wed, 9 Mar 2005 17:54:59 +0000 (17:54 +0000)]
[project @ 2005-03-09 17:54:59 by simonpj]
Fix indirection-shorting problem

14 years ago[project @ 2005-03-09 17:51:03 by simonpj]
simonpj [Wed, 9 Mar 2005 17:51:03 +0000 (17:51 +0000)]
[project @ 2005-03-09 17:51:03 by simonpj]
Comments

14 years ago[project @ 2005-03-09 17:47:09 by simonpj]
simonpj [Wed, 9 Mar 2005 17:47:09 +0000 (17:47 +0000)]
[project @ 2005-03-09 17:47:09 by simonpj]
Document infix type operators

14 years ago[project @ 2005-03-09 16:58:15 by simonpj]
simonpj [Wed, 9 Mar 2005 16:58:15 +0000 (16:58 +0000)]
[project @ 2005-03-09 16:58:15 by simonpj]
Add parser support for infix type-variable operators

14 years ago[project @ 2005-03-09 14:26:56 by simonpj]
simonpj [Wed, 9 Mar 2005 14:27:03 +0000 (14:27 +0000)]
[project @ 2005-03-09 14:26:56 by simonpj]
Fix the superclass translation for instance decls
Merge to STABLE

There is a long-standing difficulty whereby it's surprisingly easy
to accidentally generate an entirely-bogus recursive dictionary when
generating the definitions for the superclasses of an instance decl.

The problem arises because the default story is that whenever we
add a constraint to our pile of solved constraints, we automatically
add all its superclasses.  But that is simply wrong when we are trying
to generate superclasses.

Solution: do no auto-superclass addition when solving the superclass
constraints of an instance declaration.  I think should fix it once and
for all.

tcrun021, tcrun033 are test cases

tcrun033 showed up the bug; thanks to Simon Foster and Ralf Laemmel.

14 years ago[project @ 2005-03-09 10:56:09 by simonpj]
simonpj [Wed, 9 Mar 2005 10:56:09 +0000 (10:56 +0000)]
[project @ 2005-03-09 10:56:09 by simonpj]
Add missing provenance for mfix; pls merge

14 years ago[project @ 2005-03-09 10:54:57 by simonpj]
simonpj [Wed, 9 Mar 2005 10:54:57 +0000 (10:54 +0000)]
[project @ 2005-03-09 10:54:57 by simonpj]
Add notes about implicit parameters; pls merge

14 years ago[project @ 2005-03-09 10:38:17 by simonmar]
simonmar [Wed, 9 Mar 2005 10:38:17 +0000 (10:38 +0000)]
[project @ 2005-03-09 10:38:17 by simonmar]
Use a different magic number (0x1face64) for 64-bit interface files.
This will prevent us trying to read the dictionary out of a 32-bit
interface file on a 64-bit machine.

14 years ago[project @ 2005-03-09 10:36:38 by simonmar]
simonmar [Wed, 9 Mar 2005 10:36:38 +0000 (10:36 +0000)]
[project @ 2005-03-09 10:36:38 by simonmar]
revert previous change, it didn't work

14 years ago[project @ 2005-03-09 08:51:31 by wolfgang]
wolfgang [Wed, 9 Mar 2005 08:51:43 +0000 (08:51 +0000)]
[project @ 2005-03-09 08:51:31 by wolfgang]
Retain all CAFs when dynamic Haskell libraries are used from GHCi.
The Linker usually replaces references to newCAF with references to newDynCAF,
but the system dynamic linker won't do that for us.

Also, the situation is slightly different - we never want CAFs from dylibs
to be reverted, because the dylibs might be used both by the interpreted
program and by GHCi itself.

So instead of just caf_list, there's now both caf_list and revertible_caf_list.
newDynCAF adds a CAF to revertible_caf_list, and newCAF either adds the CAF
to caf_list or to the mutable list, depending on whether we are in GHCi.

This hack is only active when Linker.c has loaded libHSbase_dyn.[so|dylib],
but for now, it applies to all CAFs, not just dynamically-linked ones.
If that is worth fixing, we could do that by checking whether the the CAF
closure or it's info pointer is in the main executable's address range.

MERGE TO STABLE

14 years ago[project @ 2005-03-09 04:13:13 by wolfgang]
wolfgang [Wed, 9 Mar 2005 04:13:13 +0000 (04:13 +0000)]
[project @ 2005-03-09 04:13:13 by wolfgang]
Some minimalistic documentation for -fPIC and -dynamic.

MERGE TO STABLE

14 years ago[project @ 2005-03-08 20:33:21 by wolfgang]
wolfgang [Tue, 8 Mar 2005 20:33:21 +0000 (20:33 +0000)]
[project @ 2005-03-08 20:33:21 by wolfgang]
Mac OS X: fix_install_name when installing libexecs

MERGE TO STABLE

14 years ago[project @ 2005-03-08 19:14:09 by sof]
sof [Tue, 8 Mar 2005 19:14:09 +0000 (19:14 +0000)]
[project @ 2005-03-08 19:14:09 by sof]
give 'runhaskell' the 'exeext' treatment too

14 years ago[project @ 2005-03-08 19:13:27 by sof]
sof [Tue, 8 Mar 2005 19:13:27 +0000 (19:13 +0000)]
[project @ 2005-03-08 19:13:27 by sof]
explicitly use 'exeext' to avoid cygwin 'cp' weirdity

14 years ago[project @ 2005-03-08 17:19:28 by simonmar]
simonmar [Tue, 8 Mar 2005 17:19:28 +0000 (17:19 +0000)]
[project @ 2005-03-08 17:19:28 by simonmar]
decode OccNames in dumpStyle too

14 years ago[project @ 2005-03-08 17:12:51 by simonmar]
simonmar [Tue, 8 Mar 2005 17:12:54 +0000 (17:12 +0000)]
[project @ 2005-03-08 17:12:51 by simonmar]
Fix something that's been bugging me for a while: by default, -ddump-*
output doesn't include uniques when it outputs internal names, but in
most cases you need them because the output hasn't been tidied, so you
end up doing -dppr-debug which is overkill.

Now, -ddump-* prints uniques for internal names by default.  This
shouldn't affect anything else.

14 years ago[project @ 2005-03-08 15:33:35 by simonmar]
simonmar [Tue, 8 Mar 2005 15:33:35 +0000 (15:33 +0000)]
[project @ 2005-03-08 15:33:35 by simonmar]
Install runghc too

14 years ago[project @ 2005-03-08 13:35:35 by simonmar]
simonmar [Tue, 8 Mar 2005 13:35:35 +0000 (13:35 +0000)]
[project @ 2005-03-08 13:35:35 by simonmar]
Fix what looks like a typo in the previous commit

14 years ago[project @ 2005-03-08 13:32:06 by simonmar]
simonmar [Tue, 8 Mar 2005 13:32:06 +0000 (13:32 +0000)]
[project @ 2005-03-08 13:32:06 by simonmar]
HACK HACK HACK on x86_64

we need 16-byte aligned constants on this platform sometimes.  Don't
just 16-byte align everything, but try to detect 16-byte constants and
align just those.

All the codegen tests now go through on registerised x86_64, I'm
building a stage2 GHC now.

14 years ago[project @ 2005-03-08 11:57:57 by simonmar]
simonmar [Tue, 8 Mar 2005 11:57:57 +0000 (11:57 +0000)]
[project @ 2005-03-08 11:57:57 by simonmar]
Add runhaskell as an optional binary

14 years ago[project @ 2005-03-08 11:56:55 by simonmar]
simonmar [Tue, 8 Mar 2005 11:56:57 +0000 (11:56 +0000)]
[project @ 2005-03-08 11:56:55 by simonmar]
Allow for optional binary installation

14 years ago[project @ 2005-03-08 11:50:42 by simonmar]
simonmar [Tue, 8 Mar 2005 11:50:42 +0000 (11:50 +0000)]
[project @ 2005-03-08 11:50:42 by simonmar]
Build & install runhaskell, but only install it if there isn't already
a $(bindir)/runhaskell.

14 years ago[project @ 2005-03-08 11:04:11 by simonmar]
simonmar [Tue, 8 Mar 2005 11:04:11 +0000 (11:04 +0000)]
[project @ 2005-03-08 11:04:11 by simonmar]
x86_64: the assembler doesn't like generating 8-byte relative
relocations between text and rodata symbols.  Hack around this by
putting SRTs in the text segment for now.

14 years ago[project @ 2005-03-08 10:14:32 by simonpj]
simonpj [Tue, 8 Mar 2005 10:14:34 +0000 (10:14 +0000)]
[project @ 2005-03-08 10:14:32 by simonpj]
Avoid losing location info for ghci; please merge

14 years ago[project @ 2005-03-08 09:47:35 by simonpj]
simonpj [Tue, 8 Mar 2005 09:47:43 +0000 (09:47 +0000)]
[project @ 2005-03-08 09:47:35 by simonpj]
Print full instances in ghci; merge

14 years ago[project @ 2005-03-08 09:47:01 by simonpj]
simonpj [Tue, 8 Mar 2005 09:47:01 +0000 (09:47 +0000)]
[project @ 2005-03-08 09:47:01 by simonpj]
Comments

14 years ago[project @ 2005-03-08 09:45:45 by simonpj]
simonpj [Tue, 8 Mar 2005 09:45:45 +0000 (09:45 +0000)]
[project @ 2005-03-08 09:45:45 by simonpj]
Better printing of types; merge please

14 years ago[project @ 2005-03-08 09:01:20 by simonmar]
simonmar [Tue, 8 Mar 2005 09:01:20 +0000 (09:01 +0000)]
[project @ 2005-03-08 09:01:20 by simonmar]
Update comment

14 years ago[project @ 2005-03-08 08:59:58 by simonmar]
simonmar [Tue, 8 Mar 2005 08:59:58 +0000 (08:59 +0000)]
[project @ 2005-03-08 08:59:58 by simonmar]
x86_64: Add __DISCARD__() function call to the tailcall sequence to
work around bugs in gcc (see comment for details).

14 years ago[project @ 2005-03-08 08:48:35 by simonpj]
simonpj [Tue, 8 Mar 2005 08:48:35 +0000 (08:48 +0000)]
[project @ 2005-03-08 08:48:35 by simonpj]
Add notes about newtype deriving

14 years ago[project @ 2005-03-08 04:45:29 by wolfgang]
wolfgang [Tue, 8 Mar 2005 04:45:38 +0000 (04:45 +0000)]
[project @ 2005-03-08 04:45:29 by wolfgang]
Mac OS X:
Kill HaskellSupport.framework.
Instead, look for GMP.framework (a framework-version of libgmp), else look
for a normal -lgmp as usual.
The other part of HaskellSupport.framework, dlcompat, is no longer needed
(as of Mac OS X 10.3, it's included in libSystem).
It's enough to just use the normal configure tests for -ldl.

MERGE TO STABLE

14 years ago[project @ 2005-03-08 02:28:23 by wolfgang]
wolfgang [Tue, 8 Mar 2005 02:28:23 +0000 (02:28 +0000)]
[project @ 2005-03-08 02:28:23 by wolfgang]
Mach-O Linker: eradicate some warnings

MERGE TO STABLE

14 years ago[project @ 2005-03-07 17:46:24 by simonpj]
simonpj [Mon, 7 Mar 2005 17:46:24 +0000 (17:46 +0000)]
[project @ 2005-03-07 17:46:24 by simonpj]
-----------------------------------------
       Make sure that LiberateCase only binds Internal Names
-----------------------------------------

Merge to STABLE

The nested bindings generated by LiberateCase should be Internal as
well as not-exported.  Otherwise an External Name can float to top level,
where it might name-clash with another one.

14 years ago[project @ 2005-03-07 16:46:08 by simonpj]
simonpj [Mon, 7 Mar 2005 16:46:24 +0000 (16:46 +0000)]
[project @ 2005-03-07 16:46:08 by simonpj]
-----------------------------------------
       Fix a long-standing indirection-zapping bug
-----------------------------------------

Merge to STABLE

Up to now we zap indirections as part of the occurence analyser.
But this is bogus.  The indirection zapper does the following:

x_local = <expression>
...bindings...
x_exported = x_local

where x_exported is exported, and x_local is not, then we
replace it with this:

x_exported = <expression>
x_local = x_exported
...bindings...

But this is plain wrong if x_exported has a RULE that mentions
something (f, say) in ...bindings.., because 'f' will then die.

After hacking a few solutions, I've eventually simply made the indirection
zapping into a separate pass (which is cleaner anyway), which wraps the
entire program back into a single Rec if the bad thing can happen.

On the way I've made indirection-zapping work in Recs too, which wasn't the
case before.

* Move the zapper from OccurAnal into SimplCore
* Tidy up the printing of pragmas (PprCore and friends)
* Add a new function Rules.addRules
* Merge rules in the indirection zapper (previously one set was discarded)

14 years ago[project @ 2005-03-07 15:59:27 by simonmar]
simonmar [Mon, 7 Mar 2005 15:59:27 +0000 (15:59 +0000)]
[project @ 2005-03-07 15:59:27 by simonmar]
Include WORD_SIZE_IN_BITS in the interface header, and test it when
reading.  Fixes a problem whereby GHC on a 64-bit platform will crash
if it tries to read an interface file generated by the same version of
GHC on a 32-bit platform.

14 years ago[project @ 2005-03-07 15:16:58 by simonpj]
simonpj [Mon, 7 Mar 2005 15:17:02 +0000 (15:17 +0000)]
[project @ 2005-03-07 15:16:58 by simonpj]
-----------------------------------------
       Fix scoping bug for quantified type variables
-----------------------------------------

Merge to STABLE

When instantiating a declaration type signature, make sure to instantiate
fresh names for non-scoped type variables, else they may be spuriously shared.
Turns out that the test lib/Generics/reify tests this, which is good.

Comments are with TcMType.tcInstSigType

14 years ago[project @ 2005-03-07 15:16:41 by simonmar]
simonmar [Mon, 7 Mar 2005 15:16:41 +0000 (15:16 +0000)]
[project @ 2005-03-07 15:16:41 by simonmar]
Try once more to get this #include right, and add a comment

14 years ago[project @ 2005-03-07 14:52:20 by simonmar]
simonmar [Mon, 7 Mar 2005 14:52:20 +0000 (14:52 +0000)]
[project @ 2005-03-07 14:52:20 by simonmar]
ghc_boot_platform.h is the right way to get hold of the platform
defines inside the compiler.

14 years ago[project @ 2005-03-07 13:18:51 by simonmar]
simonmar [Mon, 7 Mar 2005 13:18:51 +0000 (13:18 +0000)]
[project @ 2005-03-07 13:18:51 by simonmar]
Mention not to use comments on the same line as OPTIONS_GHC

14 years ago[project @ 2005-03-07 13:18:19 by simonmar]
simonmar [Mon, 7 Mar 2005 13:18:19 +0000 (13:18 +0000)]
[project @ 2005-03-07 13:18:19 by simonmar]
Fix validate bug

14 years ago[project @ 2005-03-07 12:20:28 by simonmar]
simonmar [Mon, 7 Mar 2005 12:20:28 +0000 (12:20 +0000)]
[project @ 2005-03-07 12:20:28 by simonmar]
Add missing hs_* symbols

14 years ago[project @ 2005-03-05 16:19:14 by panne]
panne [Sat, 5 Mar 2005 16:19:18 +0000 (16:19 +0000)]
[project @ 2005-03-05 16:19:14 by panne]
Nuked dead code. Now the RTS is free of warnings, except for failed
inlinings of thread_obj, processHeapClosureForDead, pop, and
push. Should we remove their "inline" modifier?

14 years ago[project @ 2005-03-05 13:54:36 by panne]
panne [Sat, 5 Mar 2005 13:54:36 +0000 (13:54 +0000)]
[project @ 2005-03-05 13:54:36 by panne]
Clean up Version.hs for distclean target

14 years ago[project @ 2005-03-05 13:48:42 by panne]
panne [Sat, 5 Mar 2005 13:48:42 +0000 (13:48 +0000)]
[project @ 2005-03-05 13:48:42 by panne]
Warning police

14 years ago[project @ 2005-03-05 11:58:41 by chak]
chak [Sat, 5 Mar 2005 11:58:41 +0000 (11:58 +0000)]
[project @ 2005-03-05 11:58:41 by chak]
Extended the commentary with a section about the STG-related parts of GHC
(generation of STG from Core, STG passes, and generation of Cmm).

[BTW, it's a pity that nobody bothered to write up the new code generation
structure when it was implemented not long ago.]

14 years ago[project @ 2005-03-04 19:19:56 by sof]
sof [Fri, 4 Mar 2005 19:19:56 +0000 (19:19 +0000)]
[project @ 2005-03-04 19:19:56 by sof]
Since MachDeps.h doesn't include ghcconfig.h, include it specifically here
(for the benefit of mingw). That may not be the right file to use in the
grander scheme of things tho.

Merge to STABLE (or something equivalent; as-is STABLE doesn't build on mingw.)

14 years ago[project @ 2005-03-04 18:26:46 by sof]
sof [Fri, 4 Mar 2005 18:26:49 +0000 (18:26 +0000)]
[project @ 2005-03-04 18:26:46 by sof]
Temper 'libm' testing -- if 'atan' is available straight from libc,
no need to include libm.

Merge to STABLE

14 years ago[project @ 2005-03-04 14:24:51 by simonmar]
simonmar [Fri, 4 Mar 2005 14:24:51 +0000 (14:24 +0000)]
[project @ 2005-03-04 14:24:51 by simonmar]
Build all the libraries

14 years ago[project @ 2005-03-04 14:06:55 by simonmar]
simonmar [Fri, 4 Mar 2005 14:06:55 +0000 (14:06 +0000)]
[project @ 2005-03-04 14:06:55 by simonmar]
Fix a couple of things, should help this script get further

14 years ago[project @ 2005-03-04 13:38:19 by simonmar]
simonmar [Fri, 4 Mar 2005 13:38:19 +0000 (13:38 +0000)]
[project @ 2005-03-04 13:38:19 by simonmar]
some more wibbles in cross-compiling

14 years ago[project @ 2005-03-04 12:04:00 by simonmar]
simonmar [Fri, 4 Mar 2005 12:04:00 +0000 (12:04 +0000)]
[project @ 2005-03-04 12:04:00 by simonmar]
We shouldn't be including ghcconfig.h here

14 years ago[project @ 2005-03-04 12:01:11 by simonmar]
simonmar [Fri, 4 Mar 2005 12:01:11 +0000 (12:01 +0000)]
[project @ 2005-03-04 12:01:11 by simonmar]
include ghcautoconf.h rather than ghcconfig.h, the reason being that
this file is included form the compiler, and we don't want the
platform defines from ghcplatform.h.

14 years ago[project @ 2005-03-04 11:44:27 by simonmar]
simonmar [Fri, 4 Mar 2005 11:44:27 +0000 (11:44 +0000)]
[project @ 2005-03-04 11:44:27 by simonmar]
Clean .hi-boot and .o-boot created from .hs-boot/.lhs-boot

14 years ago[project @ 2005-03-03 21:03:06 by wolfgang]
wolfgang [Thu, 3 Mar 2005 21:03:06 +0000 (21:03 +0000)]
[project @ 2005-03-03 21:03:06 by wolfgang]
Look for the docbook-xsl directory in /sw/share/xml/xsl/docbook-xsl,
because that's where the Fink distribution for Mac OS X puts it.

MERGE TO STABLE

14 years ago[project @ 2005-03-03 21:01:49 by wolfgang]
wolfgang [Thu, 3 Mar 2005 21:01:49 +0000 (21:01 +0000)]
[project @ 2005-03-03 21:01:49 by wolfgang]
Install dynamic libraries even when they're not part of a package,
but honor NO_INSTALL_LIBRARY instead.

MERGE TO STABLE

15 years ago[project @ 2005-03-03 17:01:01 by simonmar]
simonmar [Thu, 3 Mar 2005 17:01:01 +0000 (17:01 +0000)]
[project @ 2005-03-03 17:01:01 by simonmar]
Add some text about platforms I forgot to commit before, and a couple
of wibbles to the porting section.

15 years ago[project @ 2005-03-03 11:48:02 by chak]
chak [Thu, 3 Mar 2005 11:48:02 +0000 (11:48 +0000)]
[project @ 2005-03-03 11:48:02 by chak]
Merge to STABLE

Fixed two bugs:
* #1035575 from SourceForge (by adding smart constructors for source tuple
  construction at value and type level)
* Parallel array comprehensions were handled wrongly
  - The singleton expression-pattern pair `()'-`[:():]' is the neutral element
    for cross products (comma notation in comprehensions), but not for
    parallel comprehensions.
  - Now groups of parallel statements are handled separately (which is more
    like the vanilla list comprehension case).
  - The code is too general in that it correctly handles cross-products of
    groups of parallel qualifiers.  As this is correctly handled in the
    list and the array comprehension case, the syntax may be generalised to
    allow arbitrary nesting of cross-products and parallel qualifiers.

15 years ago[project @ 2005-03-03 10:37:57 by simonmar]
simonmar [Thu, 3 Mar 2005 10:37:57 +0000 (10:37 +0000)]
[project @ 2005-03-03 10:37:57 by simonmar]
Sparc: allow whitespace before .section directive.  Should fix
linking problems on sparc/solaris.

15 years ago[project @ 2005-03-02 18:22:11 by simonpj]
simonpj [Wed, 2 Mar 2005 18:22:11 +0000 (18:22 +0000)]
[project @ 2005-03-02 18:22:11 by simonpj]
Add note about defaulting

15 years ago[project @ 2005-03-02 18:15:36 by simonpj]
simonpj [Wed, 2 Mar 2005 18:15:36 +0000 (18:15 +0000)]
[project @ 2005-03-02 18:15:36 by simonpj]
Clarification re overlapping instances; merge to stable

15 years ago[project @ 2005-03-02 14:35:05 by simonmar]
simonmar [Wed, 2 Mar 2005 14:35:05 +0000 (14:35 +0000)]
[project @ 2005-03-02 14:35:05 by simonmar]
More wibbles to cleaning

15 years ago[project @ 2005-03-02 14:26:55 by simonmar]
simonmar [Wed, 2 Mar 2005 14:26:55 +0000 (14:26 +0000)]
[project @ 2005-03-02 14:26:55 by simonmar]
2nd attempt at cleaning ld.script

15 years ago[project @ 2005-03-02 14:09:26 by simonmar]
simonmar [Wed, 2 Mar 2005 14:09:26 +0000 (14:09 +0000)]
[project @ 2005-03-02 14:09:26 by simonmar]
wibbles to cleaning

15 years ago[project @ 2005-03-02 11:06:58 by simonmar]
simonmar [Wed, 2 Mar 2005 11:06:58 +0000 (11:06 +0000)]
[project @ 2005-03-02 11:06:58 by simonmar]
Change "Reading" to "Using" in -v output to keep hmake happy.

15 years ago[project @ 2005-03-02 10:59:31 by simonmar]
simonmar [Wed, 2 Mar 2005 10:59:31 +0000 (10:59 +0000)]
[project @ 2005-03-02 10:59:31 by simonmar]
on second thoughts, don't clean mk/config.mk yet

15 years ago[project @ 2005-03-02 10:58:04 by simonmar]
simonmar [Wed, 2 Mar 2005 10:58:04 +0000 (10:58 +0000)]
[project @ 2005-03-02 10:58:04 by simonmar]
Some more distcleaning

15 years ago[project @ 2005-03-02 10:11:46 by simonmar]
simonmar [Wed, 2 Mar 2005 10:11:46 +0000 (10:11 +0000)]
[project @ 2005-03-02 10:11:46 by simonmar]
clean up ld.script

15 years ago[project @ 2005-03-02 10:00:36 by simonmar]
simonmar [Wed, 2 Mar 2005 10:00:36 +0000 (10:00 +0000)]
[project @ 2005-03-02 10:00:36 by simonmar]
Clean a few more things created by configure

15 years ago[project @ 2005-03-02 09:57:41 by simonmar]
simonmar [Wed, 2 Mar 2005 09:57:41 +0000 (09:57 +0000)]
[project @ 2005-03-02 09:57:41 by simonmar]
Clean VERSION

15 years ago[project @ 2005-03-02 09:49:11 by simonmar]
simonmar [Wed, 2 Mar 2005 09:49:11 +0000 (09:49 +0000)]
[project @ 2005-03-02 09:49:11 by simonmar]
Clean a bit better

15 years ago[project @ 2005-03-02 09:48:16 by simonmar]
simonmar [Wed, 2 Mar 2005 09:48:16 +0000 (09:48 +0000)]
[project @ 2005-03-02 09:48:16 by simonmar]
fix cut-n-pasto in CLEAN_FILES

15 years ago[project @ 2005-03-02 04:35:24 by simonpj]
simonpj [Wed, 2 Mar 2005 04:35:24 +0000 (04:35 +0000)]
[project @ 2005-03-02 04:35:24 by simonpj]
Wibble to new desugaring story
Merge to STABLE

Fix an error in my commit to the desugarer.  This makes gadt/type-rep work.

15 years ago[project @ 2005-03-01 21:40:40 by simonpj]
simonpj [Tue, 1 Mar 2005 21:40:54 +0000 (21:40 +0000)]
[project @ 2005-03-01 21:40:40 by simonpj]
Type signatures and skolem constants (again)
Merge to STABLE

This commit lays to rest the vexed question of skolem constants
and type signatures.  My fix last week made type-signature variables
into ordinary meta type variables, because they can be unified
together (see Note [Signature skolems] in TcType).  But that was wrong
becuase GADTs will only refine skolems.

So this commit extends TcTyVarDetails with a new constructors, SigSkolTv,
which is a skolem (like SkolemTv) but is unifiable (like MetaTv).  It's
a bit of a hack, but the code came out quite nicely.

Now the GADT tests work.

15 years ago[project @ 2005-03-01 19:16:14 by sof]
sof [Tue, 1 Mar 2005 19:16:18 +0000 (19:16 +0000)]
[project @ 2005-03-01 19:16:14 by sof]
aclocal.m4:FP_PROG_SORT: locate unix-like sort utility; on success, substituted as SortCmd.
-configure.ac: use FP_PROG_SORT
-mk/config.mk.in: added SORT setting..only used by libraries/Makefile

Merge to STABLE

15 years ago[project @ 2005-03-01 16:20:27 by simonmar]
simonmar [Tue, 1 Mar 2005 16:20:27 +0000 (16:20 +0000)]
[project @ 2005-03-01 16:20:27 by simonmar]
6.4 announcement, first draft

15 years ago[project @ 2005-03-01 14:59:18 by simonmar]
simonmar [Tue, 1 Mar 2005 14:59:18 +0000 (14:59 +0000)]
[project @ 2005-03-01 14:59:18 by simonmar]
Work around bugs in DocBook XSL stylesheets: don't put
cross-references in section headers.

15 years ago[project @ 2005-03-01 14:32:43 by simonmar]
simonmar [Tue, 1 Mar 2005 14:32:43 +0000 (14:32 +0000)]
[project @ 2005-03-01 14:32:43 by simonmar]
-no-link is renamed to -c

15 years ago[project @ 2005-03-01 11:51:14 by simonmar]
simonmar [Tue, 1 Mar 2005 11:51:14 +0000 (11:51 +0000)]
[project @ 2005-03-01 11:51:14 by simonmar]
More dependencies required by 'make -j8'

15 years ago[project @ 2005-03-01 05:49:43 by simonpj]
simonpj [Tue, 1 Mar 2005 05:49:49 +0000 (05:49 +0000)]
[project @ 2005-03-01 05:49:43 by simonpj]
Make desugaring of pattern-matching much more civilised.

Before this change we wrapped new bindings around the
right hand side; but that meant they ended up wrapped
in reverse order.  Now we accumulate the bindings
separately, in the eqn_wrap field of an EqnInfo.

This cures a desugaring bug encountered by Akos Korosmezey
immortalised as ds055

15 years ago[project @ 2005-02-28 17:12:36 by simonmar]
simonmar [Mon, 28 Feb 2005 17:12:47 +0000 (17:12 +0000)]
[project @ 2005-02-28 17:12:36 by simonmar]
Back out previous change; something broke, I'll look into it later

15 years ago[project @ 2005-02-28 17:01:13 by simonmar]
simonmar [Mon, 28 Feb 2005 17:01:23 +0000 (17:01 +0000)]
[project @ 2005-02-28 17:01:13 by simonmar]
Optimisation: the update code only needs to check whether the closure
being updated is a BLACKHOLE_BQ if it has been blackholed; which is
only the case after lazy blackholing has taken place.

So to avoid this unnecessary cost, we have two kinds of update frame:
one which checks for BLACKHOLE_BQ and one that doesn't, and the lazy
blackholing algorithm converts the latter kind into the former as it
replaces thunks with blackholes.

15 years ago[project @ 2005-02-28 16:04:54 by simonpj]
simonpj [Mon, 28 Feb 2005 16:04:54 +0000 (16:04 +0000)]
[project @ 2005-02-28 16:04:54 by simonpj]
Add forall-hoisting to TcIface; see comments with mkIfTcAPp
Fixes Sourceforge bug 1146068
tc191 tests

This fix is temporary, until we get rid of forall-hoisting
altogether

15 years ago[project @ 2005-02-28 16:02:57 by simonpj]
simonpj [Mon, 28 Feb 2005 16:02:57 +0000 (16:02 +0000)]
[project @ 2005-02-28 16:02:57 by simonpj]
Fix kind error in record update; tc190 tests

15 years ago[project @ 2005-02-28 16:02:42 by simonpj]
simonpj [Mon, 28 Feb 2005 16:02:42 +0000 (16:02 +0000)]
[project @ 2005-02-28 16:02:42 by simonpj]
Comment only

15 years ago[project @ 2005-02-28 16:01:52 by simonpj]
simonpj [Mon, 28 Feb 2005 16:01:52 +0000 (16:01 +0000)]
[project @ 2005-02-28 16:01:52 by simonpj]
Print empty classes right

15 years ago[project @ 2005-02-28 12:03:12 by simonmar]
simonmar [Mon, 28 Feb 2005 12:03:12 +0000 (12:03 +0000)]
[project @ 2005-02-28 12:03:12 by simonmar]
The type variables in the types of wired-in entities were built using
mkVarOcc, which gives a variable name rather than a type variable
name.  Normally the compiler doesn't care, but when tidying types for
output to the user the tidier would consider a VarName as distinct
from a TvName, and not give them different print names.

This fix makes puts all the type variables in the TvName namespace.

15 years ago[project @ 2005-02-26 11:03:13 by panne]
panne [Sat, 26 Feb 2005 11:03:13 +0000 (11:03 +0000)]
[project @ 2005-02-26 11:03:13 by panne]
Don't use draft mode when generating FO, otherwise fop might try
download a watermark when generating PDF/PS. Fixed a comment typo on
the way.

15 years ago[project @ 2005-02-25 17:06:43 by simonpj]
simonpj [Fri, 25 Feb 2005 17:06:43 +0000 (17:06 +0000)]
[project @ 2005-02-25 17:06:43 by simonpj]
improve docs for scoped type vars

15 years ago[project @ 2005-02-25 14:39:52 by simonmar]
simonmar [Fri, 25 Feb 2005 14:39:52 +0000 (14:39 +0000)]
[project @ 2005-02-25 14:39:52 by simonmar]
Turn a Q/A section into a <variablelist> to avoid fop barfage.

15 years ago[project @ 2005-02-25 14:15:53 by simonpj]
simonpj [Fri, 25 Feb 2005 14:15:53 +0000 (14:15 +0000)]
[project @ 2005-02-25 14:15:53 by simonpj]
-----------------------------------------
Improve ambiguity reporting in TcSimplify
-----------------------------------------

Merge to STABLE

The test for ambiguity in tcSimplifyTop caused us to say thing like
No instance for (Show c)
which is a bit confusing -- and in fact exposed a separate buglet in
the fix-reporting code.

This commit deals with the origial problem.  tcfail133 tests it.

15 years ago[project @ 2005-02-25 13:57:05 by simonpj]
simonpj [Fri, 25 Feb 2005 13:57:05 +0000 (13:57 +0000)]
[project @ 2005-02-25 13:57:05 by simonpj]
Wibble to last commit

15 years ago[project @ 2005-02-25 13:54:41 by simonpj]
simonpj [Fri, 25 Feb 2005 13:54:41 +0000 (13:54 +0000)]
[project @ 2005-02-25 13:54:41 by simonpj]
Prevent a crash; reason the situation arises in the first place is still unclear

15 years ago[project @ 2005-02-25 13:06:31 by simonpj]
simonpj [Fri, 25 Feb 2005 13:07:54 +0000 (13:07 +0000)]
[project @ 2005-02-25 13:06:31 by simonpj]
---------------------------------------------
Type signatures are no longer instantiated with skolem constants
---------------------------------------------

Merge to STABLE

Consider

  p :: a
  q :: b
  (p,q,r) = (r,r,p)

Here, 'a' and 'b' end up being the same, because they are both bound
to the type for 'r', which is just a meta type variable.  So 'a' and 'b'
can't be skolems.

Sigh.  This commit goes back to an earlier way of doing things, by
arranging that type signatures get instantiated with *meta* type
variables; then at the end we must check that they have not been
unified with types, nor with each other.

This is a real bore.  I had to do quite a bit of related fiddling around
to make error messages come out right.  Improved one or two.

Also a small unrelated fix to make
:i (:+)
print with parens in ghci.  Sorry this got mixed up in the same commit.

15 years ago[project @ 2005-02-25 12:50:48 by simonpj]
simonpj [Fri, 25 Feb 2005 12:50:48 +0000 (12:50 +0000)]
[project @ 2005-02-25 12:50:48 by simonpj]
Profiling addition

15 years ago[project @ 2005-02-25 12:49:47 by simonpj]
simonpj [Fri, 25 Feb 2005 12:49:47 +0000 (12:49 +0000)]
[project @ 2005-02-25 12:49:47 by simonpj]
Spelling

15 years ago[project @ 2005-02-25 10:53:08 by simonmar]
simonmar [Fri, 25 Feb 2005 10:53:08 +0000 (10:53 +0000)]
[project @ 2005-02-25 10:53:08 by simonmar]
Add a pointer to the Cabal docs