Ian Lynagh [Sat, 2 Jun 2007 12:11:59 +0000 (12:11 +0000)]
Remove now-unused files
Ian Lynagh [Sat, 2 Jun 2007 12:10:17 +0000 (12:10 +0000)]
Fix ghcii.sh creation
Ian Lynagh [Sat, 2 Jun 2007 01:51:01 +0000 (01:51 +0000)]
Explicitly set datadir
Cabal defaults to the value we want on Linux, but uses
"C:\\Program Files\\Common Files" on Windows.
Ian Lynagh [Fri, 1 Jun 2007 22:43:01 +0000 (22:43 +0000)]
Fix a -- that somehow turned into a ----
Ian Lynagh [Fri, 1 Jun 2007 22:33:55 +0000 (22:33 +0000)]
Fix creation of hsc2hs-inplace.bat
Ian Lynagh [Fri, 1 Jun 2007 21:49:53 +0000 (21:49 +0000)]
ghc-pkg-inplace now has .bat extension on Windows
Ian Lynagh [Fri, 1 Jun 2007 21:05:55 +0000 (21:05 +0000)]
Add omitted files (mk/{install,recurse}.mk)
Ian Lynagh [Fri, 1 Jun 2007 19:06:59 +0000 (19:06 +0000)]
Fix bindist creation
Bindists should now work again, when doing "make install" at least.
"make in-place" is probably still broken.
Ian Lynagh [Thu, 31 May 2007 14:35:05 +0000 (14:35 +0000)]
Rework the build system a bit
Key changes:
* Always build as if BIN_DIST is 1. BIN_DIST is thus removed.
* Libraries are configured with prefix set to $$topdir rather than $(prefix)
Ian Lynagh [Wed, 30 May 2007 14:46:33 +0000 (14:46 +0000)]
Make package.conf files a bit more readable
andy@galois.com [Tue, 12 Jun 2007 07:46:55 +0000 (07:46 +0000)]
Adding new ffi calls into the Hpc rts subsystem
foreign import ccall unsafe hs_hpc_write :: CString -> IO ()
foreign import ccall unsafe hs_hpc_read :: CString -> IO ()
These write a Hpc description of the state of the world to a file,
or read a description into the current Hpc tickbox subsystem.
Simon Marlow [Tue, 12 Jun 2007 08:17:03 +0000 (08:17 +0000)]
don't add -threaded in stage2/3 if we didn't build the threaded RTS
Simon Marlow [Tue, 12 Jun 2007 07:46:57 +0000 (07:46 +0000)]
fix compile error in the !GHCI_TABLES_NEXT_TO_CODE case
Thorkil Naur [Fri, 18 May 2007 16:59:57 +0000 (16:59 +0000)]
Fix PPC Mac OS X memory access problem in SMP.h (#1362)
andy@galois.com [Sat, 9 Jun 2007 00:00:21 +0000 (00:00 +0000)]
Using blacklist of places not to cover, rather than reverse-engineer deriving.
andy@galois.com [Fri, 8 Jun 2007 22:40:16 +0000 (22:40 +0000)]
Not adding ticks to compiler generated derived code.
Manuel M T Chakravarty [Fri, 8 Jun 2007 06:10:46 +0000 (06:10 +0000)]
Fix worker/wrapper ids for newtype instances
- mkDataConIds forced an algebraic worker/wrapper on newtype instances (not
on vanilla newtypes). I am not sure where this came from (from code I
wrote or from the recent restructuring of MkIds), but its not the right
thing to do. In particular, it requires newtype instances to have con_info
labels in the generated code, which makes no sense.
- Worker construction for newtypes is smart enough that it will construct the
right signature for newtype instances (ie, one that mentions the family
type constructor, not the instance tycon).
Manuel M T Chakravarty [Fri, 8 Jun 2007 04:44:00 +0000 (04:44 +0000)]
Fix deriving of indexed data types
- Fix typo introduced when moving deriving-specific code from TcEnv to TcDeriv
- Thanks to Roman for the bug report
Ian Lynagh [Thu, 7 Jun 2007 13:55:46 +0000 (13:55 +0000)]
Add instructions for adding a library to a build tree
simonpj@microsoft.com [Wed, 6 Jun 2007 13:34:37 +0000 (13:34 +0000)]
Don't suggest -fno-monomorphism-restriction if it's already set
This patch implements the suggestion in Trac #1398. It's obviously
stupid to suggest -fno-monomorphism-restriction if the user is already
using it.
(Maybe another suggestion would be good, but this one clearly bogus.)
simonpj@microsoft.com [Wed, 6 Jun 2007 13:25:21 +0000 (13:25 +0000)]
Remove unnecessary free-variables from renamer
The renamer used to be responsible for making sure that all interfaces
with instance decls (other than orphans) were loaded. But TH makes that
impossible, so the typechecker does it, via checkWiredInTyCon.
This patch simply removes redundant additions to the free-variable set
in the renamer, which were there, I believe, solely to ensure that the
instances came in. Removing them should change nothing, but it's a
useful clean up.
simonpj@microsoft.com [Wed, 6 Jun 2007 13:00:56 +0000 (13:00 +0000)]
FIX #1385: make sure tuple instances are loaded
Typechecking of explicit tuples is done "by hand" (rather than using
boxySplitTyConApp) so that rigidity is maintained. In making that change
I'd forgotten to retain the call to checkWiredInTyCon, which is important
to make sure instances are brought into scope.
Test is tc227.
simonpj@microsoft.com [Tue, 5 Jun 2007 16:14:54 +0000 (16:14 +0000)]
Typo in comments
Isaac Dupree [Tue, 5 Jun 2007 23:53:01 +0000 (23:53 +0000)]
remove #if branches for pre-ghc-6.0
I skipped utils/hsc2hs/Main.hs since its ifs also involved
checking for old versions of nhc98 (I don't want to figure that out),
but removed everything else I found relating to building with pre-6.0
Ian Lynagh [Tue, 5 Jun 2007 19:46:43 +0000 (19:46 +0000)]
Typo, spotted by Stefan Holdermans
Ian Lynagh [Tue, 5 Jun 2007 17:47:25 +0000 (17:47 +0000)]
ifBuildable now prints a warning if the package is not buildable
Ian Lynagh [Tue, 5 Jun 2007 14:50:43 +0000 (14:50 +0000)]
Fix normalisation of path to find
The old code didn't work on Mac OS X, as "which" returns successfully
when it can't find the program.
Simon Marlow [Tue, 5 Jun 2007 08:44:38 +0000 (08:44 +0000)]
fix panic in #1379
bjpop@csse.unimelb.edu.au [Tue, 5 Jun 2007 02:09:30 +0000 (02:09 +0000)]
Add missing newline from ghci :help output
Isaac Dupree [Fri, 1 Jun 2007 20:49:48 +0000 (20:49 +0000)]
implement FastMutInt in non-GHC using IORefs (#1405)
ghc still works, also the module was tested in hugs and ghc
Simon Marlow [Fri, 1 Jun 2007 15:19:32 +0000 (15:19 +0000)]
FIX #1110: the linker also needs the workaround
Simon Marlow [Mon, 21 May 2007 14:17:45 +0000 (14:17 +0000)]
FIX BUILD: GHC doesn't use filepath (yet)
Simon Marlow [Fri, 25 May 2007 08:22:35 +0000 (08:22 +0000)]
tiny cleanup
Simon Marlow [Fri, 1 Jun 2007 08:26:48 +0000 (08:26 +0000)]
remove OpenBSD-specific initAdjustor() code that shouldn't be required now
Submitted by: Matthias Kilian <kili@outback.escape.de>
Simon Marlow [Thu, 31 May 2007 13:41:13 +0000 (13:41 +0000)]
fix locations for uploading src dists
Simon Marlow [Thu, 31 May 2007 13:28:42 +0000 (13:28 +0000)]
FIX unregisterised build
Can't check $(GhcUnregisterised) eagerly, because it might not have
been set yet (it's set in build.mk).
Simon Marlow [Thu, 31 May 2007 11:05:06 +0000 (11:05 +0000)]
FIX: loading package ghc in GHCi (added a couple of missing symbols)
simonpj@microsoft.com [Wed, 30 May 2007 14:14:44 +0000 (14:14 +0000)]
Fix bogus check for strictness in newtypes
Simon Marlow [Wed, 30 May 2007 13:31:46 +0000 (13:31 +0000)]
export noSrcLoc, noSrcSpan
Ian Lynagh [Wed, 30 May 2007 10:56:29 +0000 (10:56 +0000)]
Fix copy-and-paste-o
simonpj@microsoft.com [Wed, 30 May 2007 08:12:40 +0000 (08:12 +0000)]
Fix bug in tcSimplifyInfer (Trac #1382)
When I rejigged constraint simplification when inferring types, I missed
a corner case. Somethign that it's distressingly easy to do. Anyway
this fixes it; see the comments in tcSimplifyInfer with the second call
to partition and extendLIEs.
The test is tcfail181.
simonpj@microsoft.com [Wed, 30 May 2007 07:16:25 +0000 (07:16 +0000)]
Reject newtypes with strictness annotations; fixes read008
This used to be a parse error, but ! annotations are now handled
further downstream in the compiler, and I'd forgotten to check
that newtypes do not have strictness annotations.
The test read008 is technically in the wrong place (it's a typechecker
test now) but that doesn't matter
iavor.diatchki@gmail.com [Fri, 25 May 2007 16:43:08 +0000 (16:43 +0000)]
refactor: combine repeated code in file reloading
iavor.diatchki@gmail.com [Fri, 25 May 2007 16:31:04 +0000 (16:31 +0000)]
Changes the behavior of the "edit" command in GHCi.
Currently, when the user invokes the GHCi editor without a parameter
GHCi chooses the last file that loaded _sucessfully_.
This patch changes this behavior to start the editor with the
last file that _faild_ (this being what I usually want to edit).
Caveat: we use the module graph to determine what happened
and so we do not catch errors that occured during dependecy
analysis (e.g., a mis-typed module name) but we could fix this later.
Ian Lynagh [Tue, 29 May 2007 15:28:48 +0000 (15:28 +0000)]
Update Windows installation docs
Isaac Dupree [Sat, 26 May 2007 23:00:45 +0000 (23:00 +0000)]
#1318: lex negative unboxed literals
I reorganized the lexing of numeric literals a bit so the code didn't
get too ugly, after trying a few ways, and also considering possible plans
to be able to conditionally lex negative _boxed_ literals.
Isaac Dupree [Sat, 26 May 2007 21:50:42 +0000 (21:50 +0000)]
#1318: remove negative-prim-literal old hackish implementation
Isaac Dupree [Sat, 26 May 2007 21:22:04 +0000 (21:22 +0000)]
parseInteger->parseUnsignedInteger to clarify meaning
I decided against adding parseSignedInteger since octal
and hex literals often have junk between the '-' and the
digits, but, compare to Util.readRational which does handle
signed numbers. Also since Integers - mathematically and
in Haskell - can be negative, normally.
Ian Lynagh [Tue, 29 May 2007 10:21:43 +0000 (10:21 +0000)]
Build Windows installer when making a bindist if ISCC is set
It doesn't work yet, but I'm pretty sure that's because the bindist is
broken rather than the installer is broken.
Simon Marlow [Tue, 29 May 2007 07:42:24 +0000 (07:42 +0000)]
don't build the threaded RTS when GhcUnregisterised=YES
Isaac Dupree [Sat, 26 May 2007 18:08:00 +0000 (18:08 +0000)]
only comments, spacing, alpha-renaming
Michael D. Adams [Fri, 25 May 2007 20:51:26 +0000 (20:51 +0000)]
Removed defunct compiler/codeGen/CgUsages.hi-boot-6
Simon Marlow [Fri, 25 May 2007 14:42:16 +0000 (14:42 +0000)]
-package pretty is required for GHC >= 6.7
Simon Marlow [Fri, 25 May 2007 14:42:02 +0000 (14:42 +0000)]
add $(ghc_ge_607)
Simon Marlow [Fri, 25 May 2007 08:09:44 +0000 (08:09 +0000)]
System.Directory.Internals is now in package directory
Ian Lynagh [Thu, 24 May 2007 17:50:31 +0000 (17:50 +0000)]
Say where we're booting to aid debugging
Simon Marlow [Thu, 24 May 2007 13:54:56 +0000 (13:54 +0000)]
add a rule for creating makefiles as <dir>/CabalMakefile
Not done by default yet, but useful when hacking on libraries.
Ian Lynagh [Wed, 23 May 2007 19:08:43 +0000 (19:08 +0000)]
process is now split off from base
Ian Lynagh [Sat, 19 May 2007 13:26:56 +0000 (13:26 +0000)]
old-locale is now split out
Ian Lynagh [Sat, 19 May 2007 12:12:11 +0000 (12:12 +0000)]
Refactor libraries/Makefile a bit; also, we don't need a bootstrapping pretty
Ian Lynagh [Sat, 19 May 2007 12:11:34 +0000 (12:11 +0000)]
rebuild.library.<foo> is now a shorthand for clean then build
Ian Lynagh [Sat, 19 May 2007 12:07:15 +0000 (12:07 +0000)]
directory, old-time and random are now split off from base
Ian Lynagh [Fri, 18 May 2007 16:54:11 +0000 (16:54 +0000)]
Add parallel extralib
Ian Lynagh [Fri, 18 May 2007 16:25:04 +0000 (16:25 +0000)]
We now need a bootstrapping pretty package as Cabal depends on it
Pepe Iborra [Thu, 24 May 2007 11:46:21 +0000 (11:46 +0000)]
wibble
simonpj@microsoft.com [Wed, 23 May 2007 11:48:18 +0000 (11:48 +0000)]
Improve the interaction of 'seq' and associated data types
Roman produced programs involving associated types that did not optimise well.
His programs were something like this:
data family T a
data instance T Int = MkT Bool Char
bar :: T Int -> Int
bar t = t `seq` loop 0
where
loop = ...
You'd think that the `seq` should unbox 't' outside the loop, since
a (T Int) is just a MkT pair.
The most robust way to make this happen is for the simplifier to understand
a bit about type-family instances. See
Note [Improving seq]
in Simplify.lhs. We use FamInstEnv.topNormaliseType to do the interesting
work.
To make this happen I did a bit of refactoring to the simplifier
monad.
I'd previously done a very similar transformation in LiberateCase, but it
was happening too late. So this patch takes it out of LiberateCase as
well as adding it to Simplify.
simonpj@microsoft.com [Wed, 23 May 2007 11:42:53 +0000 (11:42 +0000)]
In GHCi, bind identifiers at TH level 'impLevel'
Consder Trac #1265, which does this in GHCi:
Prelude> let doit = fail "Code not written yet" :: ExpQ
Prelude> $(doit)
Even though 'doit' is defined "in the same module", it's OK to use it in a splice
because it'll have been fully compiled to bytecode. (Contrast the situation if
these two lines appeared in a single, compiled module.)
Hence we want to bind 'doit' at TH's "imported level" (TcRnTypes.impLevel).
This used to happen because GHCi-bound Ids were in the *global* type
env (and hence at "imported level"). But since SimonM moved
GHCi-bound ids to the *local* type env (for good reasons) the above
program has been rejected.
This patch makes it work again.
simonpj@microsoft.com [Wed, 23 May 2007 11:41:03 +0000 (11:41 +0000)]
White-space only
simonpj@microsoft.com [Wed, 23 May 2007 11:39:55 +0000 (11:39 +0000)]
Drop redundant import
simonpj@microsoft.com [Mon, 21 May 2007 09:33:08 +0000 (09:33 +0000)]
Document -fomit-interface-pragmas, -fignore-interface-pragmas
Tom Schrijvers [Fri, 11 May 2007 17:09:28 +0000 (17:09 +0000)]
type family normalisation
simonpj@microsoft.com [Mon, 14 May 2007 08:02:15 +0000 (08:02 +0000)]
Improve error message when 'main' is not defined
Pepe Iborra [Wed, 23 May 2007 09:26:22 +0000 (09:26 +0000)]
Clean up for code conventions & add some comment
Roman Leshchinskiy [Fri, 11 May 2007 01:39:32 +0000 (01:39 +0000)]
OccNames for closure conversion isomorphisms
Roman Leshchinskiy [Thu, 10 May 2007 01:50:27 +0000 (01:50 +0000)]
Modify generation of OccNames for closure conversion
Manuel M T Chakravarty [Tue, 22 May 2007 09:27:29 +0000 (09:27 +0000)]
Add data type information to VectInfo
Michael D. Adams [Mon, 21 May 2007 11:29:12 +0000 (11:29 +0000)]
Keep flattenCgStmts from emitting spurious 'goto' after CmmSwitch
Simon Marlow [Mon, 21 May 2007 13:42:32 +0000 (13:42 +0000)]
follow removal of Distribtion.Compat.FilePath
Simon Marlow [Mon, 21 May 2007 10:45:34 +0000 (10:45 +0000)]
separate the Windows version of uploading the docs, and fix it
Simon Marlow [Mon, 21 May 2007 08:31:55 +0000 (08:31 +0000)]
use relative dir for uploading to avoid problems on Windows
Pepe Iborra [Sun, 20 May 2007 23:24:14 +0000 (23:24 +0000)]
Get the path right for :list
Simon Marlow [Mon, 21 May 2007 08:51:34 +0000 (08:51 +0000)]
doc: 'import M' is the same as ':module +M'
Ian Lynagh [Sun, 20 May 2007 17:54:30 +0000 (17:54 +0000)]
Use -cpp when building installPackage, so we can build the Cabal/filepath code
Pepe Iborra [Sun, 20 May 2007 11:22:52 +0000 (11:22 +0000)]
wibble
Pepe Iborra [Sun, 20 May 2007 11:21:41 +0000 (11:21 +0000)]
Clean up & comments
Pepe Iborra [Sun, 20 May 2007 11:07:47 +0000 (11:07 +0000)]
cvReconstructType: a faster, types-only version of cvObtainTerm
Isaac Dupree [Sat, 19 May 2007 19:50:29 +0000 (19:50 +0000)]
FastMutInt - make #endif be inside \{code} to match #ifdef
Isaac Dupree [Mon, 30 Apr 2007 19:59:44 +0000 (19:59 +0000)]
FastTypes - delete ugly _signatures, comment on Bool not FastBool where the typechecker will not catch it
Isaac Dupree [Mon, 30 Apr 2007 19:58:10 +0000 (19:58 +0000)]
FastTypes - note strictness of fast{Or,And} and make the unboxed versions so
Isaac Dupree [Sun, 29 Apr 2007 19:14:22 +0000 (19:14 +0000)]
fix non-GHC-specific variant of FastTypes
I tested FastTypes.lhs with hugs (manually using cpp) as well as ghc.
Pepe Iborra [Sat, 19 May 2007 22:05:26 +0000 (22:05 +0000)]
Rewrite the unsafe code dealing with unboxed primitives in RtClosureInspect
Closure uses now a list of Words instead of a ByteArray# to store the non ptrs.
Term.Prim follows this and keeps the [Word] value instead of storing the
Show representation, which wasn't the best idea anyway.
This fixes test print022
Ian Lynagh [Fri, 18 May 2007 15:20:17 +0000 (15:20 +0000)]
Avoid the need to rerun configure when we install
This also means we don't need to carry around 10s of megs of Setup
executables in bindists.
Simon Marlow [Fri, 18 May 2007 14:56:35 +0000 (14:56 +0000)]
'import M' is now the same as ':module +M' at the prompt
Seemed like a reasonable thing to do, and only 1 line
Simon Marlow [Fri, 18 May 2007 14:37:08 +0000 (14:37 +0000)]
FIX: break011.
Reset the exception flag before re-throwing the exception unless it
was "Interrupted". This avoids needing the double :continue for
ordinary exceptions, but still lets us break on ^C.
Simon Marlow [Fri, 18 May 2007 13:45:56 +0000 (13:45 +0000)]
improve break-by-coordinate
when setting a breakpoint by coordinate, if there are no spans
covering the specified coordinate, then we take the leftmost of the
spans to the right of the coordinate. This means that ':break c' will
work if c is not a function, because the first span will be on c's
right hand side.
Simon Marlow [Fri, 18 May 2007 13:35:43 +0000 (13:35 +0000)]
On Windows, don't try to use ANSI bold sequences.
Instead we identify the active expression with a line of ^^^^^^^
underneath it.
Simon Marlow [Thu, 17 May 2007 12:21:47 +0000 (12:21 +0000)]
rethrow exceptions in sandboxIO
This gives us a chance to catch asynchronous exceptions (e.g. ^C) and break.
Simon Marlow [Thu, 17 May 2007 12:21:02 +0000 (12:21 +0000)]
eliminate warnings
Simon Marlow [Thu, 17 May 2007 12:00:37 +0000 (12:00 +0000)]
xref to the docs for +RTS -xc
Simon Marlow [Fri, 18 May 2007 12:25:05 +0000 (12:25 +0000)]
FIX #767 (withMVar family have a bug)
We never want to raise a StackOverflow exception inside
Control.Exception.block, because the user has no reasonable way of
handling it, and it invalidates some useful guarantees.