ghc-hetmet.git
19 years ago[project @ 2004-05-08 03:10:57 by dons]
dons [Sat, 8 May 2004 03:10:57 +0000 (03:10 +0000)]
[project @ 2004-05-08 03:10:57 by dons]
3 more openbsd platforms: m88k, sparc64 & vax
Just in case someone tries to run the testsuite.

19 years ago[project @ 2004-05-08 01:49:56 by dons]
dons [Sat, 8 May 2004 01:49:56 +0000 (01:49 +0000)]
[project @ 2004-05-08 01:49:56 by dons]
Add openbsd platforms: alpha, arm, hppa, powerpc

19 years ago[project @ 2004-05-07 21:19:21 by panne]
panne [Fri, 7 May 2004 21:19:21 +0000 (21:19 +0000)]
[project @ 2004-05-07 21:19:21 by panne]
GCC's __attribute__ handling seems to be a little bit stricter with GCC 3.3.3:

   * When a function declaration uses it, the corresponding definition has to
     use it, too.

   * Syntactically it is allowed only at the beginning of the function
     definition.

Let's hope that the current syntax is backwards compatible...

19 years ago[project @ 2004-05-07 14:06:45 by simonpj]
simonpj [Fri, 7 May 2004 14:06:45 +0000 (14:06 +0000)]
[project @ 2004-05-07 14:06:45 by simonpj]
---------------------------------
Make sure that GHCi loads all
necessary orphan-instance modules
---------------------------------

When you do :m A, we need to load any orphan-instance modules
below A.  That's easily done, but had been forgotten.

Do not merge to stable: the fix is different there

19 years ago[project @ 2004-05-07 14:06:12 by simonpj]
simonpj [Fri, 7 May 2004 14:06:12 +0000 (14:06 +0000)]
[project @ 2004-05-07 14:06:12 by simonpj]
White space

19 years ago[project @ 2004-05-07 11:23:56 by simonmar]
simonmar [Fri, 7 May 2004 11:23:56 +0000 (11:23 +0000)]
[project @ 2004-05-07 11:23:56 by simonmar]
make a SrcSpan for the whole file that is not "unhelpful"

19 years ago[project @ 2004-05-06 12:30:38 by simonpj]
simonpj [Thu, 6 May 2004 12:30:38 +0000 (12:30 +0000)]
[project @ 2004-05-06 12:30:38 by simonpj]
Report error in GHCi for unlifted bindings

19 years ago[project @ 2004-05-06 12:29:50 by simonpj]
simonpj [Thu, 6 May 2004 12:29:50 +0000 (12:29 +0000)]
[project @ 2004-05-06 12:29:50 by simonpj]
Make addSrcSpan ignore unhelpful spans

19 years ago[project @ 2004-05-06 12:28:41 by simonpj]
simonpj [Thu, 6 May 2004 12:28:41 +0000 (12:28 +0000)]
[project @ 2004-05-06 12:28:41 by simonpj]
Improve error handling for deriving(Typeable)

19 years ago[project @ 2004-05-06 12:28:07 by simonpj]
simonpj [Thu, 6 May 2004 12:28:07 +0000 (12:28 +0000)]
[project @ 2004-05-06 12:28:07 by simonpj]
Better location info

19 years ago[project @ 2004-05-06 12:27:39 by simonpj]
simonpj [Thu, 6 May 2004 12:27:39 +0000 (12:27 +0000)]
[project @ 2004-05-06 12:27:39 by simonpj]
Add ASSERT

19 years ago[project @ 2004-05-06 12:26:13 by simonpj]
simonpj [Thu, 6 May 2004 12:26:13 +0000 (12:26 +0000)]
[project @ 2004-05-06 12:26:13 by simonpj]
Use IfaceDeprecs synonym

19 years ago[project @ 2004-05-06 12:25:49 by simonpj]
simonpj [Thu, 6 May 2004 12:25:49 +0000 (12:25 +0000)]
[project @ 2004-05-06 12:25:49 by simonpj]
Fix (head []) value for src span in mkSimpleMatch

19 years ago[project @ 2004-05-06 12:25:12 by simonpj]
simonpj [Thu, 6 May 2004 12:25:12 +0000 (12:25 +0000)]
[project @ 2004-05-06 12:25:12 by simonpj]
White spacing only

19 years ago[project @ 2004-05-06 12:24:52 by simonpj]
simonpj [Thu, 6 May 2004 12:24:52 +0000 (12:24 +0000)]
[project @ 2004-05-06 12:24:52 by simonpj]
Put parens around binders in debug prints

19 years ago[project @ 2004-05-06 12:24:19 by simonpj]
simonpj [Thu, 6 May 2004 12:24:19 +0000 (12:24 +0000)]
[project @ 2004-05-06 12:24:19 by simonpj]
Remove dead comments

19 years ago[project @ 2004-05-06 12:23:58 by simonpj]
simonpj [Thu, 6 May 2004 12:23:58 +0000 (12:23 +0000)]
[project @ 2004-05-06 12:23:58 by simonpj]
Comments

19 years ago[project @ 2004-05-06 12:20:04 by wolfgang]
wolfgang [Thu, 6 May 2004 12:20:06 +0000 (12:20 +0000)]
[project @ 2004-05-06 12:20:04 by wolfgang]
Threaded RTS: Fix a deadlock situation

The flag startingWorkerThread that is used by startSchedulerTaskIfNecessary
(in Schedule.c) has to be reset if startTask (in Task.c) decides not to
start another task after all (if a task is already waiting).
When the flag isn't reset, this leads to a deadlock the next time a new
worker thread is actually needed.

MERGE TO STABLE

19 years ago[project @ 2004-05-06 09:53:03 by simonmar]
simonmar [Thu, 6 May 2004 09:53:03 +0000 (09:53 +0000)]
[project @ 2004-05-06 09:53:03 by simonmar]
whitespace

19 years ago[project @ 2004-05-06 08:53:01 by simonmar]
simonmar [Thu, 6 May 2004 08:53:01 +0000 (08:53 +0000)]
[project @ 2004-05-06 08:53:01 by simonmar]
Make this work with GHC 5.04.x, by slurping in rawSystem from the libraries.

19 years ago[project @ 2004-05-06 08:44:52 by simonmar]
simonmar [Thu, 6 May 2004 08:44:52 +0000 (08:44 +0000)]
[project @ 2004-05-06 08:44:52 by simonmar]
Move the definition of rawSystem into a separate file which we
#include in the places it is needed.  This is slightly better than
copying the code, since we now need it in three places
(ghc/utils/runghc is the 3rd).

19 years ago[project @ 2004-05-05 19:48:54 by krasimir]
krasimir [Wed, 5 May 2004 19:48:54 +0000 (19:48 +0000)]
[project @ 2004-05-05 19:48:54 by krasimir]
The commit allows to build GHCi libraries in Windows Command Prompt

19 years ago[project @ 2004-05-05 14:32:01 by simonmar]
simonmar [Wed, 5 May 2004 14:32:01 +0000 (14:32 +0000)]
[project @ 2004-05-05 14:32:01 by simonmar]
Rearrange the -F/-pgmF documentation a bit.

19 years ago[project @ 2004-05-05 14:10:07 by simonpj]
simonpj [Wed, 5 May 2004 14:10:07 +0000 (14:10 +0000)]
[project @ 2004-05-05 14:10:07 by simonpj]
More about windows

19 years ago[project @ 2004-05-05 13:49:50 by simonmar]
simonmar [Wed, 5 May 2004 13:49:50 +0000 (13:49 +0000)]
[project @ 2004-05-05 13:49:50 by simonmar]
x-ref to Control.Concurrent from the -threaded docs.

19 years ago[project @ 2004-05-05 12:00:10 by ross]
ross [Wed, 5 May 2004 12:00:10 +0000 (12:00 +0000)]
[project @ 2004-05-05 12:00:10 by ross]
add a note about #def in hsc2hs

19 years ago[project @ 2004-05-05 11:37:46 by simonmar]
simonmar [Wed, 5 May 2004 11:37:46 +0000 (11:37 +0000)]
[project @ 2004-05-05 11:37:46 by simonmar]
Add the runghc program

19 years ago[project @ 2004-05-05 10:46:52 by simonmar]
simonmar [Wed, 5 May 2004 10:46:52 +0000 (10:46 +0000)]
[project @ 2004-05-05 10:46:52 by simonmar]
Document use of -I flag for finding FFI header files

19 years ago[project @ 2004-05-05 10:46:34 by simonmar]
simonmar [Wed, 5 May 2004 10:46:34 +0000 (10:46 +0000)]
[project @ 2004-05-05 10:46:34 by simonmar]
FAQ about missing include files when using -O/-prof

19 years ago[project @ 2004-05-05 09:00:02 by simonmar]
simonmar [Wed, 5 May 2004 09:00:02 +0000 (09:00 +0000)]
[project @ 2004-05-05 09:00:02 by simonmar]
Add dependencies on jadetex and tetex-dvips

Noticed by: Jeff Lewis

19 years ago[project @ 2004-05-04 09:56:49 by simonpj]
simonpj [Tue, 4 May 2004 09:56:49 +0000 (09:56 +0000)]
[project @ 2004-05-04 09:56:49 by simonpj]
More notes for Windows and MSYS

20 years ago[project @ 2004-04-30 15:51:10 by simonmar]
simonmar [Fri, 30 Apr 2004 15:51:10 +0000 (15:51 +0000)]
[project @ 2004-04-30 15:51:10 by simonmar]
wibble

20 years ago[project @ 2004-04-30 09:46:58 by simonmar]
simonmar [Fri, 30 Apr 2004 09:46:58 +0000 (09:46 +0000)]
[project @ 2004-04-30 09:46:58 by simonmar]
DoEval is a compilation manager mode too.

MERGE TO STABLE

20 years ago[project @ 2004-04-27 12:47:13 by simonpj]
simonpj [Tue, 27 Apr 2004 12:47:18 +0000 (12:47 +0000)]
[project @ 2004-04-27 12:47:13 by simonpj]
----------------------------------------
     1. Make primOpIsCheap do something sensible
     2. Make the state hack work better
     ----------------------------------------

1.  In March 2001, we changed primOpIsCheap to
primOpIsCheap op = False
thereby making *no* primops seem cheap.  But this killed eta
expansion on case (x ==# y) of True -> \s -> ...
which is bad.  In particular a loop like
  doLoop n = loop 0
    where
      loop i | i == n    = return ()
             | otherwise = bar i >> loop (i+1)
allocated a closure every time round because it didn't eta expand.

The problem that made us set primOpIsCheap to False was
let x = a +# b *# c in x +# x
where we don't want to inline x. But primopIsCheap doesn't control
that (it's exprIsDupable that does) so the problem doesn't occur
even if primOpIsCheap sometimes says 'True'.  I think that perhaps
something changed since March 2001.

2.  Consider this
case x of
  True  -> \(s:RealWorld) -> e
  False -> foo
where foo has arity 1.  If we are using the "state hack" we want to
eta expand here.  This commit fixes arityType in the Var case (for foo)
to take account of foo's type.

Also add -fno-state-hack to the static flags, to allow the state hack to
be switched off.

20 years ago[project @ 2004-04-26 16:10:28 by simonmar]
simonmar [Mon, 26 Apr 2004 16:10:28 +0000 (16:10 +0000)]
[project @ 2004-04-26 16:10:28 by simonmar]
Update Jeff Lewis' email address

20 years ago[project @ 2004-04-21 12:45:54 by simonpj]
simonpj [Wed, 21 Apr 2004 12:45:58 +0000 (12:45 +0000)]
[project @ 2004-04-21 12:45:54 by simonpj]
Do a much better job of slurping RULES.

Now that stuff is slurped in lazily, as the simplifier pokes on it,
we may not get the rules as early as we might wish.  In the current
HEAD, no new rules are slurped in after the beginning of SimplCore,
and that means we permanently miss many rules.

This commit arranges that every time round the simplifier loop we
slurp in any new rules, and put them into the in-scope set, where the
simplifier can find them.

It's still possible that a rule might be slurped in a little later than
in earlier versions of GHC, leading to more simplifier iterations,
but let's see if that turns out to be a problem in practice.

20 years ago[project @ 2004-04-21 12:45:05 by simonpj]
simonpj [Wed, 21 Apr 2004 12:45:07 +0000 (12:45 +0000)]
[project @ 2004-04-21 12:45:05 by simonpj]
Import wibbles

20 years ago[project @ 2004-04-21 12:38:20 by simonpj]
simonpj [Wed, 21 Apr 2004 12:38:20 +0000 (12:38 +0000)]
[project @ 2004-04-21 12:38:20 by simonpj]
In Template Haskell suppport
dyn "M.x"
to mean "look up the qualified name M.x in the environment", which is
what you'd expect.  George Russel wanted this.

20 years ago[project @ 2004-04-21 12:36:51 by simonpj]
simonpj [Wed, 21 Apr 2004 12:36:51 +0000 (12:36 +0000)]
[project @ 2004-04-21 12:36:51 by simonpj]
Elaborate IfaceSyn.HsWorker to give the full IfaceExtName of the worker,
rather than just the internal OccName.  Very occasionally, the worker for
a function in module A turns out to be (by simplification) a function
defined in module B.  So we must remember the module. This shows up in
package ObjectIO,
Graphics.UI.ObjectIO.OS.Window.osValidateWindowRect
which has a worker
Graphics.UI.ObjectIO.OS.WindowCCall_12.$wwinValidateRect

*** Unfortunately this changes the binary format of hi files slightly, so
*** you'll have to recompile all your libraries from scratch.

20 years ago[project @ 2004-04-21 12:36:24 by simonpj]
simonpj [Wed, 21 Apr 2004 12:36:25 +0000 (12:36 +0000)]
[project @ 2004-04-21 12:36:24 by simonpj]
Comments only

20 years ago[project @ 2004-04-21 08:43:43 by simonpj]
simonpj [Wed, 21 Apr 2004 08:43:43 +0000 (08:43 +0000)]
[project @ 2004-04-21 08:43:43 by simonpj]
Fix the OSTYPE test for Cygwin, and comment

20 years ago[project @ 2004-04-18 10:47:25 by dons]
dons [Sun, 18 Apr 2004 10:47:25 +0000 (10:47 +0000)]
[project @ 2004-04-18 10:47:25 by dons]
Add amd64-unknown-openbsd to the list of supported platforms.

20 years ago[project @ 2004-04-18 10:44:45 by dons]
dons [Sun, 18 Apr 2004 10:44:45 +0000 (10:44 +0000)]
[project @ 2004-04-18 10:44:45 by dons]
i386-unknown-netbsd no longer refers to PCs running OpenBSD.
They are binary incompatible these days.

20 years ago[project @ 2004-04-18 09:36:51 by dons]
dons [Sun, 18 Apr 2004 09:36:51 +0000 (09:36 +0000)]
[project @ 2004-04-18 09:36:51 by dons]
Add OpenBSD/amd64 to the known x86_64's

20 years ago[project @ 2004-04-18 05:05:22 by dons]
dons [Sun, 18 Apr 2004 05:05:22 +0000 (05:05 +0000)]
[project @ 2004-04-18 05:05:22 by dons]
amd64 => x86_64
"x86_64" is what GHC has been calling this arch.

20 years ago[project @ 2004-04-18 02:37:27 by dons]
dons [Sun, 18 Apr 2004 02:37:27 +0000 (02:37 +0000)]
[project @ 2004-04-18 02:37:27 by dons]
Add amd64-unknown-openbsd

20 years ago[project @ 2004-04-16 02:02:44 by igloo]
igloo [Fri, 16 Apr 2004 02:02:44 +0000 (02:02 +0000)]
[project @ 2004-04-16 02:02:44 by igloo]
Change the mangler to allow a tab before .section on sparc. Fixes a
problem which shows up as symbols not being made global so not being
defined when compiling with gcc >= 3.something.

20 years ago[project @ 2004-04-13 13:51:20 by simonmar]
simonmar [Tue, 13 Apr 2004 13:51:20 +0000 (13:51 +0000)]
[project @ 2004-04-13 13:51:20 by simonmar]
Fix integer truncation

Subimitted by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, via
               Nicholas Nethercote <njn25@cam.ac.uk>

20 years ago[project @ 2004-04-13 13:43:11 by simonmar]
simonmar [Tue, 13 Apr 2004 13:43:11 +0000 (13:43 +0000)]
[project @ 2004-04-13 13:43:11 by simonmar]
merge rev. 1.173.2.21:

Fix bug in deleteAllThreads() - shouldn't throw away the contents of
the run queue, we still need to deal with those ThreadKilled threads.

20 years ago[project @ 2004-04-12 16:26:40 by panne]
panne [Mon, 12 Apr 2004 16:26:41 +0000 (16:26 +0000)]
[project @ 2004-04-12 16:26:40 by panne]
Fixed a long-standing buglet in the signatures of hs_free_stable_ptr
and hs_free_fun_ptr, both had a superfluous "*". Now everything
conforms to the FFI addendum.

20 years ago[project @ 2004-04-12 12:22:45 by panne]
panne [Mon, 12 Apr 2004 12:22:46 +0000 (12:22 +0000)]
[project @ 2004-04-12 12:22:45 by panne]
Synched with versions from autoconf 2.59

20 years ago[project @ 2004-04-07 12:17:09 by panne]
panne [Wed, 7 Apr 2004 12:17:09 +0000 (12:17 +0000)]
[project @ 2004-04-07 12:17:09 by panne]
A complete rewrite of ar-related tests:
* Modularized the tests
* Fixed (i.e. introduced :-) caching
* Made the test for support of "-input" more robust

20 years ago[project @ 2004-04-06 11:37:50 by simonpj]
simonpj [Tue, 6 Apr 2004 11:37:50 +0000 (11:37 +0000)]
[project @ 2004-04-06 11:37:50 by simonpj]
Buglet in desugaring TH syntax

20 years ago[project @ 2004-04-06 09:30:44 by simonpj]
simonpj [Tue, 6 Apr 2004 09:30:44 +0000 (09:30 +0000)]
[project @ 2004-04-06 09:30:44 by simonpj]
Document -fcontext-stack as static

20 years ago[project @ 2004-04-06 09:29:49 by simonpj]
simonpj [Tue, 6 Apr 2004 09:29:51 +0000 (09:29 +0000)]
[project @ 2004-04-06 09:29:49 by simonpj]
The "rebindable-syntax" stuff wasn't dealing with the new location
information correctly.  This commit fixes the problem, and thereby
makes mdofail004 work right.  Maybe others too.

20 years ago[project @ 2004-04-06 08:45:55 by simonpj]
simonpj [Tue, 6 Apr 2004 08:45:55 +0000 (08:45 +0000)]
[project @ 2004-04-06 08:45:55 by simonpj]
Revert to previous kind-check of for-alls, to avoid error message worsening

20 years ago[project @ 2004-04-05 11:14:29 by simonpj]
simonpj [Mon, 5 Apr 2004 11:14:30 +0000 (11:14 +0000)]
[project @ 2004-04-05 11:14:29 by simonpj]
Document :kind

20 years ago[project @ 2004-04-05 11:09:20 by simonpj]
simonpj [Mon, 5 Apr 2004 11:09:20 +0000 (11:09 +0000)]
[project @ 2004-04-05 11:09:20 by simonpj]
Wibble to :k

20 years ago[project @ 2004-04-05 11:04:12 by simonpj]
simonpj [Mon, 5 Apr 2004 11:04:12 +0000 (11:04 +0000)]
[project @ 2004-04-05 11:04:12 by simonpj]
import wibble

20 years ago[project @ 2004-04-05 10:53:52 by simonpj]
simonpj [Mon, 5 Apr 2004 10:53:52 +0000 (10:53 +0000)]
[project @ 2004-04-05 10:53:52 by simonpj]
Improve documentation about ambiguous types

20 years ago[project @ 2004-04-05 10:52:23 by simonpj]
simonpj [Mon, 5 Apr 2004 10:52:25 +0000 (10:52 +0000)]
[project @ 2004-04-05 10:52:23 by simonpj]
Remove the entirely-redundant location from the argument of
constructor HsPredTy,
    so that we have
HsPredTy HsType
    rather than
HsPredTy LHsType

20 years ago[project @ 2004-04-05 10:51:23 by simonpj]
simonpj [Mon, 5 Apr 2004 10:51:23 +0000 (10:51 +0000)]
[project @ 2004-04-05 10:51:23 by simonpj]
Remove redundant case-analysis for single-constructor case of gunfold

20 years ago[project @ 2004-04-05 10:50:24 by simonpj]
simonpj [Mon, 5 Apr 2004 10:50:29 +0000 (10:50 +0000)]
[project @ 2004-04-05 10:50:24 by simonpj]
Add :k(ind) command to ghci to find the kind of a type.
This works very, very similarly to :t(ype)

20 years ago[project @ 2004-04-05 10:35:11 by simonpj]
simonpj [Mon, 5 Apr 2004 10:35:14 +0000 (10:35 +0000)]
[project @ 2004-04-05 10:35:11 by simonpj]
In the derived code for gunfold, use a wild-card for the
final case, to avoid a redundant test, and to eliminate the
annoying warning about un-matched cases.

While I'm at it, rename HsUtils.wildPat to nlWildPat, for
consistency.

20 years ago[project @ 2004-04-05 10:26:28 by simonpj]
simonpj [Mon, 5 Apr 2004 10:26:28 +0000 (10:26 +0000)]
[project @ 2004-04-05 10:26:28 by simonpj]
Don't convert Exact RdrNames into Orig ones when comparing RdrNames.
This implicit conversion (via nukeExact) was making the carefully-distinct
RdrNames conjured up by Template Haskell into the same RdrName, and
that in turn was reporting duplicate bindings.

I'm not 100% certain that the implicit conversion isn't needed
for some other purpose, but it seems unclean anyway, so I'm removing
it, and we'll see if anything else breaks.

20 years ago[project @ 2004-04-05 10:11:34 by simonpj]
simonpj [Mon, 5 Apr 2004 10:11:34 +0000 (10:11 +0000)]
[project @ 2004-04-05 10:11:34 by simonpj]
Import trimming

20 years ago[project @ 2004-04-05 07:54:39 by simonpj]
simonpj [Mon, 5 Apr 2004 07:54:39 +0000 (07:54 +0000)]
[project @ 2004-04-05 07:54:39 by simonpj]
Fix parsing bug in new deriving stuff, which was killing the HEAD

20 years ago[project @ 2004-04-02 16:54:02 by simonpj]
simonpj [Fri, 2 Apr 2004 16:54:02 +0000 (16:54 +0000)]
[project @ 2004-04-02 16:54:02 by simonpj]
Another stage-2 wibble to last commit

20 years ago[project @ 2004-04-02 16:51:45 by simonpj]
simonpj [Fri, 2 Apr 2004 16:51:45 +0000 (16:51 +0000)]
[project @ 2004-04-02 16:51:45 by simonpj]
Wibble to last commit

20 years ago[project @ 2004-04-02 16:46:57 by simonpj]
simonpj [Fri, 2 Apr 2004 16:47:05 +0000 (16:47 +0000)]
[project @ 2004-04-02 16:46:57 by simonpj]
Extend the "newtype deriving" feature a little bit more
(at the request of Wolfgang Jeltsch)

Here's the example:
    class C a b
    instance C [a] Char
    newtype T = T Char deriving( C [a] )

Perfectly sensible, and no reason it should not work.
Fixing this required me to generalise the abstract syntax of
a 'deriving' item, hence the non-local effects.

20 years ago[project @ 2004-04-02 14:28:57 by simonmar]
simonmar [Fri, 2 Apr 2004 14:28:57 +0000 (14:28 +0000)]
[project @ 2004-04-02 14:28:57 by simonmar]
Some updates I've had sitting in my tree for a while:

  - when there are two logs only, print a summary table at the beginning
    of the output with columns for allocs, runtime, memory reads/writes, instrs.

  - handle multiple runs of each program, and average the results. (changes
    to nofib build system to follow).

20 years ago[project @ 2004-04-02 14:22:30 by simonmar]
simonmar [Fri, 2 Apr 2004 14:22:30 +0000 (14:22 +0000)]
[project @ 2004-04-02 14:22:30 by simonmar]
cachegrind: update command line syntax for recent versions of valgrind

20 years ago[project @ 2004-04-02 13:38:44 by simonpj]
simonpj [Fri, 2 Apr 2004 13:38:44 +0000 (13:38 +0000)]
[project @ 2004-04-02 13:38:44 by simonpj]
Document -fno-state-hack

20 years ago[project @ 2004-04-02 13:34:42 by simonpj]
simonpj [Fri, 2 Apr 2004 13:34:46 +0000 (13:34 +0000)]
[project @ 2004-04-02 13:34:42 by simonpj]
Add a flag -fno-state-hack, which switches off the "state hack".

It's claims that every function over realWorldStatePrimTy is a
one-shot function.  This is pretty true in practice, and makes a big
difference.  For example, consider
a `thenST` \ r -> ...E...
The early full laziness pass, if it doesn't know that r is one-shot
will pull out E (let's say it doesn't mention r) to give
let lvl = E in a `thenST` \ r -> ...lvl...
When `thenST` gets inlined, we end up with
let lvl = E in \s -> case a s of (r, s') -> ...lvl...
and we don't re-inline E.

20 years ago[project @ 2004-04-02 13:19:28 by simonpj]
simonpj [Fri, 2 Apr 2004 13:19:28 +0000 (13:19 +0000)]
[project @ 2004-04-02 13:19:28 by simonpj]
Get rid of DiscardedInfo, and fix a Ghci bug at the same time.

The new story is this:

- We always read the whole interface file, as it exists on disk,
  not dropping pragmas or anything.

- We compare that from-the-disk copy with the new version before
  writing the new interface file.

- We drop the pragmas
  a) Before loading the interface payload into the declaration pools
  b) In the no-need-to-recompile case, before typechecking the
interface decls.  Omitting this was the previous bug.

20 years ago[project @ 2004-04-02 13:16:07 by simonpj]
simonpj [Fri, 2 Apr 2004 13:16:09 +0000 (13:16 +0000)]
[project @ 2004-04-02 13:16:07 by simonpj]
* Improve error message for overlapping instances

* Improve handling of type-variable-only constraints like (Foo a).
  Previously we never looked them up in the instance envt, *except* if
  -fallow-undecideable-instances was on, because that allows
instance (...) => Foo a
  But -fallow-undecideable-instances might be on in the module with the
  instance decl, but off in the importing module.  Also it's really a per-class
  thing.  So now we just record in the instance env whether there are any such
  strange instances, a kind of short-cut for the lookup.

* Arrange that we are a bit more eager about resolving overloading in
  the case of existential pattern matching [George Russel suggestion]
  Here's the example (see comments in InstEnv)
-- The key_tys can contain skolem constants, and we can guarantee that those
-- are never going to be instantiated to anything, so we should not involve
-- them in the unification test.  Example:
-- class Foo a where { op :: a -> Int }
-- instance Foo a => Foo [a]  -- NB overlap
-- instance Foo [Int] -- NB overlap
--  data T = forall a. Foo a => MkT a
-- f :: T -> Int
-- f (MkT x) = op [x,x]
-- The op [x,x] means we need (Foo [a]).  Without the filterVarSet we'd
-- complain, saying that the choice of instance depended on the instantiation
-- of 'a'; but of course it isn't *going* to be instantiated.

20 years ago[project @ 2004-04-02 13:10:00 by simonpj]
simonpj [Fri, 2 Apr 2004 13:10:00 +0000 (13:10 +0000)]
[project @ 2004-04-02 13:10:00 by simonpj]
Fix erroneous hi-boot

20 years ago[project @ 2004-04-02 12:38:33 by simonpj]
simonpj [Fri, 2 Apr 2004 12:38:35 +0000 (12:38 +0000)]
[project @ 2004-04-02 12:38:33 by simonpj]
A preliminary step towards being able to identify existential
type variables separately.  That in turn helps when resolving
overloading; I think we want to resolve overloading without
worrying about what these type variables might instantiate to.

20 years ago[project @ 2004-04-02 12:04:13 by simonpj]
simonpj [Fri, 2 Apr 2004 12:04:13 +0000 (12:04 +0000)]
[project @ 2004-04-02 12:04:13 by simonpj]
wibble

20 years ago[project @ 2004-04-02 11:59:21 by simonpj]
simonpj [Fri, 2 Apr 2004 11:59:21 +0000 (11:59 +0000)]
[project @ 2004-04-02 11:59:21 by simonpj]
Comments mainly, plus use newTyConRhs

20 years ago[project @ 2004-04-02 11:57:49 by simonpj]
simonpj [Fri, 2 Apr 2004 11:57:49 +0000 (11:57 +0000)]
[project @ 2004-04-02 11:57:49 by simonpj]
Remove unused result from dropInline

20 years ago[project @ 2004-04-02 11:56:37 by simonpj]
simonpj [Fri, 2 Apr 2004 11:56:37 +0000 (11:56 +0000)]
[project @ 2004-04-02 11:56:37 by simonpj]
Comments

20 years ago[project @ 2004-04-02 11:55:34 by simonpj]
simonpj [Fri, 2 Apr 2004 11:55:34 +0000 (11:55 +0000)]
[project @ 2004-04-02 11:55:34 by simonpj]
Import wibbles

20 years ago[project @ 2004-04-02 02:39:26 by igloo]
igloo [Fri, 2 Apr 2004 02:39:29 +0000 (02:39 +0000)]
[project @ 2004-04-02 02:39:26 by igloo]
Add support for foreign imports inside quasi-quotes.
Gave TH a few more uniques to play with and fixed a typo.

20 years ago[project @ 2004-03-31 15:23:16 by simonmar]
simonmar [Wed, 31 Mar 2004 15:23:18 +0000 (15:23 +0000)]
[project @ 2004-03-31 15:23:16 by simonmar]
ClosureInfo.might_be_a_function: this predicate wasn't taking into
account abstract types, which might also hide functions underneath.

Fixes broken compiler when compiled without -O.

20 years ago[project @ 2004-03-30 15:32:59 by ralf]
ralf [Tue, 30 Mar 2004 15:32:59 +0000 (15:32 +0000)]
[project @ 2004-03-30 15:32:59 by ralf]
Removed derivation of fromConstr.
Added derivation of gunfold.
This avoids some hassle with bottoms and strict datatypes.

20 years ago[project @ 2004-03-30 10:33:04 by simonmar]
simonmar [Tue, 30 Mar 2004 10:33:04 +0000 (10:33 +0000)]
[project @ 2004-03-30 10:33:04 by simonmar]
Add an extensible-records FAQ

20 years ago[project @ 2004-03-27 09:57:57 by panne]
panne [Sat, 27 Mar 2004 09:57:58 +0000 (09:57 +0000)]
[project @ 2004-03-27 09:57:57 by panne]
Added the new-born haddock.js to the build process and the documentation.

20 years ago[project @ 2004-03-24 16:51:31 by simonmar]
simonmar [Wed, 24 Mar 2004 16:51:31 +0000 (16:51 +0000)]
[project @ 2004-03-24 16:51:31 by simonmar]
Add a FAQ about finalizers and stdout/stderr.

20 years ago[project @ 2004-03-24 10:50:34 by simonmar]
simonmar [Wed, 24 Mar 2004 10:50:35 +0000 (10:50 +0000)]
[project @ 2004-03-24 10:50:34 by simonmar]
-i on its own didn't delete the list of search paths as advertised.

20 years ago[project @ 2004-03-23 10:55:35 by simonmar]
simonmar [Tue, 23 Mar 2004 10:55:35 +0000 (10:55 +0000)]
[project @ 2004-03-23 10:55:35 by simonmar]
Remove GhcRtsThreaded - there's no reason to leave it in this file.

20 years ago[project @ 2004-03-23 10:48:41 by simonmar]
simonmar [Tue, 23 Mar 2004 10:48:41 +0000 (10:48 +0000)]
[project @ 2004-03-23 10:48:41 by simonmar]
Update docs for --enable-threaded-rts (now deprecated).

20 years ago[project @ 2004-03-23 10:04:18 by simonmar]
simonmar [Tue, 23 Mar 2004 10:04:18 +0000 (10:04 +0000)]
[project @ 2004-03-23 10:04:18 by simonmar]
Give the malloc functiosn the __malloc__ attribute, if available.
Helps with aliasing optimisations, apparently.

Submitted by: Duncan Coutts <duncan.coutts@worcester.oxford.ac.uk>

20 years ago[project @ 2004-03-23 10:03:18 by simonmar]
simonmar [Tue, 23 Mar 2004 10:03:18 +0000 (10:03 +0000)]
[project @ 2004-03-23 10:03:18 by simonmar]
Add GNUC3_ATTRIBUTE() macro

Submitted by: Duncan Coutts <duncan.coutts@worcester.oxford.ac.uk>

20 years ago[project @ 2004-03-23 09:15:54 by ralf]
ralf [Tue, 23 Mar 2004 09:15:54 +0000 (09:15 +0000)]
[project @ 2004-03-23 09:15:54 by ralf]
Version 6.3 is encoded as 603 not 630.
GHC builds fine again through both stages on my system.
Ralf

20 years ago[project @ 2004-03-22 11:55:39 by simonmar]
simonmar [Mon, 22 Mar 2004 11:55:39 +0000 (11:55 +0000)]
[project @ 2004-03-22 11:55:39 by simonmar]
Typo

20 years ago[project @ 2004-03-22 11:48:30 by simonmar]
simonmar [Mon, 22 Mar 2004 11:48:30 +0000 (11:48 +0000)]
[project @ 2004-03-22 11:48:30 by simonmar]
change this message:

   <prog>: GHC not built for -prof

to

   <prog>: not built for -prof

Suggested by: Sven Panne.

20 years ago[project @ 2004-03-22 11:06:18 by simonmar]
simonmar [Mon, 22 Mar 2004 11:06:18 +0000 (11:06 +0000)]
[project @ 2004-03-22 11:06:18 by simonmar]
Fix uninitialised ref.

Submitted by: Julian Seward (who else!)

20 years ago[project @ 2004-03-22 09:00:28 by ralf]
ralf [Mon, 22 Mar 2004 09:00:28 +0000 (09:00 +0000)]
[project @ 2004-03-22 09:00:28 by ralf]
Boot-strapping ghc revealed an issue related to yesterday's renaming
of Data.Typeable. I can now build a stage1 compiler again. Let me try
a stage2 one as well.

ralf        2004/03/21 11:06:04 PST

  Modified files:
    ghc/compiler/prelude PrelNames.lhs
    ghc/compiler/typecheck TcGenDeriv.lhs
  Log:
  Implemented renaming for Data.Typeable
  as far as deriving mechanism is involved.
  See http://www.haskell.org//pipermail/libraries/2004-March/001846.html

  Revision  Changes    Path
  1.88      +1 -1      fptools/ghc/compiler/prelude/PrelNames.lhs
  1.107     +1 -1      fptools/ghc/compiler/typecheck/TcGenDeriv.lhs

20 years ago[project @ 2004-03-21 19:06:01 by ralf]
ralf [Sun, 21 Mar 2004 19:06:03 +0000 (19:06 +0000)]
[project @ 2004-03-21 19:06:01 by ralf]
Implemented renaming for Data.Typeable
as far as deriving mechanism is involved.
See http://www.haskell.org//pipermail/libraries/2004-March/001846.html