simonpj@microsoft.com [Wed, 14 Nov 2007 10:47:01 +0000 (10:47 +0000)]
FIX Trac 1888; duplicate INLINE pragmas
There are actually three things here
- INLINE pragmas weren't being pretty-printed properly
- They were being classified into too-narrow boxes by eqHsSig
- They were being printed in to much detail by hsSigDoc
All easy. Test is rnfail048.
simonpj@microsoft.com [Wed, 14 Nov 2007 10:46:32 +0000 (10:46 +0000)]
Run the -frule-check pass more often (when asked)
Pepe Iborra [Tue, 13 Nov 2007 17:45:39 +0000 (17:45 +0000)]
GHCi debugger: added a new flag, -fno-print-binding-contents
The contents of bindings show at breakpoints and by :show bindings
is rendered using the same printer that :print uses.
But sometimes the output it gives spans over too many lines and the
user may want to be able to disable it.
Pepe Iborra [Tue, 13 Nov 2007 17:01:13 +0000 (17:01 +0000)]
Fix Trac 1865: GHCi debugger crashes with :print
Pepe Iborra [Sat, 13 Oct 2007 11:31:36 +0000 (11:31 +0000)]
Replaced two uses of head b explicit pattern matching
Pepe Iborra [Sat, 6 Oct 2007 12:39:52 +0000 (12:39 +0000)]
Print binding contents in :show bindings
Pepe Iborra [Thu, 4 Oct 2007 20:47:18 +0000 (20:47 +0000)]
Leftovers from the 1st GHCi debugger prototype
Pepe Iborra [Fri, 28 Sep 2007 09:19:41 +0000 (09:19 +0000)]
Following an indirection doesn't count as a RTTI step
Simon Marlow [Tue, 13 Nov 2007 15:32:57 +0000 (15:32 +0000)]
FIX #1653 (partially): add -X flags to completion for :set
David Waern [Mon, 12 Nov 2007 22:05:37 +0000 (22:05 +0000)]
Merge from Haddock: Add <<url>> for images
A merge of this patch:
Mon Aug 7 16:22:14 CEST 2006 Simon Marlow <simonmar@microsoft.com>
* Add <<url>> for images
Submitted by: Lennart Augustsson
Please merge to the 6.8.2 branch.
simonpj@microsoft.com [Mon, 12 Nov 2007 16:02:40 +0000 (16:02 +0000)]
Improve documentation of INLINE, esp its interactions with other transformations
simonpj@microsoft.com [Mon, 12 Nov 2007 15:41:09 +0000 (15:41 +0000)]
Comment re Trac #1220
David Waern [Mon, 12 Nov 2007 02:38:56 +0000 (02:38 +0000)]
Merge from Haddock: Modify lexing of /../
Tue Aug 28 11:19:54 CEST 2007 Simon Marlow <simonmar@microsoft.com>
* Modify lexing of /../
This makes /../ more like '..', so that a single / on a line doesn't
trigger a parse error. This should reduce the causes of accidental
parse errors in Haddock comments; apparently stray / characters are
a common source of failures.
Please merge this to the 6.8.2 branch.
David Waern [Mon, 12 Nov 2007 01:34:39 +0000 (01:34 +0000)]
Merge from Haddock: allow blank lines inside code blocks
Tue Jan 9 14:14:34 CET 2007 Simon Marlow <simonmar@microsoft.com>
* allow blank lines inside a @...@ code block
Please merge this to the 6.8.2 branch
David Waern [Mon, 12 Nov 2007 01:31:43 +0000 (01:31 +0000)]
Merge of a patch from the old Haddock branch:
Fri Jan 5 12:13:41 CET 2007 Simon Marlow <simonmar@microsoft.com>
* Fix up a case of extra vertical space after a code block
Please merge this to the 6.8.2 branch
Ian Lynagh [Sun, 11 Nov 2007 21:36:18 +0000 (21:36 +0000)]
Remove ex-extralibs from libraries/Makefile
Ian Lynagh [Sun, 11 Nov 2007 21:34:47 +0000 (21:34 +0000)]
Remove the X11 and HGL libraries from extralibs
Don Stewart, X11 maintainer, requested we remove X11, and HGL depends on it
on Linux (and we don't try to build HGL on Windows).
Ian Lynagh [Sat, 27 Oct 2007 12:36:56 +0000 (12:36 +0000)]
arrows is no longer an extralib
Ian Lynagh [Sun, 11 Nov 2007 00:11:26 +0000 (00:11 +0000)]
Turn -fprint-bind-result off by default
Ian Lynagh [Sat, 10 Nov 2007 18:03:02 +0000 (18:03 +0000)]
Define CPP in distrib/Makefile-bin-vars.in; fixes #1855
Patch from Christian Maeder
Ian Lynagh [Sat, 10 Nov 2007 18:00:14 +0000 (18:00 +0000)]
Tweak gen_contents_index to work with Solaris's sh
Ian Lynagh [Sat, 10 Nov 2007 17:39:50 +0000 (17:39 +0000)]
Update install-sh
This comes from the Debian automake 1:1.10+nogfdl-1 package.
Ian Lynagh [Sat, 10 Nov 2007 17:13:28 +0000 (17:13 +0000)]
Support more doc targets (html, pdf, etc) in the libraries Makefile
Ian Lynagh [Sat, 10 Nov 2007 17:12:47 +0000 (17:12 +0000)]
Build Cabal user guide during "make", not only "make install-docs"
Ian Lynagh [Sat, 10 Nov 2007 15:23:09 +0000 (15:23 +0000)]
Use INSTALL_SCRIPT, not INSTALL_PROGRAM, when installing scripts; fixes #1858
Ian Lynagh [Sat, 10 Nov 2007 15:15:29 +0000 (15:15 +0000)]
Rename Parser.ly in the extralibs tarball; fixes #1859
If Cabal doesn't see the .ly file then it won't try to run happy, and
thus won't fail if happy isn't installed.
Ian Lynagh [Sat, 10 Nov 2007 15:06:49 +0000 (15:06 +0000)]
Add a path to the DocBook XSL Stylesheets search path
Slackware puts the stylesheets in /usr/share/xml/docbook/xsl-stylesheets*
Patch from Andrea Rossato.
Ian Lynagh [Wed, 31 Oct 2007 00:12:18 +0000 (00:12 +0000)]
Replace "tail -n +2" with "sed 1d", as Solaris doesn't understand the former
Ian Lynagh [Fri, 9 Nov 2007 13:56:56 +0000 (13:56 +0000)]
Fix typo: -XNoRank2Types -> -XRank2Types
simonpj@microsoft.com [Thu, 8 Nov 2007 17:51:08 +0000 (17:51 +0000)]
Fix Trac #1654: propagate name changes into CoreRules
This patch is on the HEAD. It fixes a nasty and long-standing bug
whereby we weren't substituting the ru_fn field of a CoreRule in
CoreSubst.substSpec, which ultimately led to a puzzling "nameModule"
error trying to put the rules in the interface file.
Simon Marlow [Mon, 5 Nov 2007 14:37:14 +0000 (14:37 +0000)]
eliminate a bit of duplication
Simon Marlow [Thu, 8 Nov 2007 13:28:42 +0000 (13:28 +0000)]
Pad static literals to word size in the code generator
Simon Marlow [Wed, 7 Nov 2007 16:14:54 +0000 (16:14 +0000)]
FIX #1617: reloading didn't change the :browse output as it should
The problem was that because the interface hadn't changed, we were
re-using the old ModIface. Unfortunately the ModIface contains the
GlobalRdrEnv for the module, and that *had* changed. The fix is to
put the new GlobalRdrEnv in the ModIface even if the interface has not
otherwise changed.
ModIface is not really the right place for the GlobalRdrEnv, but
neither is ModDetails, so we should think about a better way to do
this.
Simon Marlow [Wed, 7 Nov 2007 16:16:12 +0000 (16:16 +0000)]
FIX BUILD
Sorry, should have pushed with previous batch of changes.
Simon Marlow [Wed, 7 Nov 2007 12:41:18 +0000 (12:41 +0000)]
FIX #1556: GHC's :reload keeps the context, if possible
Simon Marlow [Wed, 7 Nov 2007 11:32:01 +0000 (11:32 +0000)]
FIX #1561: don't use tabs in pretty-printed output at all.
Tabs aren't guaranteed to be 8 spaces on every output device, so we
shouldn't be using them. Instead I added a little optimisation to
use chunks of 8 spaces for long indentations.
Simon Marlow [Wed, 7 Nov 2007 11:17:57 +0000 (11:17 +0000)]
FIX #1765, #1766
- :def! now overwrites a previous command with the same name
- :def on its own lists the defined macros
- ":undef f g" undefines both f and g
Simon Marlow [Wed, 7 Nov 2007 10:26:48 +0000 (10:26 +0000)]
#1617: Add :browse! and various other additions to GHCi
- :browse!
a variant of :browse that lists children separately,
not in context, and gives import qualifiers in comments
SimonM: I also added sorting by source location for interpreted
modules in :browse, and alphabetic sorting by name otherwise. For
:browse *M, the locally-defined names come before the external ones.
- :{ ..lines.. :} (multiline commands)
allow existing commands to be spread over multiple lines
to improve readability, both interactively and in .ghci
(includes a refactoring that unifies the previous three
command loops into one, runCommands, fed from cmdqueue,
file, or readline)
- :set
now shows GHCi-specific flag settings (printing/
debugger), as well as non-language dynamic flag
settings
:show languages
show active language flags
:show packages
show active package flags as well as implicitly
loaded packages
Simon Marlow [Wed, 7 Nov 2007 10:06:53 +0000 (10:06 +0000)]
FIX #1838: use System.Directory.getHomeDirectory instead of getEnv "HOME"
Simon Marlow [Wed, 7 Nov 2007 09:59:52 +0000 (09:59 +0000)]
catch up with removal of config.mk in the readline package
simonpj@microsoft.com [Tue, 6 Nov 2007 15:31:51 +0000 (15:31 +0000)]
Fix Trac #1813: generalise over *all* type variables at top level, even phantom ones
See Note [Silly type synonym] in TcType for further details. This bug
(or at least infelicity) has been in GHC for quite a long time.
simonpj@microsoft.com [Tue, 6 Nov 2007 13:55:48 +0000 (13:55 +0000)]
Fix Trac #1814 (staging interaction in Template Haskell and GHCi), and add comments
An Id bound by GHCi from a previous Stmt is Global but Internal, and
I'd forgotten that, leading to unnecessary restrictions when using TH
and GHCi together.
This patch fixes the problem and adds lots of explanatory comments (which
is where most of the extra lines come from).
simonpj@microsoft.com [Tue, 6 Nov 2007 10:52:58 +0000 (10:52 +0000)]
Improve error messages
simonpj@microsoft.com [Tue, 6 Nov 2007 10:51:51 +0000 (10:51 +0000)]
Improve manual entry for binding lexically scoped type variables in pattern signatures
simonpj@microsoft.com [Tue, 6 Nov 2007 10:49:21 +0000 (10:49 +0000)]
Remove trailing spaces from programlisting lines
simonpj@microsoft.com [Tue, 6 Nov 2007 10:43:15 +0000 (10:43 +0000)]
Remove unhelpful sentence (see Trac #1832)
Merge to 6.8 branch
Simon Marlow [Tue, 6 Nov 2007 14:20:57 +0000 (14:20 +0000)]
fix stage 1 compilation
Simon Marlow [Tue, 6 Nov 2007 14:05:38 +0000 (14:05 +0000)]
warning police
Simon Marlow [Tue, 6 Nov 2007 14:01:21 +0000 (14:01 +0000)]
GHC API: add checkAndLoadModule
Does what the name suggests: it performs the function of both
checkModule and load on that module, avoiding the need to process each
module twice when checking a batch of modules. This will make Haddock
and ghctags much faster.
Along with this is the beginnings of a refactoring of the HscMain
interface. HscMain now exports functions for separately running the
parser, typechecher, and generating ModIface and ModDetails.
Eventually the plan is to complete this interface and use it to
replace the existing one.
Simon Marlow [Tue, 6 Nov 2007 13:54:30 +0000 (13:54 +0000)]
update to use latest changes to the GHC API (works much quicker now)
Simon Marlow [Tue, 6 Nov 2007 10:40:19 +0000 (10:40 +0000)]
warning police
Simon Marlow [Mon, 5 Nov 2007 16:40:54 +0000 (16:40 +0000)]
Various improvements
- take the GHC topdir as a runtime argument
- deal with files one at a time (fix space leak)
Simon Marlow [Mon, 5 Nov 2007 16:39:54 +0000 (16:39 +0000)]
build ghctags-inplace
Simon Marlow [Mon, 5 Nov 2007 16:39:27 +0000 (16:39 +0000)]
updates to ghctags code
Simon Marlow [Mon, 5 Nov 2007 14:37:14 +0000 (14:37 +0000)]
eliminate a bit of duplication
Simon Marlow [Mon, 5 Nov 2007 14:22:17 +0000 (14:22 +0000)]
catch up with changes to checkModule
Simon Marlow [Mon, 25 Jun 2007 13:41:51 +0000 (13:41 +0000)]
reorder the imports
Simon Marlow [Mon, 25 Jun 2007 13:34:50 +0000 (13:34 +0000)]
add $(GHCTAGS)
Simon Marlow [Mon, 25 Jun 2007 13:31:19 +0000 (13:31 +0000)]
follow changes in HsRecFields
Simon Marlow [Mon, 25 Jun 2007 13:21:58 +0000 (13:21 +0000)]
merged patches relating to GhcTags from #946
* accomodate changes in the GHC API
* refactoring for more readable source code
* if the whole group fails, try one file at a time
* desperate attempts to handle the GHC build
Simon Marlow [Mon, 25 Jun 2007 13:20:47 +0000 (13:20 +0000)]
Rules to create TAGS using ghctags
nr@eecs.harvard.edu [Mon, 25 Jun 2007 13:19:06 +0000 (13:19 +0000)]
request for documentation of a new argument
nr@eecs.harvard.edu [Fri, 13 Oct 2006 20:27:56 +0000 (20:27 +0000)]
new README file for utils/ghctags
Norman Ramsey [Wed, 20 Sep 2006 04:28:39 +0000 (04:28 +0000)]
proper HC entry for bootstrapping in Makefile
Norman Ramsey [Wed, 20 Sep 2006 04:27:57 +0000 (04:27 +0000)]
first cut at missing case for ids defined in pattern
Norman Ramsey [Sun, 17 Sep 2006 05:08:00 +0000 (05:08 +0000)]
change representation of FoundThing
refactored FoundThing to use GHC's native representation of
source-code locations and to carry the module name so that the TAGS
file can contain a qualified name as well as the unqualified name
Norman Ramsey [Sun, 17 Sep 2006 01:55:39 +0000 (01:55 +0000)]
get names of data constructors
Norman Ramsey [Sun, 17 Sep 2006 00:34:10 +0000 (00:34 +0000)]
do notation for the Maybe monad
Norman Ramsey [Sun, 17 Sep 2006 00:24:30 +0000 (00:24 +0000)]
load all files at once and compute tags for all
Norman Ramsey [Sun, 17 Sep 2006 00:23:53 +0000 (00:23 +0000)]
tell GHC not to generate code (thanks Simon M)
Norman Ramsey [Sat, 16 Sep 2006 23:27:55 +0000 (23:27 +0000)]
cover more cases; take GHC options on command line
Bit of a dog's breakfast here:
* generate tags for more cases in the syntax
* accept -package ghc and other args on command line
* scrub away old code for snaffling thru text
Norman Ramsey [Fri, 15 Sep 2006 23:50:33 +0000 (23:50 +0000)]
initial, very incomplete tags generator
The ultimate goal is to replace hasktags with
a tags generator based on GHC-as-a-library.
This file is a very incomplete first cut.
simonpj@microsoft.com [Mon, 5 Nov 2007 22:08:07 +0000 (22:08 +0000)]
Inline implication constraints
This patch fixes Trac #1643, where Lennart found that GHC was generating
code with unnecessary dictionaries. The reason was that we were getting
an implication constraint floated out of an INLINE (actually an instance
decl), and the implication constraint therefore wasn't inlined even
though it was used only once (but inside the INLINE). Thus we were
getting:
ic = \d -> <stuff>
foo = _inline_me_ (...ic...)
Then 'foo' gets inlined in lots of places, but 'ic' now looks a bit
big.
But implication constraints should *always* be inlined; they are just
artefacts of the constraint simplifier.
This patch solves the problem, by adding a WpInline form to the HsWrap
type.
simonpj@microsoft.com [Mon, 5 Nov 2007 22:07:44 +0000 (22:07 +0000)]
Comment warning about transparent newtypes
simonpj@microsoft.com [Mon, 5 Nov 2007 22:06:27 +0000 (22:06 +0000)]
Wibble to earlier case-merge fix
This fix avoids a bogus WARN in SimplEnv.substId
simonpj@microsoft.com [Mon, 5 Nov 2007 22:05:35 +0000 (22:05 +0000)]
Improve pretty-printing of Core slightly (avoid indenting let bodies)
simonpj@microsoft.com [Mon, 5 Nov 2007 16:13:14 +0000 (16:13 +0000)]
Fix an old but subtle bug in the Simplifier
I got a Core Lint failure when compiling System.Win32.Info in the
Win32 package. It was very delicate: adding or removing a function
definition elsewhere in the module (unrelated to the error) made the
error go away.
Happily, I found it. In SimplUtils.prepareDefault I was comparing an
InId with an OutId. We were getting a spurious hit, and hence doing
a bogus CaseMerge.
This bug has been lurking ever since I re-factored the way that case
expressions were simplified, about 6 months ago!
simonpj@microsoft.com [Mon, 5 Nov 2007 16:12:17 +0000 (16:12 +0000)]
Make CoreLint give a more informative error message
simonpj@microsoft.com [Mon, 5 Nov 2007 14:53:40 +0000 (14:53 +0000)]
Comments about TH staging
Aaron Tomb [Mon, 29 Oct 2007 20:26:36 +0000 (20:26 +0000)]
Fix freeHaskellFunctionPtr for Darwin/i386
Ian Lynagh [Sat, 3 Nov 2007 18:08:03 +0000 (18:08 +0000)]
MERGED: Set interfacedir (using $topdir, not $httptopdir)
Mon Oct 29 10:48:25 PDT 2007 Ian Lynagh <igloo@earth.li>
Ian Lynagh [Mon, 29 Oct 2007 16:11:30 +0000 (16:11 +0000)]
Teach ghc-pkg about $httptopdir
Ian Lynagh [Sat, 3 Nov 2007 18:02:59 +0000 (18:02 +0000)]
MERGED: installPackage needs to treat $httptopdir the same as $topdir
Sun Oct 28 06:45:34 PDT 2007 Ian Lynagh <igloo@earth.li>
Ian Lynagh [Sat, 3 Nov 2007 18:00:23 +0000 (18:00 +0000)]
MERGED: Define and use $httptopdir for the haddock docs locations
Sun Oct 28 05:35:52 PDT 2007 Ian Lynagh <igloo@earth.li>
Ian Lynagh [Sun, 28 Oct 2007 13:17:52 +0000 (13:17 +0000)]
We need to copy .buildinfo files into the bindists
Simon Marlow [Fri, 2 Nov 2007 15:59:54 +0000 (15:59 +0000)]
(>>>) now comes from GHC.Desugar
simonpj@microsoft.com [Fri, 2 Nov 2007 13:01:15 +0000 (13:01 +0000)]
Refactor error recovery slightly
Mostly this patch is refacoring, but it also avoids post-tc zonking if
the typechecker found errors. This is good because otherwise with
DEBUG you can get the "Inventing strangely-kinded TyCon" warning.
simonpj@microsoft.com [Fri, 2 Nov 2007 13:00:43 +0000 (13:00 +0000)]
Avoid Haddock bug #1821
simonpj@microsoft.com [Thu, 1 Nov 2007 18:03:02 +0000 (18:03 +0000)]
Update error message to mention -XPatternSignatures instead of -fglasgow-exts
simonpj@microsoft.com [Thu, 1 Nov 2007 17:50:22 +0000 (17:50 +0000)]
Rejig the error messages a bit; fixes a minor bug
The type checker was only reporting the first message if an equality
failed to match. This patch does a bit of refactoring and fixes the
bug, which was in the bogus use of eqInstMisMatch
in tcSimplify.report_no_instances.b
This is really a bug in 6.8 too, so this would be good to merge across
to the 6.8 branch.
David Waern [Thu, 1 Nov 2007 13:17:57 +0000 (13:17 +0000)]
Refactor Haddock options
This patch renames the DOC_OPTIONS pragma to OPTIONS_HADDOCK. It also
adds "-- # ..."-style Haddock option pragmas, for compatibility with
code that use them.
Another change is that both of these two pragmas behave like
OPTIONS_GHC, i.e. they are only allowed at the top of the module, they
are ignored everywhere else and they are stored in the dynflags. There is
no longer any Haddock options in HsSyn.
Please merge this to the 6.8.2 branch when 6.8.1 is out, if appropriate.
Simon Marlow [Wed, 31 Oct 2007 09:39:32 +0000 (09:39 +0000)]
clean ghci-inplace
Simon Marlow [Wed, 31 Oct 2007 09:39:23 +0000 (09:39 +0000)]
clean Haddock droppings
Manuel M T Chakravarty [Tue, 30 Oct 2007 13:30:03 +0000 (13:30 +0000)]
Fix warning in OSMem for darwin
simonpj@microsoft.com [Tue, 30 Oct 2007 11:38:57 +0000 (11:38 +0000)]
FIX BUILD: a glitch in the new rules and inlining stuff
Don't re-add the worker info to a binder until completeBind. It's not
needed in its own RHS, and it may be replaced, via the substitution
following postInlineUnconditionally.
(Fixes build of the stage2 compiler which fell over when Coercion.lhs
was being compiled.)
simonpj@microsoft.com [Mon, 29 Oct 2007 17:06:20 +0000 (17:06 +0000)]
Fix LiberateCase
Merge to STABLE please
Liberate case was being far too gung-ho about what to specialise. This
bug only showed up when a recursive function 'f' has a nested recursive
function 'g', where 'g' calls 'f' (as well as recursively calling 'g').
This exact situation happens in GHC/IO.writeLines.
This patch puts things right; see Note [When to specialise]. Result:
much less code bloat.
simonpj@microsoft.com [Mon, 29 Oct 2007 16:26:37 +0000 (16:26 +0000)]
Improve error-message output slightly
simonpj@microsoft.com [Mon, 29 Oct 2007 16:25:05 +0000 (16:25 +0000)]
Improve documentation of orphan instances (thanks to Adrian Hey)
Please push to stable branch
Simon
Simon Marlow [Mon, 29 Oct 2007 12:07:32 +0000 (12:07 +0000)]
fix installation of haddock.css and friends
simonpj@microsoft.com [Sat, 27 Oct 2007 15:33:30 +0000 (15:33 +0000)]
In a pattern binding, a type sig in the pattern cannot bind a type variable
In a pattern binding with a pattern type signature, such as
(Just (x::a)) = e
the pattern type signature cannot bind type variables. Hence
'a' must be in scope already for the above example to be legal.
This has been the situation for some time, but Dan changed it when
adding view patterns. This one-line change restores the old behaviour.