simonmar [Wed, 25 Feb 2004 17:35:44 +0000 (17:35 +0000)]
[project @ 2004-02-25 17:35:44 by simonmar]
Feeble performance hack for the threaded RTS: instead of
allocating/releasing a new condition variable for each new call-in, we
just cache one in the RTS and re-use it for the next call.
On a little test I have here which does lots of call-ins on Windows,
this reduces the slowdown for using the threaded RTS from a factor of
7-8 down to a factor of 4-5. I'm aiming for a factor of 2 or better...
simonmar [Wed, 25 Feb 2004 16:18:00 +0000 (16:18 +0000)]
[project @ 2004-02-25 16:18:00 by simonmar]
ShutdownIOManager: don't free the IOManagerState, because the worker
threads haven't necessarily died yet and might reference it again.
Apparently fixes a strange bug: I have a Haskell program which on
Windows causes the shell to exit after I run it. I don't know what
the real cause of this is, but this is a clear bug and fixing it stops
the shell from exiting.
MERGE TO STABLE
simonpj [Wed, 25 Feb 2004 14:51:38 +0000 (14:51 +0000)]
[project @ 2004-02-25 14:51:37 by simonpj]
Add a -fno-full-laziness flag
simonmar [Wed, 25 Feb 2004 13:57:38 +0000 (13:57 +0000)]
[project @ 2004-02-25 13:57:38 by simonmar]
- For each language option, document exactly the syntax that is
stolen from Haskell 98.
- Fix up docrot at the beginning of the chapter.
simonpj [Wed, 25 Feb 2004 13:54:31 +0000 (13:54 +0000)]
[project @ 2004-02-25 13:54:30 by simonpj]
Yet another fix to the -Onot optimisation that hides data type
representations in .hi files.
1. Expose the representation if any fields are exposed
2. Don't expose newtypes whose data-cons are abstract, unless the
rep type is a FFI type. (Previously we were more conservative
and always exposed newtypes, just in case of a foreign decl.)
simonmar [Wed, 25 Feb 2004 11:49:15 +0000 (11:49 +0000)]
[project @ 2004-02-25 11:49:14 by simonmar]
Document -threaded and -debug options.
simonmar [Wed, 25 Feb 2004 11:34:30 +0000 (11:34 +0000)]
[project @ 2004-02-25 11:34:29 by simonmar]
Allow configuration of RTS ways by tweaking the GhcRTSWays variable.
Add default settings to config.mk.in, and add a comment to explain
which values make sense here.
Also, I disabled the debug_p way by default; it's of limited
usefulness to the average punter.
simonmar [Wed, 25 Feb 2004 11:31:24 +0000 (11:31 +0000)]
[project @ 2004-02-25 11:31:24 by simonmar]
Combined build tags get '_' between them
simonmar [Wed, 25 Feb 2004 11:24:34 +0000 (11:24 +0000)]
[project @ 2004-02-25 11:24:34 by simonmar]
Add missing case to allowedWith
simonmar [Wed, 25 Feb 2004 11:17:47 +0000 (11:17 +0000)]
[project @ 2004-02-25 11:17:47 by simonmar]
Delete options for building the debugging RTS; it is now built by default.
simonmar [Wed, 25 Feb 2004 11:16:20 +0000 (11:16 +0000)]
[project @ 2004-02-25 11:16:20 by simonmar]
Fix a test
simonmar [Wed, 25 Feb 2004 10:34:44 +0000 (10:34 +0000)]
[project @ 2004-02-25 10:34:44 by simonmar]
Add an entry to the FAQ about buffering of stdout
simonpj [Tue, 24 Feb 2004 17:56:00 +0000 (17:56 +0000)]
[project @ 2004-02-24 17:56:00 by simonpj]
more hi-boot documentation
simonmar [Tue, 24 Feb 2004 17:37:11 +0000 (17:37 +0000)]
[project @ 2004-02-24 17:37:11 by simonmar]
wibble to previous commit; forgot to save my buffer
simonmar [Tue, 24 Feb 2004 17:33:34 +0000 (17:33 +0000)]
[project @ 2004-02-24 17:33:32 by simonmar]
Experimental support for RTS-only "ways"
HEADS UP! This changes the way that the threaded RTS is used, and
also the use of debugging RTSs:
- We always build threaded and debugging variants of the RTS now.
The --enable-threaded-rts configure option is ignored (and will
be removed at some point).
- New option: -debug enables the debugging RTS
- New option: -threaded enables the threaded RTS. When the threaded
RTS is stable enough, we might make it the default.
The new options just cause a different variant of the RTS to be linked
in, and they cause one or two extra options to be enabled too. The
implementation is via the usual ways machinery in the compiler, except
that these ways are labelled as RTS-only, and so don't require
rebuilding all the libraries too.
All of this means we can ship threaded and debugging RTSs with GHC, so
that users don't need to fetch and build a GHC source tree to use
them.
I'd like to get this functionality into 6.2.1 if possible, so please
test (I'm willing to stretch the definition of "interface change" to
accomodate this, since having a threaded RTS available without having
to build GHC will be a big win for the Visual Studio project).
simonpj [Tue, 24 Feb 2004 17:13:56 +0000 (17:13 +0000)]
[project @ 2004-02-24 17:13:56 by simonpj]
Better error message for no-instance in deriving clause
simonpj [Tue, 24 Feb 2004 16:44:27 +0000 (16:44 +0000)]
[project @ 2004-02-24 16:44:26 by simonpj]
---------------------------------------
Allow constructors to be specified in hi-boot files
---------------------------------------
simonpj [Tue, 24 Feb 2004 15:57:59 +0000 (15:57 +0000)]
[project @ 2004-02-24 15:57:52 by simonpj]
---------------------------------------
Record dependency on Template Haskell package
---------------------------------------
An unforseen consequence of making the Template Haskell package separate
is that we need to record dependency on the package, even if no TH module
is imported. So we carry round (another) mutable variable tcg_th_used in
the tyepchecker monad, and zap it when $(...) and [| ... |] are used.
I did a little tidy-up and documentation in ListSetOps too
simonmar [Tue, 24 Feb 2004 15:51:33 +0000 (15:51 +0000)]
[project @ 2004-02-24 15:51:33 by simonmar]
only set WAYS if it isn't already set
simonpj [Tue, 24 Feb 2004 15:18:27 +0000 (15:18 +0000)]
[project @ 2004-02-24 15:18:27 by simonpj]
---------------------------------------
Make foreign import "&foo" work in constructors
---------------------------------------
Merge to stable branch
A foreign-imported-label might be in another DLL or library, and
can't be in the read-only static data. This showed up when compiling
unix/System/Posix/Env.hs without -O
simonmar [Tue, 24 Feb 2004 12:39:42 +0000 (12:39 +0000)]
[project @ 2004-02-24 12:39:12 by simonmar]
New version of translate for mingw32, which correctly (allegedly)
reverses the command-line translation done by the standard C runtime
on Windows.
simonpj [Tue, 24 Feb 2004 11:52:34 +0000 (11:52 +0000)]
[project @ 2004-02-24 11:52:34 by simonpj]
Comment only
simonmar [Tue, 24 Feb 2004 10:34:21 +0000 (10:34 +0000)]
[project @ 2004-02-24 10:34:21 by simonmar]
Fix line-comments. The problem was that eg.
--->
at the beginning of a line was matched by the line-comment rule,
because the varsym rule isn't valid at this point (we're in the bol
state). Fix is to split the line-comment regex into two:
"--"\-* [^$symbol] .* ;
"--"\-* / { atEOL } ;
so a sequence of dashes on its own is only treated as a comment if
we're at the end of the line (or file). Otherwise the dashes must be
followed by a non-symbol character.
panne [Fri, 20 Feb 2004 21:29:36 +0000 (21:29 +0000)]
[project @ 2004-02-20 21:29:36 by panne]
Reverted to previous version, too, because of wrong SGMLDocWays-handling, sorry,
but the build system should not be changed in a non-backwards-compatible way
easily...
panne [Fri, 20 Feb 2004 21:21:27 +0000 (21:21 +0000)]
[project @ 2004-02-20 21:21:27 by panne]
Reverted previous commit, it was fixing things in the wrong place: When e.g.
"make dvi" is issued, we should *always* descend into the docs directory.
Generally, the SGMLDocWays-handling seems to be a bit a wrong: We should not
change how make descends down the hierarchy, but should make it a no-op when
nothing should/can be done.
simonmar [Mon, 16 Feb 2004 10:46:07 +0000 (10:46 +0000)]
[project @ 2004-02-16 10:46:07 by simonmar]
Fiddle with HC_SPLIT_POST to reduce the size of the ld command line
and hence avoid bumping into command-line length limits for a while
longer.
From: Jeremy Shaw <jeremy.shaw@lindows.com>
krasimir [Sun, 15 Feb 2004 13:38:18 +0000 (13:38 +0000)]
[project @ 2004-02-15 13:38:18 by krasimir]
Remove unused hooks
krasimir [Sun, 15 Feb 2004 13:29:44 +0000 (13:29 +0000)]
[project @ 2004-02-15 13:29:44 by krasimir]
Remove unused hooks
panne [Sun, 15 Feb 2004 12:20:27 +0000 (12:20 +0000)]
[project @ 2004-02-15 12:20:26 by panne]
I'm giving up here: The various quoting-related changes in rawSystem &
friends make it impossible to pass $(exeext) with double quotes via
cpp to Main.hs in a backwards-compatible way, so we revert to a cruel
hack here. >:-( Improvements are highly welcome...
simonpj [Thu, 12 Feb 2004 14:58:46 +0000 (14:58 +0000)]
[project @ 2004-02-12 14:58:46 by simonpj]
Document non-std behaviour of array
simonpj [Thu, 12 Feb 2004 14:31:53 +0000 (14:31 +0000)]
[project @ 2004-02-12 14:31:53 by simonpj]
Make trace message more accurate
simonpj [Thu, 12 Feb 2004 14:31:39 +0000 (14:31 +0000)]
[project @ 2004-02-12 14:31:39 by simonpj]
Layout only
simonpj [Thu, 12 Feb 2004 14:31:11 +0000 (14:31 +0000)]
[project @ 2004-02-12 14:31:11 by simonpj]
Fix printing bug for Kinds
mthomas [Thu, 12 Feb 2004 02:11:37 +0000 (02:11 +0000)]
[project @ 2004-02-12 02:11:33 by mthomas]
Support for nightly builds of utilities, esp. machines with no doc tools.
mthomas [Thu, 12 Feb 2004 02:04:59 +0000 (02:04 +0000)]
[project @ 2004-02-12 02:04:59 by mthomas]
General cleanup and updates.
mthomas [Thu, 12 Feb 2004 02:01:54 +0000 (02:01 +0000)]
[project @ 2004-02-12 02:01:54 by mthomas]
Rejig haddock and alex.
simonmar [Wed, 11 Feb 2004 09:19:01 +0000 (09:19 +0000)]
[project @ 2004-02-11 09:19:01 by simonmar]
Happy 1.14 is needed to compile the HEAD these days.
simonpj [Tue, 10 Feb 2004 17:55:24 +0000 (17:55 +0000)]
[project @ 2004-02-10 17:55:24 by simonpj]
Always expose newtypes, at least for now (see comments)
simonpj [Tue, 10 Feb 2004 17:54:50 +0000 (17:54 +0000)]
[project @ 2004-02-10 17:54:50 by simonpj]
Comments only
ross [Mon, 9 Feb 2004 17:23:20 +0000 (17:23 +0000)]
[project @ 2004-02-09 17:23:20 by ross]
only uses FFI, not glasgow-exts. also updated ffi syntax
ross [Mon, 9 Feb 2004 17:21:33 +0000 (17:21 +0000)]
[project @ 2004-02-09 17:21:33 by ross]
the H98 Report no longer says Char is 16 bits, plus a typo
malcolm [Mon, 9 Feb 2004 15:04:20 +0000 (15:04 +0000)]
[project @ 2004-02-09 15:04:19 by malcolm]
Some hints about compiling hsc2hs with nhc98.
panne [Sat, 7 Feb 2004 16:37:07 +0000 (16:37 +0000)]
[project @ 2004-02-07 16:37:06 by panne]
Simplifications + small steps towards a stand-alone hsc2hs:
* Replaced Config module by a simple CPP macro
* Don't #include configuration header
* Bumped version number
* Warning police
panne [Sat, 7 Feb 2004 14:08:57 +0000 (14:08 +0000)]
[project @ 2004-02-07 14:08:57 by panne]
Fixed ingenious sed magic for package configuration files.
Do we really need any sed mangling with gcc's -P option???
panne [Thu, 5 Feb 2004 14:35:44 +0000 (14:35 +0000)]
[project @ 2004-02-05 14:35:44 by panne]
* (Hopefully) made the recursive nature of autoreconf clear
* We don't need automake
* configure doesn't create a cache by default
simonpj [Thu, 5 Feb 2004 09:46:22 +0000 (09:46 +0000)]
[project @ 2004-02-05 09:46:22 by simonpj]
Mention autoreconf, not autoconf
simonmar [Wed, 4 Feb 2004 15:12:41 +0000 (15:12 +0000)]
[project @ 2004-02-04 15:12:41 by simonmar]
Remove $(SCRIPT_OBJS) from $(MOSTLY_CLEAN_FILES) (added in
prev. commit). It turns out that we put actual sources in
$(SCRIPT_OBJS) in several places, so it does not consist of entirely
re-buildable things.
simonmar [Wed, 4 Feb 2004 10:00:43 +0000 (10:00 +0000)]
[project @ 2004-02-04 10:00:43 by simonmar]
Use parsec package when bootstrapping.
simonpj [Tue, 3 Feb 2004 16:46:33 +0000 (16:46 +0000)]
[project @ 2004-02-03 16:46:33 by simonpj]
Add comments about Template Haskell
simonmar [Tue, 3 Feb 2004 10:50:46 +0000 (10:50 +0000)]
[project @ 2004-02-03 10:50:46 by simonmar]
Go back to using $(OBJS) to build $(HS_PROG).
simonmar [Tue, 3 Feb 2004 10:49:17 +0000 (10:49 +0000)]
[project @ 2004-02-03 10:49:17 by simonmar]
Remove $(SCRIPT_OBJS) from $(OBJS) - it can't be serving any useful
purpose there.
simonmar [Mon, 2 Feb 2004 10:49:20 +0000 (10:49 +0000)]
[project @ 2004-02-02 10:49:20 by simonmar]
Accept '-}' at the end of a LINE pragma, in addition to '#-}', for
compatibility with GHC <= 4.08(!).
simonmar [Mon, 2 Feb 2004 10:07:37 +0000 (10:07 +0000)]
[project @ 2004-02-02 10:07:37 by simonmar]
Fix build
dons [Sun, 1 Feb 2004 23:43:02 +0000 (23:43 +0000)]
[project @ 2004-02-01 23:43:02 by dons]
typo in comment only: 'Browing' -> 'Browsing'
simonmar [Fri, 30 Jan 2004 09:35:20 +0000 (09:35 +0000)]
[project @ 2004-01-30 09:35:20 by simonmar]
On second thoughts, just use $(HS_OBJS) and $(C_OBJS) in the HS_PROG
rule. We don't want SCRIPT_OBJS in there too.
igloo [Wed, 28 Jan 2004 17:26:48 +0000 (17:26 +0000)]
[project @ 2004-01-28 17:26:48 by igloo]
Import getPrimRepSize, isFloatingRep, typePrimRep for alpha.
simonmar [Wed, 28 Jan 2004 10:27:26 +0000 (10:27 +0000)]
[project @ 2004-01-28 10:27:26 by simonmar]
Build $(HS_PROG) from $(OBJS), not $(HS_OBJS). In general a Haskell
program might have C bits too, and we don't want to have to hack this
into the Makefile each time.
simonmar [Wed, 28 Jan 2004 10:22:27 +0000 (10:22 +0000)]
[project @ 2004-01-28 10:22:27 by simonmar]
Don't add C_OBJS to HS_OBJS.
simonpj [Wed, 28 Jan 2004 10:04:25 +0000 (10:04 +0000)]
[project @ 2004-01-28 10:04:25 by simonpj]
---------------------------------------
Fix the WinME/98/95 double-backslash bug
---------------------------------------
Merge to stable branch, at least
once we are sure it's right
Backslashes should not be escaped in command-line arguments for rawSystem,
on Win32. This only actually causes failures on WinME/98/95, and we can't
test that since we don't have it. But this fix seems right regardless.
There are extensive new comments in libraries/base/System/Cmd.hs which
describe the issues.
simonmar [Tue, 27 Jan 2004 14:41:22 +0000 (14:41 +0000)]
[project @ 2004-01-27 14:41:22 by simonmar]
error message sorting wibble
simonpj [Tue, 27 Jan 2004 09:16:27 +0000 (09:16 +0000)]
[project @ 2004-01-27 09:16:27 by simonpj]
Comments only
simonmar [Mon, 26 Jan 2004 11:47:16 +0000 (11:47 +0000)]
[project @ 2004-01-26 11:47:16 by simonmar]
GHC 5.x is required for bootstrapping GHC these days.
simonmar [Mon, 26 Jan 2004 10:04:42 +0000 (10:04 +0000)]
[project @ 2004-01-26 10:04:42 by simonmar]
Fix error message printing
simonmar [Mon, 26 Jan 2004 09:56:30 +0000 (09:56 +0000)]
[project @ 2004-01-26 09:56:29 by simonmar]
unbreak the build
simonmar [Fri, 23 Jan 2004 14:30:34 +0000 (14:30 +0000)]
[project @ 2004-01-23 14:30:34 by simonmar]
For building GHC as a package, we need package.conf.in.
simonmar [Fri, 23 Jan 2004 13:55:30 +0000 (13:55 +0000)]
[project @ 2004-01-23 13:55:28 by simonmar]
Some small steps in the direction of making GHC useable as a library:
- The ErrMsg type is now richer: we keep the location info and the
PrintUnqualified separate until the message is printed out, and
messages have a short summary and "extra info", where the extra
info is used for things like the context info in the typechecker
(stuff that you don't normally want to see in a more visual setting,
where the context is obvious because you're looking at the code).
- hscMain now takes an extra argument of type (Messages -> IO ()),
which says what to do with the error messages. In normal usage,
we just pass ErrUtils.printErrorsAndWarnings, but eg. a development
environment will want to do something different. The direction we
need to head in is for hscMain to *never* do any output to
stdout/stderr except via abstractions like this.
simonmar [Fri, 23 Jan 2004 13:46:49 +0000 (13:46 +0000)]
[project @ 2004-01-23 13:46:49 by simonmar]
typo
simonmar [Fri, 23 Jan 2004 13:44:52 +0000 (13:44 +0000)]
[project @ 2004-01-23 13:44:52 by simonmar]
Changes to support building GHC as a package(!!)
simonmar [Fri, 23 Jan 2004 13:42:40 +0000 (13:42 +0000)]
[project @ 2004-01-23 13:42:40 by simonmar]
Small simplification
simonmar [Fri, 23 Jan 2004 13:37:40 +0000 (13:37 +0000)]
[project @ 2004-01-23 13:37:40 by simonmar]
Some tweaks for standalone packages
ross [Thu, 15 Jan 2004 18:04:47 +0000 (18:04 +0000)]
[project @ 2004-01-15 18:04:45 by ross]
The haskell-src package is no longer needed for bootstrapping.
igloo [Thu, 15 Jan 2004 14:43:25 +0000 (14:43 +0000)]
[project @ 2004-01-15 14:43:17 by igloo]
Split Template Haskell out to its own package and update docs and tests.
simonpj [Mon, 12 Jan 2004 15:47:53 +0000 (15:47 +0000)]
[project @ 2004-01-12 15:47:50 by simonpj]
Wibble to kind inference; add zipWithM, zipWithM_ and use them
simonpj [Mon, 12 Jan 2004 14:36:31 +0000 (14:36 +0000)]
[project @ 2004-01-12 14:36:28 by simonpj]
Wibbles to exporting types abstractly
simonpj [Mon, 12 Jan 2004 12:13:26 +0000 (12:13 +0000)]
[project @ 2004-01-12 12:13:26 by simonpj]
Use PolyAlt when we dont know constructors
simonpj [Mon, 12 Jan 2004 10:02:51 +0000 (10:02 +0000)]
[project @ 2004-01-12 10:02:51 by simonpj]
Elaborate depreceated-pragma docs
panne [Sun, 11 Jan 2004 14:43:14 +0000 (14:43 +0000)]
[project @ 2004-01-11 14:43:14 by panne]
Fixed the previous commit: All lists of Strings in package configuration files
were split at commas to allow list-based variables, but this broke perfectly
sensible things like
["-Wl,-rpath,/usr/lib/jvm-bridge/lib/"]
into
["-Wl","-rpath","/usr/lib/jvm-bridge/lib/"]
which is plainly wrong. Now we do this *only* when a variable occurs on its own,
like:
["${deps}","foo"] => ["base","haskell98","network","foo"]
I have slight doubts about this obscure feature, but Sigbjorn seems to want
it...
Merge to STABLE
simonmar [Fri, 9 Jan 2004 12:43:37 +0000 (12:43 +0000)]
[project @ 2004-01-09 12:43:37 by simonmar]
Interesting - I'm not sure why the .lhs -> .raw-hs rule had an
explicit -cpp option in it, but the .hs -> .raw-hs rule didn't.
Remove it.
simonmar [Fri, 9 Jan 2004 12:42:15 +0000 (12:42 +0000)]
[project @ 2004-01-09 12:42:15 by simonmar]
Use gcc's -P option to avoid CPP #line droppings in the .hs -> .raw-hs rule.
simonmar [Fri, 9 Jan 2004 12:41:13 +0000 (12:41 +0000)]
[project @ 2004-01-09 12:41:12 by simonmar]
Add (missing?) -pgmdll option. Remove duplicate -pgmP option.
simonmar [Fri, 9 Jan 2004 12:37:27 +0000 (12:37 +0000)]
[project @ 2004-01-09 12:37:27 by simonmar]
Comment previous commit.
simonmar [Fri, 9 Jan 2004 12:36:54 +0000 (12:36 +0000)]
[project @ 2004-01-09 12:36:54 by simonmar]
ooh, I didn't know about gcc's -P option. Use it instead of hacky sed
script in .pp suffix rule.
simonmar [Fri, 9 Jan 2004 12:09:23 +0000 (12:09 +0000)]
[project @ 2004-01-09 12:09:23 by simonmar]
Remove extra space in 'Not in scope' error message.
simonmar [Thu, 8 Jan 2004 15:26:44 +0000 (15:26 +0000)]
[project @ 2004-01-08 15:26:44 by simonmar]
delayzh: Round *up* to nearest tick, not down
simonpj [Thu, 8 Jan 2004 11:53:29 +0000 (11:53 +0000)]
[project @ 2004-01-08 11:53:29 by simonpj]
---------------------------------------
Fix a long-standing CSE bug with unboxed tuples
---------------------------------------
Merge to stable
Consider
case f x of
(# a,b #) -> if a>0
then f x -- CSE opportunity
else (# b,a #)
GHC 6.2's CSE pass wrongly optimised this to:
case f x of t
(# a,b #) -> if a>0 then
t -- WRONG
else (# b,a #)
(Wrong because we aren't allowed to mention a case binder for
an unboxed-tuple case.)
This commit fixes the problem.
simonmar [Thu, 8 Jan 2004 10:45:33 +0000 (10:45 +0000)]
[project @ 2004-01-08 10:45:33 by simonmar]
Fix warning message about missing Main module to refer to take into
account the -main-is flag.
simonmar [Thu, 8 Jan 2004 10:34:02 +0000 (10:34 +0000)]
[project @ 2004-01-08 10:34:02 by simonmar]
If a -main-is flag was given, with a module name, use *that* module
name rather than Main when deciding whether to link in batch mode or
not.
MERGE TO STABLE
panne [Tue, 6 Jan 2004 18:50:22 +0000 (18:50 +0000)]
[project @ 2004-01-06 18:50:22 by panne]
Removed unused macros
panne [Tue, 6 Jan 2004 18:39:13 +0000 (18:39 +0000)]
[project @ 2004-01-06 18:39:12 by panne]
Cleaned up libm detection
panne [Tue, 6 Jan 2004 17:20:52 +0000 (17:20 +0000)]
[project @ 2004-01-06 17:20:51 by panne]
Use new FP_CHECK_FUNC macro instead of the slightly obscure FPTOOLS_TRY_LINK_NOWARN
simonmar [Tue, 6 Jan 2004 10:45:22 +0000 (10:45 +0000)]
[project @ 2004-01-06 10:45:22 by simonmar]
Replace -ddump-all and -ddump-most with -v5 and -v4 respectively.
simonmar [Mon, 5 Jan 2004 17:32:35 +0000 (17:32 +0000)]
[project @ 2004-01-05 17:32:35 by simonmar]
Instead of grabbing the handle to the executable by calling
dlopen(NULL,...), use RTLD_DEFAULT as the handle to lookup symbols if
it is available. It seems that RTLD_DEFAULT may be required on
certain systems, although I'm not sure it is available everywhere, so
I've left the old code as fallback in case it isn't available.
igloo [Mon, 5 Jan 2004 15:15:27 +0000 (15:15 +0000)]
[project @ 2004-01-05 15:15:26 by igloo]
Use pprint rather than show . ppr to get String representations of TH
datastructures. Also moved pprint out of the class as we never want to
override it.
simonmar [Mon, 5 Jan 2004 14:54:06 +0000 (14:54 +0000)]
[project @ 2004-01-05 14:54:06 by simonmar]
Fix bug in genOutputFilenameFunc: the -keep-blah-files options weren't
being considered for the final phase. Upshot: -keep-hc-files wasn't
working in --make mode (see driver060 & driver061 tests).
MERGE TO STABLE
simonpj [Mon, 5 Jan 2004 12:11:44 +0000 (12:11 +0000)]
[project @ 2004-01-05 12:11:42 by simonpj]
---------------------------------------
Don't expose constructors as vigorously
---------------------------------------
GHC used to expose the constructors of a data type in the interface file,
even if (a) we were not optimising, and (b) the constructors are not exported.
In practice this isn't really necessary, and it's bad because it forces too
much recompilation. I've been meaning to fix this for some while.
Now the data cons are hidden, even in the interface file, if both (a) and (b)
are true. That means less interface file wobbling.
Mind you, the interface file still changes, because the to/from functions for
generic type classes change their types. But provided you don't use them, you'll
get "compilation not required".
We could play the same game for classes (by hiding their class ops) but that'd
mean we'd have to change the data type for IfaceClassDecl, and I can't be
bothered to do that today. It's unusual to have a class which exports none
of its methods anyway.
On the way, I changed the representation of tcg_exports and mg_exports (from
Avails to NameSet), but that should be externally invisible.
simonpj [Mon, 5 Jan 2004 10:41:05 +0000 (10:41 +0000)]
[project @ 2004-01-05 10:41:04 by simonpj]
Fix globaliseId wibble which was killing ghci
simonpj [Mon, 5 Jan 2004 10:40:41 +0000 (10:40 +0000)]
[project @ 2004-01-05 10:40:41 by simonpj]
Trim imports
simonpj [Mon, 5 Jan 2004 09:35:39 +0000 (09:35 +0000)]
[project @ 2004-01-05 09:35:39 by simonpj]
Buglet in desugaring instance declarations
simonpj [Mon, 5 Jan 2004 09:35:00 +0000 (09:35 +0000)]
[project @ 2004-01-05 09:35:00 by simonpj]
Pretty-print wibbles following Ians changes to TH libs
simonpj [Mon, 5 Jan 2004 08:20:40 +0000 (08:20 +0000)]
[project @ 2004-01-05 08:20:39 by simonpj]
Dont report deprecations arising from uses in the export list