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.
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
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
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.
simonpj [Fri, 25 Feb 2005 12:50:48 +0000 (12:50 +0000)]
[project @ 2005-02-25 12:50:48 by simonpj]
Profiling addition
simonpj [Fri, 25 Feb 2005 12:49:47 +0000 (12:49 +0000)]
[project @ 2005-02-25 12:49:47 by simonpj]
Spelling
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
simonmar [Fri, 25 Feb 2005 10:45:25 +0000 (10:45 +0000)]
[project @ 2005-02-25 10:45:25 by simonmar]
rearrange #includes
simonpj [Thu, 24 Feb 2005 09:41:49 +0000 (09:41 +0000)]
[project @ 2005-02-24 09:41:49 by simonpj]
Add missing semicolon; merge to stable
simonpj [Thu, 24 Feb 2005 08:59:36 +0000 (08:59 +0000)]
[project @ 2005-02-24 08:59:36 by simonpj]
Add a clarifying para about Win32 GUI-only programs
simonmar [Wed, 23 Feb 2005 15:38:52 +0000 (15:38 +0000)]
[project @ 2005-02-23 15:38:52 by simonmar]
Make :info behave like :type, and show foralls when -fglasgow-exts is on.
simonmar [Wed, 23 Feb 2005 14:01:32 +0000 (14:01 +0000)]
[project @ 2005-02-23 14:01:32 by simonmar]
Fix the use of -package flags (I hope). GHC 6.4 should build with
itself, now.
simonmar [Wed, 23 Feb 2005 13:57:27 +0000 (13:57 +0000)]
[project @ 2005-02-23 13:57:27 by simonmar]
Sanity check for $hardtop containing space characters, suggested by
Malcolm Wallace.
simonpj [Wed, 23 Feb 2005 13:46:46 +0000 (13:46 +0000)]
[project @ 2005-02-23 13:46:43 by simonpj]
---------------------------------------------
Make type synonyms uniform with data types
so far as infix operators are concerned
---------------------------------------------
Merge to STABLE
This allows
type (a :+: b) c d = ...
which was prevented before by accident.
I've also documented the fact that classes can be infix;
and arranged that class constraints in types can be in infix form.
f :: (a :=: b) => ....
simonmar [Wed, 23 Feb 2005 13:24:18 +0000 (13:24 +0000)]
[project @ 2005-02-23 13:24:18 by simonmar]
Add final newline
simonmar [Wed, 23 Feb 2005 12:44:17 +0000 (12:44 +0000)]
[project @ 2005-02-23 12:44:17 by simonmar]
In -e mode, if there is an error loading the modules on the command
line, stop immediately rather than going on to evaluate the expression.
simonmar [Wed, 23 Feb 2005 12:18:29 +0000 (12:18 +0000)]
[project @ 2005-02-23 12:18:29 by simonmar]
fix for findPackageModule: if we find the module in the cache, check
that it actually is a package module before returning it.
simonmar [Wed, 23 Feb 2005 11:03:42 +0000 (11:03 +0000)]
[project @ 2005-02-23 11:03:42 by simonmar]
rearrange includes
simonmar [Wed, 23 Feb 2005 10:59:17 +0000 (10:59 +0000)]
[project @ 2005-02-23 10:59:17 by simonmar]
Move include <stdlib.h> later
simonmar [Wed, 23 Feb 2005 10:57:52 +0000 (10:57 +0000)]
[project @ 2005-02-23 10:57:52 by simonmar]
Move include of <string.h> later
simonmar [Wed, 23 Feb 2005 10:54:52 +0000 (10:54 +0000)]
[project @ 2005-02-23 10:54:52 by simonmar]
more include of <stdio.h> later: ghcautoconf.h must come before any
system includes, because it might define _FILE_OFFSET_BITS.
simonmar [Wed, 23 Feb 2005 10:50:30 +0000 (10:50 +0000)]
[project @ 2005-02-23 10:50:30 by simonmar]
Add AdjustorAsm.S to EXCLUDED_SRCS unless we're building for
powerpc/powerpc64. Apparently Solaris ld chokes on the empty object
file otherwise.
simonpj [Wed, 23 Feb 2005 09:13:49 +0000 (09:13 +0000)]
[project @ 2005-02-23 09:13:49 by simonpj]
---------------------------------------------
Another fix to data2tag evaluated-ness (sigh)
---------------------------------------------
Merge to STABLE
simonpj [Tue, 22 Feb 2005 16:29:42 +0000 (16:29 +0000)]
[project @ 2005-02-22 16:29:41 by simonpj]
-------------------------------------------------------
Change -include-prelude to -include-pkg-deps for ghc -M
-------------------------------------------------------
Merge to STABLE
This commit just renames the flag for ghc -M to something more
sensible.
simonpj [Tue, 22 Feb 2005 15:59:00 +0000 (15:59 +0000)]
[project @ 2005-02-22 15:59:00 by simonpj]
Commentary stuff
simonmar [Tue, 22 Feb 2005 10:58:22 +0000 (10:58 +0000)]
[project @ 2005-02-22 10:58:22 by simonmar]
emitSwitch: if we're compiling via C, then always generate a switch
rather than an if-tree. This should work around brokenness in older
versions of GCC.
simonmar [Mon, 21 Feb 2005 14:53:16 +0000 (14:53 +0000)]
[project @ 2005-02-21 14:53:16 by simonmar]
add mk/fix_install_names.sh to source dist
simonmar [Mon, 21 Feb 2005 14:07:08 +0000 (14:07 +0000)]
[project @ 2005-02-21 14:07:07 by simonmar]
Fix a recompilation bug caused by the fact that typecheckIface wasn't
going via loadDecl to create the binders properly. The fix actually
results in slightly cleaner code.
simonmar [Mon, 21 Feb 2005 11:27:21 +0000 (11:27 +0000)]
[project @ 2005-02-21 11:27:21 by simonmar]
Clean and install ghcplatform.h
simonmar [Mon, 21 Feb 2005 10:13:00 +0000 (10:13 +0000)]
[project @ 2005-02-21 10:13:00 by simonmar]
For some reason rev. 1.71 undid rev. 1.70. Restore it.
ross [Sun, 20 Feb 2005 09:59:42 +0000 (09:59 +0000)]
[project @ 2005-02-20 09:59:42 by ross]
more tracking of field name changes (cc-options, hugs-options & frameworks)
desrt [Sun, 20 Feb 2005 03:40:23 +0000 (03:40 +0000)]
[project @ 2005-02-20 03:40:23 by desrt]
package.conf.in: more Cabal changes tracking
- change 'extra-ld-opts' to 'ld-options'
- change 'extra-libs' to 'extra-libraries'
stage2 once again builds successfully.
ross [Sun, 20 Feb 2005 01:36:23 +0000 (01:36 +0000)]
[project @ 2005-02-20 01:36:23 by ross]
more InstalledPackageInfo tracking: extraFrameworks -> frameworks
desrt [Sat, 19 Feb 2005 19:45:50 +0000 (19:45 +0000)]
[project @ 2005-02-19 19:45:50 by desrt]
Linker.lhs: s/extraLdOpts/ldOptions/ to fix a build breakage caused by
recent updates to main/ParsePkgConf.y (version 1.20)
desrt [Sat, 19 Feb 2005 18:51:19 +0000 (18:51 +0000)]
[project @ 2005-02-19 18:51:19 by desrt]
Linker.c: ELF: Added two utility functions findElfSectionIndexByName
and findElfSectionByName that are used by the PPC64 linker
currently being worked on. These functions should be used
in other (generic) ELF code too.
simonmar [Fri, 18 Feb 2005 16:19:10 +0000 (16:19 +0000)]
[project @ 2005-02-18 16:19:10 by simonmar]
Track InstalledPackageInfo updates
simonmar [Fri, 18 Feb 2005 15:06:47 +0000 (15:06 +0000)]
[project @ 2005-02-18 15:06:38 by simonmar]
Rename fields in InstalledPackageInfo for consistency with
PackageDescription & buildInfo:
extra-libs (extraLibraries) --> extra-libraries (extraLibraries)
extra-cc-opts (extraCcOpts) --> cc-options (ccOptions)
extra-ld-opts (extraLdOpts) --> ld-options (ldOptions)
extra-hugs-opts (extraHugsOpts) --> hugs-options (hugsOptions)
extra-frameworks (extraFrameworks) --> frameworks (frameworks)
simonmar [Fri, 18 Feb 2005 12:09:05 +0000 (12:09 +0000)]
[project @ 2005-02-18 12:09:05 by simonmar]
use $(strip ..) in various places to eliminate spurious whitespace
simonmar [Fri, 18 Feb 2005 10:41:58 +0000 (10:41 +0000)]
[project @ 2005-02-18 10:41:58 by simonmar]
Detect and substitue $(GccVersion) properly
simonmar [Fri, 18 Feb 2005 09:32:50 +0000 (09:32 +0000)]
[project @ 2005-02-18 09:32:50 by simonmar]
Mac OS X: fixes to the splitter (rev. 1.24.6.1 on the branch)
desrt [Thu, 17 Feb 2005 16:58:21 +0000 (16:58 +0000)]
[project @ 2005-02-17 16:58:18 by desrt]
LinkerInternals.h: all platforms: changed 'image' pointer in ObjectCode
from (void *) to (char *).
Linker.c: linux/ppc: added mremap() support to unbreak the build when
USE_MMAP is defined on linux/ppc (as it now is.)
simonmar [Thu, 17 Feb 2005 14:41:36 +0000 (14:41 +0000)]
[project @ 2005-02-17 14:41:36 by simonmar]
Mention GHC's relaxation of the layout rule
ross [Thu, 17 Feb 2005 14:25:57 +0000 (14:25 +0000)]
[project @ 2005-02-17 14:25:57 by ross]
* set off examples (e.g. as used in the Cabal doc) from the text.
* make minor headers blue too.
* make the green in screens a bit darker for contrast.
simonmar [Wed, 16 Feb 2005 11:33:44 +0000 (11:33 +0000)]
[project @ 2005-02-16 11:33:44 by simonmar]
wibble to previous... (*fatalInternalErrorFn)() is not expected to return.
simonmar [Wed, 16 Feb 2005 11:16:42 +0000 (11:16 +0000)]
[project @ 2005-02-16 11:16:40 by simonmar]
assertion failures should go through the RtsMessages layer, so they
get a pop-up box in a Windows app.
simonmar [Wed, 16 Feb 2005 10:50:23 +0000 (10:50 +0000)]
[project @ 2005-02-16 10:50:23 by simonmar]
Recommend using -M rather than -H to increase the heap size.
On Windows, there's an arbitrary limit of 256Mb due to the way memory
is allocated, which is the primary cause of running out of heap. On
Unix, the heap size is unlimited by default.
simonmar [Tue, 15 Feb 2005 16:41:25 +0000 (16:41 +0000)]
[project @ 2005-02-15 16:41:25 by simonmar]
Fix test in findPackages
simonmar [Tue, 15 Feb 2005 15:58:28 +0000 (15:58 +0000)]
[project @ 2005-02-15 15:58:28 by simonmar]
Fix --mk-dll
simonmar [Tue, 15 Feb 2005 12:41:26 +0000 (12:41 +0000)]
[project @ 2005-02-15 12:41:26 by simonmar]
omit the initial foralls for :type, unless -fglasgow-exts is on
simonmar [Tue, 15 Feb 2005 12:15:25 +0000 (12:15 +0000)]
[project @ 2005-02-15 12:15:25 by simonmar]
ghc -e 'System.Exit.exitWith (System.Exit.ExitFailure 99)'
should just exit 99, rather than printing out the exception. Also
while I'm here, make all other exceptions cause 'ghc -e' to exit(1),
which is probably what we want.
simonmar [Tue, 15 Feb 2005 11:39:52 +0000 (11:39 +0000)]
[project @ 2005-02-15 11:39:52 by simonmar]
remove race conditions in the recent in_haskell sanity check code
simonmar [Tue, 15 Feb 2005 11:24:51 +0000 (11:24 +0000)]
[project @ 2005-02-15 11:24:51 by simonmar]
Fix endMkDependHS
simonmar [Tue, 15 Feb 2005 11:05:43 +0000 (11:05 +0000)]
[project @ 2005-02-15 11:05:43 by simonmar]
Update documentation of ghc-pkg command
simonmar [Tue, 15 Feb 2005 10:51:37 +0000 (10:51 +0000)]
[project @ 2005-02-15 10:51:37 by simonmar]
Change in semantics:
- commands which only inspect the databse (list,describe,field)
now take into account the user database unless --global is
given. This behaviour matches GHC, which also uses the user
database by default.
- However, commands which modify the database still use the
global database, unless --user is given.
Also, allow P-* to be given as a package identifier, which means
"all versions of package P".
simonmar [Mon, 14 Feb 2005 17:00:31 +0000 (17:00 +0000)]
[project @ 2005-02-14 17:00:31 by simonmar]
Be clearer about HC files: you need a set generated on the same
platform, not just similar hardware.
simonmar [Mon, 14 Feb 2005 16:49:50 +0000 (16:49 +0000)]
[project @ 2005-02-14 16:49:50 by simonmar]
Improve the module-not-found error message when we didn't actually
search for it anywhere. This happens when we know all the places it
might be: either in the current program, or a package.
simonmar [Mon, 14 Feb 2005 16:38:30 +0000 (16:38 +0000)]
[project @ 2005-02-14 16:38:30 by simonmar]
cmSetContext: check whether the modules specified actually exist and
emit the usual Finder error message if any don't.
This regressed duing the ModuleName->Module changeover, where I was a
bit heavyhanded in removing moduleNameToModule: it also checked for
the existence of each module and emitted a sensible exception.
simonmar [Mon, 14 Feb 2005 16:20:56 +0000 (16:20 +0000)]
[project @ 2005-02-14 16:20:56 by simonmar]
More libghccompat nonsense
simonmar [Mon, 14 Feb 2005 13:42:09 +0000 (13:42 +0000)]
[project @ 2005-02-14 13:42:09 by simonmar]
-d*-lint shouldn't turn off recompilation checking
simonmar [Mon, 14 Feb 2005 13:28:05 +0000 (13:28 +0000)]
[project @ 2005-02-14 13:27:52 by simonmar]
Put the GlobalRdrEnv back into the ModIface, so it gets preserved when
we reload a module without recompiling it.
simonmar [Mon, 14 Feb 2005 10:35:07 +0000 (10:35 +0000)]
[project @ 2005-02-14 10:35:07 by simonmar]
Fix documentation for ghc-pkg list.
simonmar [Mon, 14 Feb 2005 10:33:58 +0000 (10:33 +0000)]
[project @ 2005-02-14 10:33:58 by simonmar]
Fix help text for ghc-pkg list to match the implementation (it was
easier to do this than fix the implementation, and in fact this is
more consistent).
simonmar [Fri, 11 Feb 2005 15:28:46 +0000 (15:28 +0000)]
[project @ 2005-02-11 15:28:46 by simonmar]
Catch up with mutable list changes
simonmar [Fri, 11 Feb 2005 14:01:30 +0000 (14:01 +0000)]
[project @ 2005-02-11 14:01:30 by simonmar]
Careful with mutable list entries that point to THUNKs: the thunk
might be updated, and the resulting IND_OLDGEN will be on the mutable
list twice.
We previously avoided this problem by having an extra MUT_CONS object
on the mutable list pointing to the THUNK, so that we could tell the
difference between the entry on the mutable list that used to be the
THUNK, and the new entry for the IND_OLDGEN.
We don't have MUT_CONS any more (this was part of the cleanup from
separating the mutable list from the heap). So, now, when scavenging
an IND_OLDGEN on the mutable list, we check whether it is pointing to
an already-evacuated object. This is a bit crude, but at least it is
a localised hack.
simonmar [Fri, 11 Feb 2005 12:20:12 +0000 (12:20 +0000)]
[project @ 2005-02-11 12:20:12 by simonmar]
Fix a bug: thunk_selector_depth was being incremented before checking
that we had reached the depth limit, and not decremented if we had
reached the limit.
simonmar [Fri, 11 Feb 2005 10:35:06 +0000 (10:35 +0000)]
[project @ 2005-02-11 10:35:06 by simonmar]
Allow package identifiers with versions in the old command-line syntax
simonmar [Fri, 11 Feb 2005 09:57:32 +0000 (09:57 +0000)]
[project @ 2005-02-11 09:57:32 by simonmar]
Add a missing delcaration for stg_MUT_ARR_PTRS_FROZEN0_entry (unbreak
the unregisterised build).
simonmar [Thu, 10 Feb 2005 15:26:23 +0000 (15:26 +0000)]
[project @ 2005-02-10 15:26:23 by simonmar]
Print the banner before the "reading package config file" messages in
verbose mode.
simonmar [Thu, 10 Feb 2005 15:12:22 +0000 (15:12 +0000)]
[project @ 2005-02-10 15:12:22 by simonmar]
Make sure we don't register a package with an identifier that cannot
be parsed later.
simonmar [Thu, 10 Feb 2005 13:38:50 +0000 (13:38 +0000)]
[project @ 2005-02-10 13:38:50 by simonmar]
NO_INSTALL_LIBRARY=YES
simonmar [Thu, 10 Feb 2005 13:38:35 +0000 (13:38 +0000)]
[project @ 2005-02-10 13:38:35 by simonmar]
Fix library installation: we now install libraries *unless*
NO_INSTALL_LIBRARY=YES.
simonmar [Thu, 10 Feb 2005 13:02:40 +0000 (13:02 +0000)]
[project @ 2005-02-10 13:01:52 by simonmar]
GC changes: instead of threading old-generation mutable lists
through objects in the heap, keep it in a separate flat array.
This has some advantages:
- the IND_OLDGEN object is now only 2 words, so the minimum
size of a THUNK is now 2 words instead of 3. This saves
some amount of allocation (about 2% on average according to
my measurements), and is more friendly to the cache by
squashing objects together more.
- keeping the mutable list separate from the IND object
will be necessary for our multiprocessor implementation.
- removing the mut_link field makes the layout of some objects
more uniform, leading to less complexity and special cases.
- I also unified the two mutable lists (mut_once_list and mut_list)
into a single mutable list, which lead to more simplifications
in the GC.
ross [Thu, 10 Feb 2005 12:35:21 +0000 (12:35 +0000)]
[project @ 2005-02-10 12:35:21 by ross]
xrefs to Cabal docs
wolfgang [Thu, 10 Feb 2005 07:01:45 +0000 (07:01 +0000)]
[project @ 2005-02-10 07:01:45 by wolfgang]
Fix previous commit. Got distracted, thought I had already tested.
wolfgang [Thu, 10 Feb 2005 05:46:46 +0000 (05:46 +0000)]
[project @ 2005-02-10 05:46:46 by wolfgang]
Fix Mac OS X-specific breakage introduced by rev. 1.67 of ghc/includes/Stg.h.
Adding the used attribute to static functions caused gcc to emit
Apple-specific .no_dead_strip directives, which messed things up.
wolfgang [Thu, 10 Feb 2005 04:58:09 +0000 (04:58 +0000)]
[project @ 2005-02-10 04:58:09 by wolfgang]
Add a special case for Mac OS X to FP_PROG_AR_NEEDS_RANLIB.
On Mac OS X, we need to run ranlib after installing .a files because
they contain a timestamp which will be outdated after installing.
We could do a proper test for that, but it would contain the command
'sleep 6' and still apply only to one platform.
wolfgang [Thu, 10 Feb 2005 03:08:26 +0000 (03:08 +0000)]
[project @ 2005-02-10 03:08:26 by wolfgang]
PowerPC: mangler trouble again
wolfgang [Wed, 9 Feb 2005 15:59:35 +0000 (15:59 +0000)]
[project @ 2005-02-09 15:59:35 by wolfgang]
PowerPC: #ifdef darwin_REGS -> #if darwin_REGS
simonmar [Wed, 9 Feb 2005 15:25:12 +0000 (15:25 +0000)]
[project @ 2005-02-09 15:25:12 by simonmar]
Keep .type/.size directives for _entry symbols, but rename them to
_info. This helps cachegrind to find where my instructions are going.
simonpj [Wed, 9 Feb 2005 14:02:31 +0000 (14:02 +0000)]
[project @ 2005-02-09 14:02:31 by simonpj]
Add comment
simonmar [Wed, 9 Feb 2005 10:11:36 +0000 (10:11 +0000)]
[project @ 2005-02-09 10:11:36 by simonmar]
oops, fix building of GHCi libraries. We only want to avoid the
*install* if this isn't a package.
simonmar [Tue, 8 Feb 2005 10:21:36 +0000 (10:21 +0000)]
[project @ 2005-02-08 10:21:36 by simonmar]
Only build GHCi libs, install libs, and make Haddock docs for packages
(not ordinary libraries, like libghccompat.a).
simonmar [Tue, 8 Feb 2005 10:20:50 +0000 (10:20 +0000)]
[project @ 2005-02-08 10:20:50 by simonmar]
Happy 1.15 is now required
simonpj [Tue, 8 Feb 2005 09:41:21 +0000 (09:41 +0000)]
[project @ 2005-02-08 09:41:21 by simonpj]
Remove trace in mkGenericRhs (merge to STABLE)
simonmar [Mon, 7 Feb 2005 14:05:25 +0000 (14:05 +0000)]
[project @ 2005-02-07 14:05:25 by simonmar]
Fix doc building for binary distributions
simonpj [Mon, 7 Feb 2005 13:51:26 +0000 (13:51 +0000)]
[project @ 2005-02-07 13:51:26 by simonpj]
Missing commit from the module A export list commit
simonpj [Mon, 7 Feb 2005 12:16:52 +0000 (12:16 +0000)]
[project @ 2005-02-07 12:16:50 by simonpj]
-----------------------------------------------------
Switch off derivable type class generation by default
-----------------------------------------------------
Merge to STABLE
This commit switches off the generation of the support code for 'Derivable
Type Classes' by default. Use -fgenerics to switch it on.
Motivation: seldom used, and there's a nasty blowup in Core types for data
types that have lots of constructors or lots of fields.
We now put -fgenerics in the GhcLibOpts, so that the libraries have the
support code, as before.
simonpj [Mon, 7 Feb 2005 12:07:21 +0000 (12:07 +0000)]
[project @ 2005-02-07 12:07:21 by simonpj]
------------------------------
Improve unused-import warnings
------------------------------
Merge to STABLE
This commit improves the warning messages for unused imports, in the
case where the 'module A' form is used in an export list.
In doing this, I've realised that the unused-import checking is deficient
in several ways. At least
a) it doesn't recognise that there might be several import statements
for the same module (TcRnTypes.imp_mods has only one entry per
module
b) it doesn't understand about qualified modules at all
c) even more fundamentally, it starts from the used Names,
but if the module mentions (say) aliases M.f and N.f for
the same Name, then two imports might be necessary for it
I'm not going to fix these problems now; this message just records them.
simonmar [Mon, 7 Feb 2005 11:13:35 +0000 (11:13 +0000)]
[project @ 2005-02-07 11:13:35 by simonmar]
Mention that GHC is required for building GHC.
simonmar [Mon, 7 Feb 2005 11:11:33 +0000 (11:11 +0000)]
[project @ 2005-02-07 11:11:33 by simonmar]
Point directly to the Building Guide from here.
simonpj [Mon, 7 Feb 2005 09:55:54 +0000 (09:55 +0000)]
[project @ 2005-02-07 09:55:54 by simonpj]
Better documentation for unboxed types; merge to STABLE
simonpj [Fri, 4 Feb 2005 17:36:47 +0000 (17:36 +0000)]
[project @ 2005-02-04 17:36:47 by simonpj]
Wibble to message
simonpj [Fri, 4 Feb 2005 17:24:09 +0000 (17:24 +0000)]
[project @ 2005-02-04 17:24:01 by simonpj]
------------------------------------------------------
Report top-level implicit parameter errors more nicely
------------------------------------------------------
Consider
module Main where
main = let ?x = 5 in print foo
foo = woggle 3
woggle :: (?x :: Int) => Int -> Int
woggle y = ?x + y
GHC's current rules say that 'foo' is monomorphic, so we get
foo :: Int
but we also get an unbound top-level constraint (?x::Int). GHC 6.2 emits a
message like:
Unbound implicit parameter (?x::Int)
arising from use of `woggle' at ...
The point is that THERE IS NO WAY FOR THIS CONSTRAINT TO GET BOUND,
because we don't have a top-level binding form for implicit parameters.
So it's stupid for 'foo' to be monomorphic.
This commit improves matters by giving a much nicer error message:
Implicit parameters escape from the monomorphic top-level binding(s) of `foo':
?x::Int arising from use of `woggle' at tcfail130.hs:10:6-11
Probably fix: add type signatures for the top-level binding(s)
When generalising the type(s) for `foo'
simonpj [Fri, 4 Feb 2005 15:43:32 +0000 (15:43 +0000)]
[project @ 2005-02-04 15:43:28 by simonpj]
Respect --exclude-module in ghc -M; some tidying up as well
simonpj [Fri, 4 Feb 2005 15:42:54 +0000 (15:42 +0000)]
[project @ 2005-02-04 15:42:54 by simonpj]
Comments and type sig
simonmar [Fri, 4 Feb 2005 13:36:27 +0000 (13:36 +0000)]
[project @ 2005-02-04 13:36:27 by simonmar]
The HEAD is now 6.5
simonmar [Fri, 4 Feb 2005 13:32:28 +0000 (13:32 +0000)]
[project @ 2005-02-04 13:32:28 by simonmar]
In the fragments of Haskell code which setup buffering and flushing
for the std Handles in GHCi, qualify names with System.IO rather than IO.
simonmar [Fri, 4 Feb 2005 11:58:23 +0000 (11:58 +0000)]
[project @ 2005-02-04 11:58:23 by simonmar]
Need to add -I. when compiling with GHC 6.3+
simonpj [Thu, 3 Feb 2005 13:11:44 +0000 (13:11 +0000)]
[project @ 2005-02-03 13:11:44 by simonpj]
Fix another substitution-related bug in CoreLint
simonmar [Thu, 3 Feb 2005 11:21:03 +0000 (11:21 +0000)]
[project @ 2005-02-03 11:21:03 by simonmar]
Move the in_haskell check to somewhere that works for the threaded RTS too.