Ian Lynagh [Sat, 24 Nov 2007 16:24:50 +0000 (16:24 +0000)]
Make install-sh executable /before/ we try to find it
Ian Lynagh [Fri, 23 Nov 2007 20:43:52 +0000 (20:43 +0000)]
Document --info in the +RTS -? help
Ian Lynagh [Fri, 23 Nov 2007 23:31:13 +0000 (23:31 +0000)]
MERGED: If we have hscolour then make source code links in teh haddock docs
Fri Nov 23 13:15:59 PST 2007 Ian Lynagh <igloo@earth.li>
simonpj@microsoft.com [Fri, 23 Nov 2007 15:35:19 +0000 (15:35 +0000)]
Tidy and trim the type environment in mkBootModDetails
Should fix Trac #1833
We were failing to trim the type envt in mkBootModDetails, so several
functions all called (*), for example, were getting into the interface.
Result chaos. It only actually bites when we do the retyping-loop thing,
which is why it's gone so long without a fix.
Simon Marlow [Fri, 23 Nov 2007 13:52:37 +0000 (13:52 +0000)]
refactor: HscNothing and boot modules do not need desugaring
Bertram Felgenhauer [Wed, 21 Nov 2007 10:26:27 +0000 (10:26 +0000)]
FIX #1910: fix code generated for GDTOI on x86_32
Manuel M T Chakravarty [Thu, 22 Nov 2007 09:30:02 +0000 (09:30 +0000)]
Properly ppr InstEqs in wanteds of implication constraints
Bertram Felgenhauer [Wed, 21 Nov 2007 10:26:27 +0000 (10:26 +0000)]
FIX #1910: fix code generated for GDTOI on x86_32
Roman Leshchinskiy [Thu, 22 Nov 2007 00:25:17 +0000 (00:25 +0000)]
Add built-in Double operations to vectorisation
Roman Leshchinskiy [Wed, 21 Nov 2007 05:49:32 +0000 (05:49 +0000)]
Teach vectorisation about Double
Roman Leshchinskiy [Wed, 21 Nov 2007 05:31:02 +0000 (05:31 +0000)]
Vectorise polyexprs with notes
simonpj@microsoft.com [Wed, 21 Nov 2007 17:49:14 +0000 (17:49 +0000)]
Make rebindable do-notation behave as advertised
Adopt Trac #1537. The patch ended up a bit bigger than I expected,
so I suggest we do not merge this into the 6.8 branch. But there
is no funadamental reason why not.
With this patch, rebindable do-notation really does type as if you
had written the original (>>) and (>>=) operations in desguared form.
I ended up refactoring some of the (rather complicated) error-context
stuff in TcUnify, by pushing an InstOrigin into tcSubExp and its
various calls. That means we could get rid of tcFunResTy, and the
SubCtxt type. This should improve error messages slightly
in complicated situations, because we have an Origin to hand
to instCall (in the (isSigmaTy actual_ty) case of tc_sub1).
Thanks to Pepe for the first draft of the patch.
simonpj@microsoft.com [Fri, 16 Nov 2007 15:24:46 +0000 (15:24 +0000)]
Add DEBUG-only flag -dsuppress-uniques to suppress printing of uniques
This is intended only for debugging use: it makes it easier to
compare two variants without the variations between uniques mattering.
(Of course, you can't actually feed the output to the C compiler
or assembler and expect anything sensible to happen!)
simonpj@microsoft.com [Mon, 5 Nov 2007 16:47:33 +0000 (16:47 +0000)]
Add -dcore-lint when validating libraries
simonpj@microsoft.com [Wed, 21 Nov 2007 15:14:28 +0000 (15:14 +0000)]
Fix Trac #1913: check data const for derived types are in scope
When deriving an instance, the data constructors should all be in scope.
This patch checks the condition.
simonpj@microsoft.com [Tue, 20 Nov 2007 16:01:52 +0000 (16:01 +0000)]
Fix Trac #1909: type of map in docs
Simon Marlow [Tue, 20 Nov 2007 14:08:59 +0000 (14:08 +0000)]
Move file locking into the RTS, fixing #629, #1109
File locking (of the Haskell 98 variety) was previously done using a
static table with linear search, which had two problems: the array had
a fixed size and was sometimes too small (#1109), and performance of
lockFile/unlockFile was suboptimal due to the linear search.
Also the algorithm failed to count readers as required by Haskell 98
(#629).
Now it's done using a hash table (provided by the RTS). Furthermore I
avoided the extra fstat() for every open file by passing the dev_t and
ino_t into lockFile. This and the improvements to the locking
algorithm result in a healthy 20% or so performance increase for
opening/closing files (see openFile008 test).
simonpj@microsoft.com [Tue, 20 Nov 2007 12:57:32 +0000 (12:57 +0000)]
FIX Trac #1825: standalone deriving Typeable
Standalone deriving of typeable now requires you to say
instance Typeable1 Maybe
which is exactly the shape of instance decl that is generated
by a 'deriving( Typeable )' clause on the data type decl.
This is a bit horrid, but it's the only consistent way, at least
for now. If you say something else, the error messages are helpful.
MERGE to 6.8 branch
simonpj@microsoft.com [Tue, 20 Nov 2007 11:17:23 +0000 (11:17 +0000)]
FIX #1715: egregious bug in ifaceDeclSubBndrs
ifaceDeclSubBndrs didn't have an IfaceSyn case; but with type
families an IfaceSyn can introduce subordinate binders. Result:
chaos.
The fix is easy though. Merge to 6.8 branch.
Simon Marlow [Tue, 20 Nov 2007 10:33:29 +0000 (10:33 +0000)]
Always do 'setup makefile' before building each library
This forces preprocessing to happen, which is necessary if any of the
.hsc files have been modified. Without this change, a 'setup
makefile' would be required by hand after a .hsc file changed.
Fortunately 'setup makefile' isn't much extra work, and I've made it
not overwrite GNUmakefile if it hasn't changed, which avoids
recalculating the dependencies each time.
claus.reinke@talk21.com [Thu, 8 Nov 2007 01:31:47 +0000 (01:31 +0000)]
FIX #1847 (improve :browse! docs, fix unqual)
- add example to docs, explain how to interpret
output of `:browse! Data.Maybe`
- print unqualified names according to current
context, not the context of the target module
Roman Leshchinskiy [Tue, 20 Nov 2007 03:37:16 +0000 (03:37 +0000)]
Track changes to package ndp
Roman Leshchinskiy [Tue, 20 Nov 2007 02:45:45 +0000 (02:45 +0000)]
Temporary hack for passing PArrays from unvectorised to vectorised code
Roman Leshchinskiy [Mon, 19 Nov 2007 02:03:02 +0000 (02:03 +0000)]
Bind NDP stuff to [:.:] arrays
Roman Leshchinskiy [Mon, 19 Nov 2007 01:37:29 +0000 (01:37 +0000)]
Don't treat enumerations specially during vectorisation for the moment
Roman Leshchinskiy [Mon, 19 Nov 2007 01:37:14 +0000 (01:37 +0000)]
Fix bugs in vectorisation of case expressions
Roman Leshchinskiy [Mon, 19 Nov 2007 01:22:05 +0000 (01:22 +0000)]
More built-in NDP combinators
Roman Leshchinskiy [Sun, 18 Nov 2007 05:19:40 +0000 (05:19 +0000)]
New vectorisation built-ins
Roman Leshchinskiy [Sun, 18 Nov 2007 05:19:26 +0000 (05:19 +0000)]
Fix bug in conversion unvect/vect
Roman Leshchinskiy [Sun, 18 Nov 2007 04:52:19 +0000 (04:52 +0000)]
Extend built-in vectorisation environments
Roman Leshchinskiy [Sun, 18 Nov 2007 04:52:03 +0000 (04:52 +0000)]
Fix bug in generation of environments for vectorisation
Roman Leshchinskiy [Sun, 18 Nov 2007 04:26:05 +0000 (04:26 +0000)]
Add builtin var->var mapping to vectorisation
Roman Leshchinskiy [Sun, 18 Nov 2007 03:43:51 +0000 (03:43 +0000)]
Extend vectorisation built-in mappings with datacons
Roman Leshchinskiy [Sun, 18 Nov 2007 03:33:55 +0000 (03:33 +0000)]
Change representation of parallel arrays of enumerations
Roman Leshchinskiy [Sun, 18 Nov 2007 03:15:13 +0000 (03:15 +0000)]
Add vectorisation-related builtin
Roman Leshchinskiy [Sat, 17 Nov 2007 04:27:14 +0000 (04:27 +0000)]
Teach vectorisation about Bool
Roman Leshchinskiy [Sat, 17 Nov 2007 04:07:39 +0000 (04:07 +0000)]
Incomplete support for boxing during vectorisation
Roman Leshchinskiy [Sat, 17 Nov 2007 04:05:37 +0000 (04:05 +0000)]
Make sure some TyCons always vectorise to themselves
Roman Leshchinskiy [Sat, 17 Nov 2007 02:30:29 +0000 (02:30 +0000)]
Simple conversion vectorised -> unvectorised
Roman Leshchinskiy [Sat, 17 Nov 2007 01:50:14 +0000 (01:50 +0000)]
Fix bug in case vectorisation
Roman Leshchinskiy [Fri, 16 Nov 2007 07:48:14 +0000 (07:48 +0000)]
Vectorisation of algebraic case expressions
Roman Leshchinskiy [Fri, 16 Nov 2007 06:18:31 +0000 (06:18 +0000)]
More vectorisation-related built-ins
Roman Leshchinskiy [Fri, 16 Nov 2007 05:10:37 +0000 (05:10 +0000)]
Vectorisation utilities
Roman Leshchinskiy [Fri, 16 Nov 2007 05:09:59 +0000 (05:09 +0000)]
Add vectorisation built-ins
Roman Leshchinskiy [Fri, 16 Nov 2007 02:18:33 +0000 (02:18 +0000)]
Fix vectorisation of binders in case expressions
simonpj@microsoft.com [Mon, 19 Nov 2007 13:46:39 +0000 (13:46 +0000)]
Two small typos in the flags summary (merge to 6.8 branch)
simonpj@microsoft.com [Mon, 19 Nov 2007 12:29:38 +0000 (12:29 +0000)]
Improve the situation for Trac #959: civilised warning instead of a trace msg
This doesn't fix the root cause of the bug, but it makes the report
more civilised, and points to further info.
simonpj@microsoft.com [Mon, 19 Nov 2007 11:43:01 +0000 (11:43 +0000)]
FIX Trac #1806: test for correct arity for datacon in infix pattern patch
Happily the fix is easy; pls merge
Ian Lynagh [Sat, 17 Nov 2007 15:45:02 +0000 (15:45 +0000)]
Accept x86_64-*-freebsd* as well as amd64-*-freebsd* in configure.ac
Patch from Brian P. O'Hanlon
Simon Marlow [Fri, 16 Nov 2007 15:21:48 +0000 (15:21 +0000)]
Attempt at fixing #1873, #1360
I think I figured out a reasonable way to manage the GHCi context,
comments welcome.
Rule 1: external package modules in the context are persistent. That
is, when you say 'import Data.Maybe' it survives over :load, :add,
:reload and :cd.
Rule 2: :load and :add remove all home-package modules from the
context and add the rightmost target, as a *-module if possible. This
is as before, and makes sense for :load because we're starting a new
program; the old home-package modules don't make sense any more. For
:add, it usually does what you want, because the new target will
become the context.
Rule 3: any modules from the context that fail to load during a
:reload are remembered, and re-added to the context at the next
successful :reload.
Claus' suggestion about adding the "remembered" modules to the prompt
prefixed with a ! is implemented but commented out. I couldn't
decide whether it was useful or confusing.
One difference that people might notice is that after a :reload where
there were errors, GHCi would previously dump you in the most recent
module that it loaded. Now it dumps you in whatever subset of the
current context still makes sense, and in the common case that will
probably be {Prelude}.
simonpj@microsoft.com [Fri, 16 Nov 2007 15:03:41 +0000 (15:03 +0000)]
Wibble to fix Trac #1901 (shorten messsage slightly)
simonpj@microsoft.com [Fri, 16 Nov 2007 14:58:16 +0000 (14:58 +0000)]
Improve links from flag reference to the relevant section; and improve doc of RankN flags
simonpj@microsoft.com [Fri, 16 Nov 2007 14:56:09 +0000 (14:56 +0000)]
FIX Trac #1901: check no existential context in H98 mode
simonpj@microsoft.com [Fri, 16 Nov 2007 08:18:41 +0000 (08:18 +0000)]
Improve documentation of data type declarations (Trac #1901)
Simon Marlow [Fri, 16 Nov 2007 13:20:46 +0000 (13:20 +0000)]
Change the command-line semantics for query commands
From the help text:
Commands that query the package database (list, latest, describe,
field) operate on the list of databases specified by the flags
--user, --global, and --package-conf. If none of these flags are
given, the default is --global --user.
This makes it possible to query just a single database (e.g. the
global one without the user one), which needed tricks to accomplish
before.
Simon Marlow [Fri, 16 Nov 2007 12:20:18 +0000 (12:20 +0000)]
use "ghc-pkg latest --global" instead of "ghc-pkg list --simple-output"
The former now does the right thing: it uses the global database only,
and picks the most recent package with the given name.
Simon Marlow [Fri, 16 Nov 2007 12:11:53 +0000 (12:11 +0000)]
Disallow installing packages whose names differ in case only.
--force overrides. Requested by Duncan Coutts, with a view to
treating package names as case-insensitive in the future.
Simon Marlow [Fri, 16 Nov 2007 10:12:27 +0000 (10:12 +0000)]
FIX BUILD (with GHC 6.2.x): update .hi-boot file
Simon Marlow [Thu, 15 Nov 2007 15:57:47 +0000 (15:57 +0000)]
FIX #1828: installing to a patch with spaces in
We have to pass the path to gcc when calling windres, which itself
might have spaces in. Furthermore, we have to pass the path to gcc's
tools to gcc. This means getting the quoting right, and after much
experimentation and reading of the windres sources I found something
that works: passing --use-temp-files to windres makes it use its own
implementation of quoting instead of popen(), and this does what we
want. Sigh.
Simon Marlow [Thu, 15 Nov 2007 15:53:27 +0000 (15:53 +0000)]
on Windows, install to a directory with spaces (test for #1828)
Simon Marlow [Thu, 15 Nov 2007 13:16:35 +0000 (13:16 +0000)]
FIX #1679: crash on returning from a foreign call
We forgot to save a pointer to the BCO over the foreign call. Doing
enough allocation and GC during the call could provoke a crash.
Simon Marlow [Thu, 15 Nov 2007 10:32:49 +0000 (10:32 +0000)]
Avoid the use of unversioned package dependencies
Fortunately "ghc-pkg list $pkg --simple-output" is a good way to add
the version number.
Simon Marlow [Wed, 14 Nov 2007 16:53:23 +0000 (16:53 +0000)]
FIX #1596 (remove deprecated --define-name)
Also remove the old command-line syntax for ghc-pkg, which was not
documented. Do not merge.
Simon Marlow [Wed, 14 Nov 2007 16:10:44 +0000 (16:10 +0000)]
FIX #1837: remove deprecated support for unversioned dependencies (do not merge)
Pepe Iborra [Wed, 14 Nov 2007 23:33:56 +0000 (23:33 +0000)]
wibble
Pepe Iborra [Wed, 14 Nov 2007 23:33:43 +0000 (23:33 +0000)]
Make pprNameLoc more robust in absence of loc information
Pepe Iborra [Wed, 14 Nov 2007 23:16:01 +0000 (23:16 +0000)]
Try to manage the size of the text rendered for ':show bindings'
Pepe Iborra [Wed, 14 Nov 2007 18:34:17 +0000 (18:34 +0000)]
Make the Term ppr depth aware
Pepe Iborra [Wed, 14 Nov 2007 18:12:33 +0000 (18:12 +0000)]
Use paragraph fill sep where possible
simonpj@microsoft.com [Thu, 15 Nov 2007 08:42:42 +0000 (08:42 +0000)]
Make SpecConstr work again
In a typo I'd written env instead of env', and as a result RULES are
practically guaranteed not to work in a recursive group. This pretty
much kills SpecConstr in its tracks!
Well done Kenny Lu for spotting this. The fix is easy.
Merge into 6.8 please.
Tim Chevalier [Thu, 15 Nov 2007 05:57:48 +0000 (05:57 +0000)]
Documentation only - fix typo in flags reference
David Waern [Wed, 14 Nov 2007 20:40:50 +0000 (20:40 +0000)]
Avoid making Either String an instance of Monad in the Haddock parser
claus.reinke@talk21.com [Fri, 9 Nov 2007 16:26:52 +0000 (16:26 +0000)]
FIX 1463 (implement 'ghc-pkg find-module')
- the ticket asks for a module2package lookup in ghc-pkg
(this would be useful to have in cabal, as well)
- we can now ask which packages expose a module we need,
eg, when preparing a cabal file or when getting errors
after package reorganisations:
$ ./ghc-pkg-inplace find-module Var
c:/fptools/ghc/driver/package.conf.inplace:
(ghc-6.9.
20071106)
$ ./ghc-pkg-inplace find-module Data.Sequence
c:/fptools/ghc/driver/package.conf.inplace:
containers-0.1
- implemented as a minor variation on listPackages
(as usual, it would be useful if one could combine
multiple queries into one)
Simon Marlow [Wed, 14 Nov 2007 15:34:17 +0000 (15:34 +0000)]
remove --define-name from the --help usage message (#1596)
Simon Marlow [Wed, 14 Nov 2007 15:30:10 +0000 (15:30 +0000)]
FIX #1837: emit deprecated message for unversioned dependencies
Simon Marlow [Wed, 14 Nov 2007 15:14:11 +0000 (15:14 +0000)]
Fix #782, #1483, #1649: Unicode GHCi input
GHCi input is now treated universally as UTF-8, except for the Windows
console where we do the correct conversion from the current code
page (see System.Win32.stringToUnicode).
That leaves non-UTF-8 locales on Unix as unsupported, but (a) we only
accept source files in UTF-8 anyway, and (b) UTF-8 is quite ubiquitous
as the default locale.
David Waern [Wed, 14 Nov 2007 12:58:42 +0000 (12:58 +0000)]
Fix build
I had forgot to update HaddockLex.hi-boot-6, so the build with 6.2.2
failed. This fixes that.
simonpj@microsoft.com [Wed, 14 Nov 2007 11:29:30 +0000 (11:29 +0000)]
FIX Trac 1662: actually check for existentials in proc patterns
I'd fixed the bug for code that should be OK, but had forgotten to
make the test for code that should be rejected!
Test is arrowfail004
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.