ghc-hetmet.git
19 years ago[project @ 2004-06-05 21:55:51 by panne]
panne [Sat, 5 Jun 2004 21:55:51 +0000 (21:55 +0000)]
[project @ 2004-06-05 21:55:51 by panne]
"make dvi ps html" in $(TOP) builds *all* documentation now

19 years ago[project @ 2004-06-05 21:48:41 by panne]
panne [Sat, 5 Jun 2004 21:48:41 +0000 (21:48 +0000)]
[project @ 2004-06-05 21:48:41 by panne]
* Added list of current committers
* Slight change of description

19 years ago[project @ 2004-06-05 18:01:00 by panne]
panne [Sat, 5 Jun 2004 18:01:01 +0000 (18:01 +0000)]
[project @ 2004-06-05 18:01:00 by panne]
More rpm spec file cleanup, including:
* added some BuildRequires
* changed packager to me, so people can complain at the right place :-]
* consistently refer to haskell.org instead of www.haskell.org

19 years ago[project @ 2004-06-05 13:17:56 by panne]
panne [Sat, 5 Jun 2004 13:17:56 +0000 (13:17 +0000)]
[project @ 2004-06-05 13:17:56 by panne]
ffi-art is dead, Jim...

19 years ago[project @ 2004-06-04 06:51:01 by panne]
panne [Fri, 4 Jun 2004 06:51:01 +0000 (06:51 +0000)]
[project @ 2004-06-04 06:51:01 by panne]
ANSIfication (from Ralf Wildenhues)

19 years ago[project @ 2004-06-02 09:23:43 by panne]
panne [Wed, 2 Jun 2004 09:23:43 +0000 (09:23 +0000)]
[project @ 2004-06-02 09:23:43 by panne]
Extremely strange: Some backend emit an ugly trailing ">" when "xref" is an
empty element, but none when only a start tag is used. *sigh* So let's revert
this part of the changes for now...

19 years ago[project @ 2004-06-02 09:17:51 by panne]
panne [Wed, 2 Jun 2004 09:17:51 +0000 (09:17 +0000)]
[project @ 2004-06-02 09:17:51 by panne]
* Fixed some "screen" vs. "programlisting"

* Don't use leading spaces in verbatim elements just for formatting purposes

* Be extremely cautious with whitespace in verbatim elements to avoid strange
  empty leading/trailing lines. More investigation needed what's really going on
  here, this shouldn't be necessary...

19 years ago[project @ 2004-06-02 08:53:54 by panne]
panne [Wed, 2 Jun 2004 08:53:54 +0000 (08:53 +0000)]
[project @ 2004-06-02 08:53:54 by panne]
Make the Building Guide almost valid DocBook XML V4.2 (to get the real thing,
simply add an XML prolog and change "artheader" to "articleinfo"). Things that
had to be changed:

 * XML tags are case-sensitive, so lowercase must be used for tags/attributes

 * Make "xref" an empty element.

 * "constant" is not allowed within "filename"

 * Move "indexterm" to a valid place.

 * Change some "&" to "&"

 * The "_" character in titles makes some trouble in the TeX backend => avoid it

19 years ago[project @ 2004-06-02 08:25:10 by simonpj]
simonpj [Wed, 2 Jun 2004 08:25:15 +0000 (08:25 +0000)]
[project @ 2004-06-02 08:25:10 by simonpj]
-----------------------------------------------
       Record whether data constructors are declared infix
-----------------------------------------------

This allows us to generate the InfixC form in Template Hasekll.
And for 'deriving' Read and Show, we now read and parse the infix
form iff the constructor was declared infix, rather than just if
it does not have the default fixity (as before).

IfaceSyn changes slightly, so that IfaceConDecl can record their
fixity, so there are trivial changes scattered about, and
you'll need to recompile everything.

In TysWiredIn I took the opportunity to simplify pcDataCon slightly,
by eliminating the unused Theta argument.

19 years ago[project @ 2004-06-02 08:23:43 by simonpj]
simonpj [Wed, 2 Jun 2004 08:23:46 +0000 (08:23 +0000)]
[project @ 2004-06-02 08:23:43 by simonpj]
-------------------------------
Fix a grevious bug in DsMeta
which caused a seg fault
-------------------------------

The bug was an incorrectly declared type for one of the Template
Haskell construction functions in DsMeta (repRecCon, repRecUpd)
and some associated jiggery pokery.

-dcore-lint showed it up nicely, because the desugarer generated
ill-typed code.

DsMeta PrelNames TH.Lib

19 years ago[project @ 2004-06-02 08:09:58 by simonpj]
simonpj [Wed, 2 Jun 2004 08:09:58 +0000 (08:09 +0000)]
[project @ 2004-06-02 08:09:58 by simonpj]
Comments only

19 years ago[project @ 2004-06-01 23:22:30 by igloo]
igloo [Tue, 1 Jun 2004 23:22:33 +0000 (23:22 +0000)]
[project @ 2004-06-01 23:22:30 by igloo]
Add missing functions to TH export list (mostly spotted by Duncan Coutts).

Update TH test output.

Add TH support for patterns with type signatures, and test for same
(requested by Isaac Jones).

Add TH support for pattern guards, and tests for same
(requested by Isaac Jones).

Add infix patterns to TH datatypes.

Added Lift instances for 2- to 7-tuples (requested by Duncan Coutts).

19 years ago[project @ 2004-05-27 16:13:59 by simonmar]
simonmar [Thu, 27 May 2004 16:13:59 +0000 (16:13 +0000)]
[project @ 2004-05-27 16:13:59 by simonmar]
Change the 'can't load package' message from a panic to an ordinary
error.

19 years ago[project @ 2004-05-27 15:21:37 by simonmar]
simonmar [Thu, 27 May 2004 15:21:37 +0000 (15:21 +0000)]
[project @ 2004-05-27 15:21:37 by simonmar]
Remove part of previous patch which was for debugging only.

19 years ago[project @ 2004-05-27 15:18:31 by simonmar]
simonmar [Thu, 27 May 2004 15:18:31 +0000 (15:18 +0000)]
[project @ 2004-05-27 15:18:31 by simonmar]
Fix a nasty bug: when saving errno in the TSO after running a thread,
beware that the TSO might have moved, e.g. if the thread made a safe
foreign call in the threaded RTS and a GC happened.

We have to grab the new location of the TSO *before* saving errno.

MERGE TO STABLE

This was the most interesting bug hunt I've had in a while.  The crash
only showed up in about 1 in 4 runs of a program with 1000 Haskell
threads, running on the threaded RTS.  To make things worse, gdb
doesn't support watchpoints in programs with multiple threads... :-/

19 years ago[project @ 2004-05-27 09:29:28 by simonmar]
simonmar [Thu, 27 May 2004 09:29:29 +0000 (09:29 +0000)]
[project @ 2004-05-27 09:29:28 by simonmar]
Make getAllocations() return an Int64 to avoid Int overflow.

19 years ago[project @ 2004-05-25 09:06:38 by simonpj]
simonpj [Tue, 25 May 2004 09:06:38 +0000 (09:06 +0000)]
[project @ 2004-05-25 09:06:38 by simonpj]
-----------------------------------------------
Decent error on re-use of built-in syntax
-----------------------------------------------

Make the renamer complain nicely on stupid stuff like

data T = []

(except in the Prelude, of course!)

19 years ago[project @ 2004-05-25 08:09:37 by simonpj]
simonpj [Tue, 25 May 2004 08:09:42 +0000 (08:09 +0000)]
[project @ 2004-05-25 08:09:37 by simonpj]
-----------------------------------------------
Improve location info on unused-import warnings
-----------------------------------------------

Improving the location involves plumbing the location of the import a bit
more assiduously -- hence change to imp_mods in TcRnTypes

19 years ago[project @ 2004-05-24 09:13:21 by simonmar]
simonmar [Mon, 24 May 2004 09:13:21 +0000 (09:13 +0000)]
[project @ 2004-05-24 09:13:21 by simonmar]
Comment update

19 years ago[project @ 2004-05-24 08:35:41 by simonmar]
simonmar [Mon, 24 May 2004 08:35:41 +0000 (08:35 +0000)]
[project @ 2004-05-24 08:35:41 by simonmar]
Mention that ordering is important on the GHCi command line

19 years ago[project @ 2004-05-24 02:49:07 by dons]
dons [Mon, 24 May 2004 02:49:07 +0000 (02:49 +0000)]
[project @ 2004-05-24 02:49:07 by dons]
spelling mistake in comment only

19 years ago[project @ 2004-05-22 12:27:38 by panne]
panne [Sat, 22 May 2004 12:27:38 +0000 (12:27 +0000)]
[project @ 2004-05-22 12:27:38 by panne]
Reverse the order in which DLLs are loaded. This makes more sense in general and
should fix the trouble with the broken OpenGL libs on Gentoo. This fix has been
tested on x86 Linux, but reports from other platforms (WinDoze, MacOS X, ...)
are highly welcome, dynamic linking is quite platform-specific and surprising
things can happen from time to time...

Merge to STABLE when tested on other platforms

19 years ago[project @ 2004-05-22 01:43:37 by dons]
dons [Sat, 22 May 2004 01:43:37 +0000 (01:43 +0000)]
[project @ 2004-05-22 01:43:37 by dons]
Add x86_64-*-openbsd* as synonym for amd64-*-openbsd.

Which one you get depends on which config.sub we have, and newer
(2004-*) config.subs normalise all amd64s to x86_64s.

19 years ago[project @ 2004-05-21 13:28:59 by simonmar]
simonmar [Fri, 21 May 2004 13:28:59 +0000 (13:28 +0000)]
[project @ 2004-05-21 13:28:59 by simonmar]
Fix yet another bug in the THUNK_SELECTOR code.  Interestingly, I
spotted this one earlier but left a ToDo in the code rather than
fixing it (I think I wasn't sure whether it could happen or not).

The bug is to close another another way that eval_thunk_selector()
could return a pointer into to-space.  See comments for details.

19 years ago[project @ 2004-05-21 09:25:03 by geoffw]
geoffw [Fri, 21 May 2004 09:25:03 +0000 (09:25 +0000)]
[project @ 2004-05-21 09:25:03 by geoffw]
mingw/msys fix: keep .lcomm directives

19 years ago[project @ 2004-05-20 07:15:47 by mthomas]
mthomas [Thu, 20 May 2004 07:15:49 +0000 (07:15 +0000)]
[project @ 2004-05-20 07:15:47 by mthomas]
Install MinGW32 gcc and perl.

19 years ago[project @ 2004-05-19 08:46:21 by simonpj]
simonpj [Wed, 19 May 2004 08:46:21 +0000 (08:46 +0000)]
[project @ 2004-05-19 08:46:21 by simonpj]
Improve error reporting for static flags

19 years ago[project @ 2004-05-18 07:53:34 by mthomas]
mthomas [Tue, 18 May 2004 07:53:34 +0000 (07:53 +0000)]
[project @ 2004-05-18 07:53:34 by mthomas]
Windows make install sees an eagle.  It's heart aches - one day it will soar.

19 years ago[project @ 2004-05-15 15:35:47 by dons]
dons [Sat, 15 May 2004 15:35:47 +0000 (15:35 +0000)]
[project @ 2004-05-15 15:35:47 by dons]
Enable GHCi on OpenBSD
     1. fix dlopen(NULL, ..) not working
     2. set USE_MMAP to overcome malloc'd memory not being executable

19 years ago[project @ 2004-05-12 13:01:30 by simonpj]
simonpj [Wed, 12 May 2004 13:01:30 +0000 (13:01 +0000)]
[project @ 2004-05-12 13:01:30 by simonpj]
Tidy-up only; behaviour unchanged

19 years ago[project @ 2004-05-12 12:55:12 by simonpj]
simonpj [Wed, 12 May 2004 12:55:12 +0000 (12:55 +0000)]
[project @ 2004-05-12 12:55:12 by simonpj]
---------------------------------
Another delicate fix to the way that the
Dreaded Monomorpism Restriction is handled
---------------------------------

     I think this should merge nicely to the STABLE branch

In TcSimplify 1.130 I changed tcSimplifyRestricted (used for
declarations that fall under the monomorphism restriction) to use Plan
C.  Unfortunately, it later transpired that George Russel and Serge
Mechveliani both made somewhat-dubious use of overlapping instances
that conflicted with this change. Here's the example

  instance (HasBinary ty IO) => HasCodedValue ty

  foo :: HasCodedValue a => String -> IO a

  doDecodeIO :: HasCodedValue a => () -> () -> IO a
  doDecodeIO codedValue view = let { act = foo "" } in  act

You might think this should work becuase the call to 'foo' in the last
line gives rise to a constraint (HasCodedValue t), which can be
satisfied by the type sig for doDecodeIO.  But the restricted binding
act = ... calls tcSimplifyRestricted, and Plan C simplifies the
constraint using the (rather bogus) instance declaration, and now we
are stuffed.

This commit implements Plan D, which is like plan B except that it does no
improvement, and hence avoids plan B's flaw.  See the comments with Plan D.

The only criticism one might make of Plan D is that it may sometimes quantify
a restricted binding over "too few" type variables; but one can solve that
by adding a type sig.  So this seems better than the very subtle problems
with Plan C.

All of this is very much at the margin: George and Sergey are pushing
their luck.

19 years ago[project @ 2004-05-11 18:36:10 by panne]
panne [Tue, 11 May 2004 18:36:10 +0000 (18:36 +0000)]
[project @ 2004-05-11 18:36:10 by panne]
Make the printing of samples really locale-independent

19 years ago[project @ 2004-05-11 11:40:59 by simonmar]
simonmar [Tue, 11 May 2004 11:41:00 +0000 (11:41 +0000)]
[project @ 2004-05-11 11:40:59 by simonmar]
Nuke old version of the FFI spec

19 years ago[project @ 2004-05-10 11:53:41 by simonmar]
simonmar [Mon, 10 May 2004 11:53:41 +0000 (11:53 +0000)]
[project @ 2004-05-10 11:53:41 by simonmar]
Fix mishandling of the BF_COMPACTED flag, which could lead to problems
when using the compacting collector (+RTS -c, or +RTS -M<size>).  In
fact, I'm not sure how it worked at all.

MERGE TO STABLE

19 years ago[project @ 2004-05-10 10:26:07 by simonmar]
simonmar [Mon, 10 May 2004 10:26:07 +0000 (10:26 +0000)]
[project @ 2004-05-10 10:26:07 by simonmar]
Hack to generate correct dependencies for the RTS.  We now #define
PROFILING, THREADED_RTS and DEBUG when generating dependencies so that
we get (hopefully) a superset of all the deps.

19 years ago[project @ 2004-05-10 10:05:34 by simonmar]
simonmar [Mon, 10 May 2004 10:05:34 +0000 (10:05 +0000)]
[project @ 2004-05-10 10:05:34 by simonmar]
In multiple declaration errors, give the location of one of the
declarations as the location of the error message, instead of the
top-level of the file.

19 years ago[project @ 2004-05-09 14:38:13 by panne]
panne [Sun, 9 May 2004 14:38:13 +0000 (14:38 +0000)]
[project @ 2004-05-09 14:38:13 by panne]
Documentation typos

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)