wolfgang [Wed, 18 May 2005 04:02:39 +0000 (04:02 +0000)]
[project @ 2005-05-18 04:02:39 by wolfgang]
Use constructor functions instead of stginit functions on Win32, too.
(stginit functions are still used for profiling)
wolfgang [Wed, 18 May 2005 03:54:47 +0000 (03:54 +0000)]
[project @ 2005-05-18 03:54:47 by wolfgang]
Make the Windows version of the Linker ignore constructors rather than abort
(just as it does on other platforms)
simonmar [Tue, 17 May 2005 15:03:38 +0000 (15:03 +0000)]
[project @ 2005-05-17 15:03:38 by simonmar]
more import fixing
simonmar [Tue, 17 May 2005 14:55:46 +0000 (14:55 +0000)]
[project @ 2005-05-17 14:55:46 by simonmar]
import fix
simonmar [Tue, 17 May 2005 13:47:39 +0000 (13:47 +0000)]
[project @ 2005-05-17 13:47:39 by simonmar]
closureDescription: remove duplicate module name for external names,
and include the unique for local names. This makes profiling with -hd
more uesful.
simonmar [Tue, 17 May 2005 13:06:15 +0000 (13:06 +0000)]
[project @ 2005-05-17 13:06:15 by simonmar]
remove duplicate export
simonmar [Tue, 17 May 2005 13:05:45 +0000 (13:05 +0000)]
[project @ 2005-05-17 13:05:45 by simonmar]
Add showSDocDump
simonmar [Tue, 17 May 2005 12:34:13 +0000 (12:34 +0000)]
[project @ 2005-05-17 12:34:13 by simonmar]
Build thr_debug by default
simonmar [Tue, 17 May 2005 12:22:37 +0000 (12:22 +0000)]
[project @ 2005-05-17 12:22:37 by simonmar]
Profiling: the type_descr and closure_descr were the wrong way around,
so +RTS -hy behaves like +RTS -hd, and vice-versa. How on earth that
happened I have no idea.
simonmar [Tue, 17 May 2005 12:00:04 +0000 (12:00 +0000)]
[project @ 2005-05-17 12:00:04 by simonmar]
Improve source locations on error messages from the downsweep. We now
keep track of SrcSpans from import declarations, so we can report a
proper source location for unknown imports (this improves on the
previous hacky solution of keeping track of the filename that
contained the original import declaration).
ModSummary now contains (Located Module) for each import instead of Module.
simonmar [Tue, 17 May 2005 11:02:00 +0000 (11:02 +0000)]
[project @ 2005-05-17 11:01:59 by simonmar]
Further tweaks to the filename handling.
simonmar [Tue, 17 May 2005 10:51:05 +0000 (10:51 +0000)]
[project @ 2005-05-17 10:51:04 by simonmar]
Rationalise the filename handling in a few places, taking some bits
from the defunct System.FilePath library. Also fixes a bug I recently
introduced in replaceFilenameDirectory.
krasimir [Tue, 17 May 2005 09:48:27 +0000 (09:48 +0000)]
[project @ 2005-05-17 09:48:27 by krasimir]
Use runProcess instead of system if the former is available and we would like
to redirect stdout of the new process. system is unsafe if you have spaces
in the file path or you have / instead of \ on Windows.
simonmar [Tue, 17 May 2005 09:46:22 +0000 (09:46 +0000)]
[project @ 2005-05-17 09:46:22 by simonmar]
replaceFilenameSuffix: fix
simonmar [Tue, 17 May 2005 09:40:51 +0000 (09:40 +0000)]
[project @ 2005-05-17 09:40:51 by simonmar]
Add modInfoInstances
simonmar [Tue, 17 May 2005 09:21:53 +0000 (09:21 +0000)]
[project @ 2005-05-17 09:21:53 by simonmar]
More commentary
simonmar [Tue, 17 May 2005 08:48:28 +0000 (08:48 +0000)]
[project @ 2005-05-17 08:48:28 by simonmar]
expand comment
simonmar [Tue, 17 May 2005 07:49:47 +0000 (07:49 +0000)]
[project @ 2005-05-17 07:49:47 by simonmar]
Bugfix to previous commit: filenames without an extension are assumed
to be a haskell source filenames with the extension removed (eg. ghc
--make hello should compile hello.hs).
simonmar [Tue, 17 May 2005 07:48:20 +0000 (07:48 +0000)]
[project @ 2005-05-17 07:48:20 by simonmar]
small cleanup: use joinFileExt
simonmar [Mon, 16 May 2005 14:40:06 +0000 (14:40 +0000)]
[project @ 2005-05-16 14:40:06 by simonmar]
document +RTS -I
simonmar [Mon, 16 May 2005 14:39:54 +0000 (14:39 +0000)]
[project @ 2005-05-16 14:39:54 by simonmar]
Set BINDIST_DOC_WAYS appropriately depending on which doc-building
tools are available. The default is to build all of html, ps & pdf if
possible.
simonmar [Mon, 16 May 2005 14:27:08 +0000 (14:27 +0000)]
[project @ 2005-05-16 14:27:07 by simonmar]
Allow the amount of idle time which must pass before we force a major
GC to be configured at runtime with the +RTS -I<secs> option.
The idle GC only happens in the threaded RTS, and it is useful because
it can make finalizers run more promptly, and also detect cases of
deadlock. Without the idle GC, Haskell computation must be taking
place in order for finalizers to run or deadlock to be detected, and
the only way some Haskell computation can take place is usually by
in-calls.
+RTS -I0 turns off the idle GC, the default is +RTS -I0.3.
We might need to add more tuning if it turns out that the idle GC is
problematic, for example we don't check how long the GC actually took,
and we should probably back off if major GCs are taking too long and
adversely affecting interactive responsiveness.
simonmar [Mon, 16 May 2005 13:47:58 +0000 (13:47 +0000)]
[project @ 2005-05-16 13:47:57 by simonmar]
Implement -x <suffix> flag to override the suffix of a filename for
the purposes of determinig how it should be compiled. The usage is
similar to gcc, except that we just use a suffix rather than a name
for the language. eg.
ghc -c -x hs hello.blah
will pretend hello.blah is a .hs file. Another possible use is -x
hspp, which skips preprocessing.
This works for one-shot compilation, --make, GHCi, and ghc -e. The
original idea was to make it possible to use runghc on a file that
doesn't end in .hs, so changes to runghc will follow.
Also, I made it possible to specify .c files and other kinds of files
on the --make command line; these will be compiled to objects as
normal and linked into the final executable.
GHC API change: I had to extend the Target type to include an optional
start phase, and also GHC.guessTarget now takes a (Maybe Phase) argument.
I thought this would be half an hour, in fact it took half a day, and
I still haven't documented it. Sigh.
krasimir [Mon, 16 May 2005 13:21:11 +0000 (13:21 +0000)]
[project @ 2005-05-16 13:21:11 by krasimir]
added modInfoIsExportedName & modInfoLookupName functions
simonpj [Mon, 16 May 2005 12:40:14 +0000 (12:40 +0000)]
[project @ 2005-05-16 12:40:14 by simonpj]
Better debug-printing for -ddump-inlinings
simonpj [Mon, 16 May 2005 12:39:55 +0000 (12:39 +0000)]
[project @ 2005-05-16 12:39:55 by simonpj]
Dont print result type for Core case-expressions (too voluminous)
simonpj [Mon, 16 May 2005 12:39:15 +0000 (12:39 +0000)]
[project @ 2005-05-16 12:39:15 by simonpj]
Add assertions (only)
simonpj [Mon, 16 May 2005 12:38:38 +0000 (12:38 +0000)]
[project @ 2005-05-16 12:38:38 by simonpj]
Newtype representation
Merge to STABLE
This commit fixes a long-standing bug (simple clerical error) in mkNewTyConRep,
which for some reason had gone un-discovered for years.
tc183 tests it.
simonmar [Mon, 16 May 2005 09:24:53 +0000 (09:24 +0000)]
[project @ 2005-05-16 09:24:53 by simonmar]
- re-initalise cap on returning from STG land, because we might now
have a different capability. ToDo: we should pass it back somehow,
rather than looking it up in the hash table
- export unblockOneLocked (we'll need this later)
wolfgang [Sun, 15 May 2005 03:20:29 +0000 (03:20 +0000)]
[project @ 2005-05-15 03:20:29 by wolfgang]
Reinstate __stginit_Foo functions even when they don't do anything, because
they are part of the documented interface (as discussed on cvs-ghc, Apr 26).
wolfgang [Sun, 15 May 2005 02:46:27 +0000 (02:46 +0000)]
[project @ 2005-05-15 02:46:27 by wolfgang]
Clean up things by making PicBaseReg a constructor of GlobalReg instead
of CmmExpr.
panne [Sat, 14 May 2005 13:34:11 +0000 (13:34 +0000)]
[project @ 2005-05-14 13:34:11 by panne]
Include Cabal documentation in the RPM
panne [Sat, 14 May 2005 09:59:32 +0000 (09:59 +0000)]
[project @ 2005-05-14 09:59:32 by panne]
Fixed previous commit
krasimir [Fri, 13 May 2005 15:06:13 +0000 (15:06 +0000)]
[project @ 2005-05-13 15:06:13 by krasimir]
replace emptyNodeMap with old_summary_map.
simonmar [Fri, 13 May 2005 14:28:59 +0000 (14:28 +0000)]
[project @ 2005-05-13 14:28:59 by simonmar]
gcc 4.0.0 fix: don't declare static total_prof_ticks as extern
simonmar [Fri, 13 May 2005 14:27:56 +0000 (14:27 +0000)]
[project @ 2005-05-13 14:27:56 by simonmar]
gcc 4.0.0 fix: don't declare static static_objects as extern
simonmar [Fri, 13 May 2005 14:27:09 +0000 (14:27 +0000)]
[project @ 2005-05-13 14:27:09 by simonmar]
gcc 4.0.0 fix: avoid casted expression as lvalue
simonmar [Fri, 13 May 2005 10:59:28 +0000 (10:59 +0000)]
[project @ 2005-05-13 10:59:28 by simonmar]
Add undocumented :check command, for testing GHC.checkModule
simonmar [Fri, 13 May 2005 10:58:10 +0000 (10:58 +0000)]
[project @ 2005-05-13 10:58:10 by simonmar]
Add debug_s way
simonmar [Fri, 13 May 2005 10:18:35 +0000 (10:18 +0000)]
[project @ 2005-05-13 10:18:35 by simonmar]
Export nameModule
krasimir [Fri, 13 May 2005 10:05:33 +0000 (10:05 +0000)]
[project @ 2005-05-13 10:05:32 by krasimir]
Fixed install-docs
simonmar [Fri, 13 May 2005 09:39:00 +0000 (09:39 +0000)]
[project @ 2005-05-13 09:39:00 by simonmar]
summariseFile: use a cached summary if one is available. Previously
we always preprocessed modules named by filename on each reload.
dons [Fri, 13 May 2005 01:46:20 +0000 (01:46 +0000)]
[project @ 2005-05-13 01:46:20 by dons]
Have SplitObjs=YES by default only on i386, powerpc and sparc.
Lowers the barrier to porting just a little.
simonpj [Thu, 12 May 2005 16:51:03 +0000 (16:51 +0000)]
[project @ 2005-05-12 16:51:03 by simonpj]
Fix bad interaction between operators and higher-rank types
Fixes Source bug #1200592 [GHC fails to pass dictionary in a rank-2 situation]
Merge to STABLE
simonmar [Thu, 12 May 2005 16:27:00 +0000 (16:27 +0000)]
[project @ 2005-05-12 16:27:00 by simonmar]
A start on a commentary section about the threaded/SMP runtime. This
will replace the old section which is a bit out of date now.
chak [Thu, 12 May 2005 12:55:32 +0000 (12:55 +0000)]
[project @ 2005-05-12 12:55:32 by chak]
Added a new section that describes GHC's hybrid type representation
`TypeRep.Type' and it's friends. This sufficiently subtle and GHC-specific
that it warrants extra treatment outside of the section on type checking.
stolz [Thu, 12 May 2005 11:36:50 +0000 (11:36 +0000)]
[project @ 2005-05-12 11:36:50 by stolz]
C89ify recent change
simonmar [Thu, 12 May 2005 11:11:58 +0000 (11:11 +0000)]
[project @ 2005-05-12 11:11:58 by simonmar]
SMP: we need to assign the result of resumeThread to BaseReg, because
we might now have a new Capability. (this was an interesting bug to find...)
simonmar [Thu, 12 May 2005 10:32:40 +0000 (10:32 +0000)]
[project @ 2005-05-12 10:32:40 by simonmar]
Declare checkNurserySanity()
simonmar [Thu, 12 May 2005 10:03:42 +0000 (10:03 +0000)]
[project @ 2005-05-12 10:03:42 by simonmar]
Fix more bugginess in allocateLocal().
simonmar [Wed, 11 May 2005 12:52:05 +0000 (12:52 +0000)]
[project @ 2005-05-11 12:52:05 by simonmar]
Another large block fix.
simonmar [Wed, 11 May 2005 12:45:55 +0000 (12:45 +0000)]
[project @ 2005-05-11 12:45:55 by simonmar]
allocating a large block: bump the block count on the nursery step,
rather than the global alloc_blocks counter. Also, change the
heap-full check to be "nursery full" rather than
alloc_blocks>=alloc_blocks_lim.
simonmar [Wed, 11 May 2005 12:44:26 +0000 (12:44 +0000)]
[project @ 2005-05-11 12:44:26 by simonmar]
allocateLocal(): bump the block count on the step, not the global
alloc_blocks count.
simonmar [Wed, 11 May 2005 12:43:48 +0000 (12:43 +0000)]
[project @ 2005-05-11 12:43:48 by simonmar]
SMP: add a missing insertHashTable()
simonmar [Wed, 11 May 2005 09:51:50 +0000 (09:51 +0000)]
[project @ 2005-05-11 09:51:50 by simonmar]
restore rev. 1.189, which appears to have been spammed in
rev. 1.190 (my fault, by the looks of it).
simonmar [Wed, 11 May 2005 09:09:03 +0000 (09:09 +0000)]
[project @ 2005-05-11 09:09:03 by simonmar]
Fix double-linking bug in new allocateLocal(), and fix one warning
sof [Wed, 11 May 2005 00:31:11 +0000 (00:31 +0000)]
[project @ 2005-05-11 00:31:11 by sof]
ocResolve_PEi386(): updated comment re: REL32/DISP32 relocations
simonmar [Tue, 10 May 2005 13:25:43 +0000 (13:25 +0000)]
[project @ 2005-05-10 13:25:41 by simonmar]
Two SMP-related changes:
- New storage manager interface:
bdescr *allocateLocal(StgRegTable *reg, nat words)
which allocates from the current thread's nursery (being careful
not to clash with the heap pointer). It can do this without
taking any locks; the lock only has to be taken if a block needs
to be allocated. allocateLocal() is now used instead of allocate()
in a few PrimOps.
This removes locks from most Integer operations, cutting down
the overhead for SMP a bit more.
To make this work, we have to be able to grab the current thread's
Capability out of thin air (i.e. when called from GMP), so the
Capability subsystem needs to keep a hash from thread IDs to
Capabilities.
- Small MVar optimisation: instead of taking the global
storage-manager lock, do our own locking of MVars with a bit of
inline assembly (x86 only for now).
simonmar [Tue, 10 May 2005 10:41:00 +0000 (10:41 +0000)]
[project @ 2005-05-10 10:41:00 by simonmar]
Mangler support for GNU/Hurd.
From: Thomas Schwinge
simonmar [Tue, 10 May 2005 10:35:57 +0000 (10:35 +0000)]
[project @ 2005-05-10 10:35:57 by simonmar]
Add -I options to SRC_CC_OPTS for bootstrapping
From: Thomas Schwinge
simonmar [Tue, 10 May 2005 10:29:49 +0000 (10:29 +0000)]
[project @ 2005-05-10 10:29:49 by simonmar]
Bootstrap fix from GNU/Hurd port
From: Thomas Schwinge
simonmar [Tue, 10 May 2005 10:27:20 +0000 (10:27 +0000)]
[project @ 2005-05-10 10:27:20 by simonmar]
GNU/Hurd platform (from Thomas Schwinge
<schwinge-list-ghc-users@nic-nac-project.de>)
simonmar [Tue, 10 May 2005 10:08:50 +0000 (10:08 +0000)]
[project @ 2005-05-10 10:08:50 by simonmar]
-ignore-package lang if GHC >= 6.3, fixes build breakage if wxHaskell
is installed.
chak [Mon, 9 May 2005 13:25:07 +0000 (13:25 +0000)]
[project @ 2005-05-09 13:25:07 by chak]
More details about type checking.
simonmar [Mon, 9 May 2005 10:18:05 +0000 (10:18 +0000)]
[project @ 2005-05-09 10:18:05 by simonmar]
printAllThreads: handle ThreadRelocated
simonmar [Mon, 9 May 2005 10:10:33 +0000 (10:10 +0000)]
[project @ 2005-05-09 10:10:33 by simonmar]
deleteAllThreads: handle ThreadRelocated
simonmar [Mon, 9 May 2005 09:00:04 +0000 (09:00 +0000)]
[project @ 2005-05-09 09:00:04 by simonmar]
ProjectPatchLevel hack: the STABLE branch versions now look like
6.4.1.
20050508 which confuses the compiler which thinks
ProjectPatchLevel should be an Int.
wolfgang [Sat, 7 May 2005 17:28:05 +0000 (17:28 +0000)]
[project @ 2005-05-07 17:28:05 by wolfgang]
GCC 4.0 Fix: Do not emit lvalue casts for foreign calls.
Note: This fix might break cmm code that directly assigns the result
of a foreign call to a "strange type" register (but we don't do that).
MERGE TO STABLE
josefs [Sat, 7 May 2005 12:17:01 +0000 (12:17 +0000)]
[project @ 2005-05-07 12:17:01 by josefs]
Allow unicode in string and character literals when pretty printing
external core.
simonpj [Fri, 6 May 2005 11:06:14 +0000 (11:06 +0000)]
[project @ 2005-05-06 11:06:14 by simonpj]
Rule overlap message should be only in ifdef DEBUG
sof [Fri, 6 May 2005 00:30:57 +0000 (00:30 +0000)]
[project @ 2005-05-06 00:30:56 by sof]
[mingw only]
Work around bug in win32 Console API which showed up in the GHCi UI:
if the user typed in characters prior to the appearance of the prompt,
the first of these characters always came out as a 'g'. The GHCi UI does
for good reasons one-character reads from 'stdin', which causes the
underlying APIs to become confused. A simple repro case is the following
piece of C code:
/*----------------------*/
#include <stdio.h>
#include <windows.h>
int main()
{
char ch1,ch2;
HANDLE hStdIn = GetStdHandle(STD_INPUT_HANDLE);
DWORD dw;
/* Type in some characters before the prompt appears and be amused.. */
sleep(1000); printf("? ");
ReadConsoleA(hStdIn,&ch1,1,&dw,NULL);
ReadConsoleA(hStdIn,&ch2,1,&dw,NULL);
/* or, if you want to use libc:
read(0,&ch1,1); read(0,&ch2,1); */
printf("%c%c\n", ch1,ch2);
return 0;
}
/*----------------------*/
This happens across win32 OSes, and I can't see anything untoward as far
as API usage goes (the GHC IO implementation uses read(), but that
reduces to ReadConsoleA() calls.) People inside the Behemoth might want
to have a closer look at this..
Not much we can do about this except work around the problem by flushing
the input buffer prior to reading from stdin. Not ideal, as type-ahead
is a useful feature. Flushing is handled by GHC.ConsoleHandler.flushConsole
Merge to STABLE.
sof [Thu, 5 May 2005 18:14:27 +0000 (18:14 +0000)]
[project @ 2005-05-05 18:14:27 by sof]
ocResolve_PEi386():
when fixing up REL32 relocations, _add_ displacement to value at the
given offset. The existing value has so far been assumed to be zero
(which we've asserted for), but curiously wxhaskell-0.9.4's wx.o
contains lots of interesting non-zero values. Information / specifications
are awfully thin on the ground as to how to precisely handle these
relocations, but adding rather than overwriting seems to have a
generally healthy effect; unable to crash wxhaskell-0.9.4 with a 6.4 build.
Merge to STABLE.
simonmar [Thu, 5 May 2005 13:17:47 +0000 (13:17 +0000)]
[project @ 2005-05-05 13:17:47 by simonmar]
Some fixes to the blackhole garbage collection strategy. conc049 is a
great test case.
simonpj [Thu, 5 May 2005 13:15:19 +0000 (13:15 +0000)]
[project @ 2005-05-05 13:15:19 by simonpj]
Report instances correctly in GHCi
simonpj [Thu, 5 May 2005 12:39:19 +0000 (12:39 +0000)]
[project @ 2005-05-05 12:39:19 by simonpj]
Only compare hi-boot iface with mother module if there *is* an hi-boot iface
simonpj [Thu, 5 May 2005 12:26:15 +0000 (12:26 +0000)]
[project @ 2005-05-05 12:26:15 by simonpj]
Be a bit more parsimonious about type-error contexts
simonmar [Thu, 5 May 2005 11:35:29 +0000 (11:35 +0000)]
[project @ 2005-05-05 11:35:29 by simonmar]
Treat the blackhole_queue as a weak list: it shouldn't keep its
elements alive, because otherwise we can't detect deadlock using the
GC. Fortunately the fix is quite simple.
simonmar [Thu, 5 May 2005 11:33:10 +0000 (11:33 +0000)]
[project @ 2005-05-05 11:33:10 by simonmar]
AP_STACK fix for SMP
simonmar [Thu, 5 May 2005 11:20:12 +0000 (11:20 +0000)]
[project @ 2005-05-05 11:20:12 by simonmar]
Fix the offsets and macros for AP_STACK closures (was wrong for SMP only)
simonmar [Thu, 5 May 2005 11:19:42 +0000 (11:19 +0000)]
[project @ 2005-05-05 11:19:42 by simonmar]
Sanity fix for SMP
ross [Thu, 5 May 2005 10:52:43 +0000 (10:52 +0000)]
[project @ 2005-05-05 10:52:43 by ross]
Stop the renamer from barfing on arrow notation outside of proc, since
this will be caught by the typechecker (tcfail120).
simonmar [Thu, 5 May 2005 09:40:37 +0000 (09:40 +0000)]
[project @ 2005-05-05 09:40:37 by simonmar]
Make GHC.modInfoPrintUnqualified work for package modules too. Also
refactor a bit: move mkExportEnv from TcRnDriver up to GHC which is
the only use of it.
simonpj [Thu, 5 May 2005 07:43:29 +0000 (07:43 +0000)]
[project @ 2005-05-05 07:43:28 by simonpj]
Make it so that you can deprecate a data constructor.
Previously {-# DEPRECATED T "no" #-} referred only to the type
or class T. Now it refers to the data constructor T as well,
just like in fixity declarations.
There's no way to deprecate the data constructor T without also
deprecating the type T, alas. Same problem in fixity decls.
Main problem is coming up with a suitable concrete syntax to do
so.
We could consider merging this to the STABLE branch.
NB: Sven, the manual fixes are not XML-valideated! I'm at home.
simonpj [Thu, 5 May 2005 07:35:43 +0000 (07:35 +0000)]
[project @ 2005-05-05 07:35:43 by simonpj]
Two small things
a) report duplicate declarations in canonical order
b) report deprecations for all uses (a longstanding bug)
both MERGE TO STABLE
sof [Thu, 5 May 2005 00:58:38 +0000 (00:58 +0000)]
[project @ 2005-05-05 00:58:38 by sof]
[mingw only]
Provide (unsatisfying) workaround for pesky Ctrl-C issue, whereby a
cygwin-based bash will terminate the 'ghci.exe' wrapper without the
wrapper process getting a chance to respond (and shut down its child,
if nothing else.) The result instead being that the child (ghc.exe) ends up
lingering in the background.
To steer users away from such badness, the wrapper checks to see whether
it is running in a *nix-like shell, and if it is, issue a warning that
it would be better to invoke GHCi using the 'ghcii.sh' shell script instead.
Merge to STABLE.
simonmar [Wed, 4 May 2005 16:20:27 +0000 (16:20 +0000)]
[project @ 2005-05-04 16:20:27 by simonmar]
getModuleInfo now does something reasonable for package modules.
simonmar [Wed, 4 May 2005 15:46:39 +0000 (15:46 +0000)]
[project @ 2005-05-04 15:46:39 by simonmar]
Fix instance-matching issue (affects nofib/real/prolog).
simonmar [Wed, 4 May 2005 15:44:59 +0000 (15:44 +0000)]
[project @ 2005-05-04 15:44:59 by simonmar]
Add lookupGlobalName
chak [Wed, 4 May 2005 15:19:37 +0000 (15:19 +0000)]
[project @ 2005-05-04 15:19:37 by chak]
Updated and extended the section about the renamer.
josefs [Wed, 4 May 2005 15:12:14 +0000 (15:12 +0000)]
[project @ 2005-05-04 15:12:14 by josefs]
Make GHC accept external core files with higher rank types.
simonmar [Wed, 4 May 2005 13:06:39 +0000 (13:06 +0000)]
[project @ 2005-05-04 13:06:39 by simonmar]
Fix porting instructions
simonpj [Wed, 4 May 2005 11:23:28 +0000 (11:23 +0000)]
[project @ 2005-05-04 11:23:28 by simonpj]
Further wibbles to unused-import reporting; merge to stable
ross [Wed, 4 May 2005 10:28:08 +0000 (10:28 +0000)]
[project @ 2005-05-04 10:28:07 by ross]
Another go at the handling of -< in arrow notation, continuing and
fixing the changes in
http://www.haskell.org/pipermail/cvs-all/2005-April/040391.html
Now do the same thing in the renamer as we do in the type checker,
i.e. return to the environment of the proc when considering the left
argument of -<.
This is much simpler than the old proc_level stuff, and matches the
type rules more clearly. But there is a change in error messages.
For the input
f :: Int -> Int
f = proc x -> (+x) -< 1
GHC 6.4 says
test.hs:6:
Command-bound variable `x' is not in scope here
Reason: it is used in the left argument of (-<)
In the second argument of `(+)', namely `x'
In the command: (+ x) -< 1
In the definition of `f': f = proc x -> (+ x) -< 1
but now we just get the blunt
test.hs:6:16: Not in scope: `x'
The beauty is all on the inside.
Similarly leakage of existential type variables (arrow1) is detected,
but the error message isn't very helpful.
simonpj [Tue, 3 May 2005 13:41:01 +0000 (13:41 +0000)]
[project @ 2005-05-03 13:41:01 by simonpj]
Check for illegal declarations in hs-boot files
simonpj [Tue, 3 May 2005 13:13:24 +0000 (13:13 +0000)]
[project @ 2005-05-03 13:13:24 by simonpj]
Second stab at the duplicate-import warnings
simonpj [Tue, 3 May 2005 11:10:09 +0000 (11:10 +0000)]
[project @ 2005-05-03 11:10:08 by simonpj]
Improve generation of 'duplicate import' warnings.
This involved changing (actually simplifying) the
definition of RdrName.ImportSpec.
I'm not sure whether this one merits merging or not.
Perhaps worth a try.
simonpj [Tue, 3 May 2005 10:53:01 +0000 (10:53 +0000)]
[project @ 2005-05-03 10:53:00 by simonpj]
Fix the test for duplicate local bindings, so that it works with
Template Haskell. Pre-TH, all the local bindings came into scope
at once, but with TH they come into scope in groups, and we must
check for conflict with existing local bindings.
MERGE TO STABLE
simonmar [Tue, 3 May 2005 10:38:19 +0000 (10:38 +0000)]
[project @ 2005-05-03 10:38:19 by simonmar]
Add a couple more lint tests
simonmar [Tue, 3 May 2005 10:29:19 +0000 (10:29 +0000)]
[project @ 2005-05-03 10:29:19 by simonmar]
MO_S_Conv folding: fold floating-point literals properly
sof [Tue, 3 May 2005 00:42:28 +0000 (00:42 +0000)]
[project @ 2005-05-03 00:42:28 by sof]
permit mingw_* vars to be overridden; merge to STABLE