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.
Simon Marlow [Fri, 18 May 2007 12:23:33 +0000 (12:23 +0000)]
remove old comments and commented-out code
Simon Marlow [Fri, 18 May 2007 12:12:29 +0000 (12:12 +0000)]
Update the panic msg from #1257 to be an ordinary error, not a panic
We don't support arbitrary unboxed tuples in GHCi right now.
Simon Marlow [Fri, 18 May 2007 08:51:28 +0000 (08:51 +0000)]
autodetect BINDIST_DOC_WAYS again
Simon Marlow [Fri, 18 May 2007 11:53:30 +0000 (11:53 +0000)]
FIX #1052 (NCG doesn't realise shift instructions trash shifted input)
See comments with shift_code
Simon Marlow [Fri, 18 May 2007 08:58:11 +0000 (08:58 +0000)]
Add dist/ to $(PublishLocation)
The docs were going in the wrong place before:
..../dist/docs instead of ..../docs
Simon Marlow [Fri, 18 May 2007 08:46:56 +0000 (08:46 +0000)]
remove _split and autogen dirs for binary-dist
Simon Marlow [Thu, 17 May 2007 11:55:28 +0000 (11:55 +0000)]
fix ordering in :help
Simon Marlow [Thu, 17 May 2007 11:55:03 +0000 (11:55 +0000)]
complete documentation of the GHCi debugger
Simon Marlow [Thu, 17 May 2007 11:05:55 +0000 (11:05 +0000)]
add :cmd
:cmd <expr> executes <expr> :: IO String, takes the resulting string
and executes it as a sequence of commands. This is useful for doing
macro-ish things with ":set stop", for example.
Simon Marlow [Wed, 16 May 2007 14:14:11 +0000 (14:14 +0000)]
Rework the GHCi debugger docs
I've taken material from Bernie's docs on the wiki, and Pepe's docs in
this file, and added some more material of my own. Still to do:
document the individual commands.
Simon Marlow [Wed, 16 May 2007 13:35:13 +0000 (13:35 +0000)]
add a comment
Simon Marlow [Wed, 16 May 2007 13:35:03 +0000 (13:35 +0000)]
raise#: break *after* stripping the stack, not before
This means that thunks under evaluation will have been updated with
the exception when we come to inspect them in GHCi. Blackholes are
much less friendly.
Ian Lynagh [Wed, 16 May 2007 23:16:15 +0000 (23:16 +0000)]
Add a missing semicolon causing publish-binary-dist to fail
Ian Lynagh [Wed, 16 May 2007 12:16:07 +0000 (12:16 +0000)]
FIX BUILD Use the right find on Windows systems; fixes bindist creation
Simon Marlow [Wed, 16 May 2007 11:23:40 +0000 (11:23 +0000)]
later mingw runtimes have gettimeofday, it seems
Simon Marlow [Wed, 16 May 2007 10:06:22 +0000 (10:06 +0000)]
'let' expressions: fix scope of the binders (see test break014)
Simon Marlow [Wed, 16 May 2007 10:05:44 +0000 (10:05 +0000)]
Avoid some unnecessary ticks in debugging mode
Simon Marlow [Wed, 16 May 2007 10:04:45 +0000 (10:04 +0000)]
comment out unused definition
Simon Marlow [Wed, 16 May 2007 08:39:39 +0000 (08:39 +0000)]
FIX BUILD for way=u in RTS
Simon Marlow [Wed, 16 May 2007 08:07:49 +0000 (08:07 +0000)]
FIX BUILD with ghc-6.2.x
Ian Lynagh [Tue, 15 May 2007 13:47:34 +0000 (13:47 +0000)]
Add a missing backslash that was breaking building bindists
Simon Marlow [Tue, 15 May 2007 12:45:54 +0000 (12:45 +0000)]
GHCi debugger: new flag -fbreak-on-exception
When -fbreak-on-exception is set, an exception will cause GHCi to
suspend the current computation and return to the prompt, where the
history of the current evaluation can be inspected (if we are in
:trace). This isn't on by default, because the behaviour could be
confusing: for example, ^C will cause a breakpoint. It can be very
useful for finding the cause of a "head []" or a "fromJust Nothing",
though.
Simon Marlow [Tue, 15 May 2007 09:11:09 +0000 (09:11 +0000)]
small performance improvement: unbox some fields
Simon Marlow [Mon, 14 May 2007 15:30:40 +0000 (15:30 +0000)]
result_id should be a GlobalId
Ian Lynagh [Tue, 15 May 2007 12:25:45 +0000 (12:25 +0000)]
Fix invalid simplification I made while moving the libraries bindist stuff
Manuel M T Chakravarty [Tue, 15 May 2007 08:14:21 +0000 (08:14 +0000)]
Iface representation of synonym family instances
** This patch changes the interface file format. All libraries etc **
** need to be compiled from scratch. **
Manuel M T Chakravarty [Tue, 15 May 2007 01:20:36 +0000 (01:20 +0000)]
Added -ftype-families to the user's manual
- This adds the option to the flag reference and puts a stub pointing to the
Haskell wiki page about type families into the section about type extensions.
- Once, the implementation has stabilised, the material from the wiki page
will be integreated into the user's manual.
Ian Lynagh [Mon, 14 May 2007 17:28:59 +0000 (17:28 +0000)]
Add filepath modules to compat/
Manuel M T Chakravarty [Mon, 14 May 2007 11:53:34 +0000 (11:53 +0000)]
-findexed-types -> -ftype-families
. This change tracks our current terminology. It'll break all programs
using the old option, sorry. But this has only been an experimental
feature in the HEAD so far.
Simon Marlow [Mon, 14 May 2007 10:55:16 +0000 (10:55 +0000)]
remove accidentally-committed change
Simon Marlow [Mon, 14 May 2007 10:45:09 +0000 (10:45 +0000)]
fix for Vista workaround: "PATH" can be spelt "Path"
Manuel M T Chakravarty [Mon, 14 May 2007 06:52:34 +0000 (06:52 +0000)]
Revised signature of tcLookupFamInst and lookupFamInstEnv
- This changes the signature of FamInstEnv.lookupFamInstEnv and
FamInstEnv.lookupFamInstEnvUnify in a manner similar to SPJ's
previous patch for InstEnv.llokupInstEnv
- tcLookupFamInst now permits the lookup of instances that are more
general than the type instance requested.
Ian Lynagh [Sun, 13 May 2007 17:38:18 +0000 (17:38 +0000)]
Remove non-functional uninstall Makefile target
Ian Lynagh [Sun, 13 May 2007 16:34:51 +0000 (16:34 +0000)]
Move the libraries bindist generation code into libraries/Makefile
This should mean it works even when some libraries are unbuildable.
Ian Lynagh [Wed, 9 May 2007 14:25:57 +0000 (14:25 +0000)]
Cabal now uses filepath, so we need a bootstrapping filepath too
Ian Lynagh [Sat, 12 May 2007 12:37:36 +0000 (12:37 +0000)]
Tweak generation of generated files
Use "chmod a-w" rather than "chmod 444", and allow the command used to
be overridden.
simonpj@microsoft.com [Fri, 11 May 2007 15:55:07 +0000 (15:55 +0000)]
Correct an egregious typo in LiberateCase that emasculated it
Somehow in the patch
* Record-ise the liberate-case envt, in preparation for new stuff
I managed to make lookupLevelEnv do entirely the wrong thing.
I think it was just a typo. The result was that LiberateCase essentially
never did anything any more.
Easily fixed though!
Simon Marlow [Fri, 11 May 2007 14:53:52 +0000 (14:53 +0000)]
don't remove c++ files from Windows binary distribution
Simon Marlow [Fri, 11 May 2007 12:49:29 +0000 (12:49 +0000)]
Support for adding custom commands to an individual breakpoint
:set stop N <cmd>
runs <cmd> when breakpoint N is hit. Note that the command to run
might be a macro (defined with :def), and the macro can invoke
:continue, so it is now possible to do clever things like conditional
breakpoints, or ignoring the next K hits of a breakpoint.
Michael D. Adams [Fri, 11 May 2007 13:25:57 +0000 (13:25 +0000)]
Fixed copy-and-paste error in the machOps of compiler/cmm/CmmParse.y
Michael D. Adams [Fri, 11 May 2007 10:53:22 +0000 (10:53 +0000)]
Removed UNBOX_FIELD from HsVersions.h since it is not used anywhere.
Michael D. Adams [Thu, 10 May 2007 15:14:54 +0000 (15:14 +0000)]
Fixed a minor redundancy in the C-- lexer
Michael D. Adams [Thu, 10 May 2007 15:03:50 +0000 (15:03 +0000)]
Fixed the C-- lexer to comply with the standard on hex escape sequences.
The C-- standard [1] says in Section 3.3.5 "Character literals" that:
- the hex escape sequence "must contain at least one and
at most two hexdigits."
- the octal escape sequence "must contain at least one and
at most three octdigits."
[1] Norman Ramsey, Simon Peyton Jones, and Christian Lindig.
"The C-- Language Specication, Version 2.0 ( CVS Revision 1.128 )"
<http://www.cminusminus.org/extern/man2.pdf>
Michael D. Adams [Thu, 10 May 2007 14:59:35 +0000 (14:59 +0000)]
Documented the Unicode tricks that are being played in the lexers
Michael D. Adams [Fri, 4 May 2007 14:23:25 +0000 (14:23 +0000)]
Fixed apparent typo in STRICT1(f) of HsVersions.h
Manuel M T Chakravarty [Fri, 11 May 2007 11:30:57 +0000 (11:30 +0000)]
Remove the distinction between data and newtype families
- This patch removes "newtype family" declarations.
- "newtype instance" declarations can now be instances of data families
- This also fixes bug #1331
** This patch changes the interface format. All libraries and all of **
** Stage 2 & 3 need to be re-compiled from scratch. **
Simon Marlow [Fri, 11 May 2007 07:29:44 +0000 (07:29 +0000)]
FIX BUILD: revert accidentally-committed patch
Simon Marlow [Fri, 11 May 2007 10:49:26 +0000 (10:49 +0000)]
Store a SrcSpan instead of a SrcLoc inside a Name
This has been a long-standing ToDo.
Simon Marlow [Fri, 11 May 2007 09:07:19 +0000 (09:07 +0000)]
improve :abandon, it wasn't properly terminating the computation (see comments)
Simon Marlow [Fri, 11 May 2007 07:55:05 +0000 (07:55 +0000)]
refactoring only
Isaac Dupree [Fri, 11 May 2007 08:45:25 +0000 (08:45 +0000)]
Add a warning flag for when the Prelude is implicitly imported (trac #1317)
GHC already determines all the implicit (Prelude) imports,
so we just need to check whether there are any of those,
for each module being compiled.
simonpj@microsoft.com [Fri, 11 May 2007 08:40:17 +0000 (08:40 +0000)]
Comments only
Simon Marlow [Thu, 10 May 2007 15:45:42 +0000 (15:45 +0000)]
FIX #1181: parseStaticFlags should not be required
- parseStaticFlags is now not required, but if it is called, it should
be called only once and before newSession, otherwise you get an
error.
- parseStaticFlags is exported from GHC
Simon Marlow [Thu, 10 May 2007 14:42:29 +0000 (14:42 +0000)]
FIX: loading the ghc package under GHCi
Simon Marlow [Thu, 10 May 2007 13:50:07 +0000 (13:50 +0000)]
remove now-unused usage information (#1003)
Simon Marlow [Thu, 10 May 2007 13:37:21 +0000 (13:37 +0000)]
FIX #1321: problems with accessing the interpreter's Handles
I've had to redo the way we turn off buffering and flush the
stdin/stdout/stderr Handles in the dynamically-loaded base package.
Compiling the expression "hSetBuffering stdout NoBuffering" and then
re-using the compiled expression didn't work sometimes (see comments
for details). Now, I'm explicitly looking up the address the stdout
closure and re-using that. It should be more robust, if somewhat
unclean.
Michael D. Adams [Thu, 10 May 2007 09:31:35 +0000 (09:31 +0000)]
Warning fix for unused and redundant imports
simonpj@microsoft.com [Thu, 10 May 2007 09:31:13 +0000 (09:31 +0000)]
Fix cloning bugs in SpecConstr
These bugs produced a core-lint error when compiling
GHC.PArr with -O2. Roman found and fixed them; this
patch also includes some type synonyms to make things a
bit clearer.
simonpj@microsoft.com [Thu, 10 May 2007 09:30:01 +0000 (09:30 +0000)]
Dead code elimination
Simon Marlow [Thu, 10 May 2007 09:31:35 +0000 (09:31 +0000)]
improve comments about x86-64 relative-offset hackery
Simon Marlow [Thu, 10 May 2007 09:20:19 +0000 (09:20 +0000)]
FIX #1343: regex bug in the x86_64 mangler settings
Simon Marlow [Thu, 10 May 2007 08:15:54 +0000 (08:15 +0000)]
FIX BUILD: remove accidentally committed hunk
Simon Marlow [Thu, 10 May 2007 07:55:06 +0000 (07:55 +0000)]
FIX BUILD with GHC 6.2.x: VectInfo -> HscTypes.VectInfo
simonpj@microsoft.com [Wed, 9 May 2007 15:44:47 +0000 (15:44 +0000)]
Two more small bugs in abstractFloats
Ian Lynagh [Wed, 9 May 2007 15:05:08 +0000 (15:05 +0000)]
Remove ghc_ge_504 (it's required to be true now anyway)
Simon Marlow [Wed, 9 May 2007 13:25:10 +0000 (13:25 +0000)]
fix confusion with return value of runStmt
Simon Marlow [Wed, 9 May 2007 13:24:24 +0000 (13:24 +0000)]
eliminate a crash when trying to use :break on a compiled module (test: break007)
Simon Marlow [Wed, 9 May 2007 10:38:34 +0000 (10:38 +0000)]
Store the constructor name in the info table in UTF-8
Simon Marlow [Wed, 9 May 2007 10:37:12 +0000 (10:37 +0000)]
FIX: Linker.getHValue should be linking in any dependencies it requires
Otherwise :print only works for local identifiers, not global ones.
In fact it was silently failing, so I fixed that too.
Simon Marlow [Wed, 9 May 2007 10:34:35 +0000 (10:34 +0000)]
Fix a missing prime spotted by -fwarn-unused-binds
simonpj@microsoft.com [Wed, 9 May 2007 11:25:30 +0000 (11:25 +0000)]
Tidy up the interface to lookupInstEnv
This patch changes the interface to lookupInstEnv, so that it
returns a pair (Instance, [Either TyVar Type])
rather than (Inst, TvSubst)
There is no functionality change, but the interface is tidier,
and closer to lookupFamInstEnv (when Manuel has changed that too).
The [Either TyVar Type] gives the type(s) at which the dfun should
be instantiated. We need an Either because it might be instantiated
freely: see Note [InstTypes: instantiating types] in InstEnv.
(This might be a pattern we want to use elsewhere too.)
simonpj@microsoft.com [Wed, 9 May 2007 11:19:19 +0000 (11:19 +0000)]
Fix a bug in (the new function) SimplUtils.abstractFloats
simonpj@microsoft.com [Wed, 9 May 2007 11:18:12 +0000 (11:18 +0000)]
Improve full laziness by floating allocations out of value lambdas
This patch simplifies the code slightly, and simultaneously improves
full laziness by floating allocations (lambdas, constructor apps) out
of loops.
See Note [Escaping a value lambda] in SetLevels, which explains.
There's a test that shows it up: simplrun009
This relevant to SpecConstr, because a call looks like
f lvl
instead of
f (\x. blah)
and the latter is easier to match in a robust way.
Pepe Iborra [Wed, 9 May 2007 10:18:54 +0000 (10:18 +0000)]
Fixed a badly defined pattern match
Simon Marlow [Tue, 8 May 2007 14:10:05 +0000 (14:10 +0000)]
Allow you to say :unset -f<flag> (see #1328)
Simon Marlow [Tue, 8 May 2007 13:57:25 +0000 (13:57 +0000)]
overhaul :help, group the debugging commands together
Simon Marlow [Tue, 8 May 2007 13:57:07 +0000 (13:57 +0000)]
let you :show things that you can :set (e.g. args, prog etc.)
Simon Marlow [Tue, 8 May 2007 13:33:14 +0000 (13:33 +0000)]
improvements to :history
:hist <n> displays at most the last <n> steps (default 20).
Simon Marlow [Tue, 8 May 2007 13:20:49 +0000 (13:20 +0000)]
FIX BUILD (non-profiling RTS was broken in previous patch)
Simon Marlow [Tue, 8 May 2007 12:55:30 +0000 (12:55 +0000)]
FIX parsing of Haddock comments (broken by me in the previous patch)
Simon Marlow [Tue, 8 May 2007 10:45:51 +0000 (10:45 +0000)]
FIX: #1227 (biographical profiling broken)
We were freeing the hash table storage with exitHashTable() before
calling endProfiling(), which uses hash tables.
Simon Marlow [Tue, 8 May 2007 10:09:08 +0000 (10:09 +0000)]
FIX crash on exit with biographical profiling
Seems to be a bug introduced by code to free the memory allocated by
the heap profiler.
Simon Marlow [Tue, 8 May 2007 10:01:34 +0000 (10:01 +0000)]
FIX profiling :-(
Manuel M T Chakravarty [Tue, 8 May 2007 08:06:09 +0000 (08:06 +0000)]
Improved VectInfo
- We need to keep pairs of (f, f_CC) in VectInfo as it is difficult
to obtain Names from OccNames (of imported modules) in Core passes.
- There is a choice of keeping Names or Vars in VectInfo. We go with Vars
for now; mainly to avoid converting between Names and Vars repeatedly for
the same VectInfo in other than one-shot mode.
Again goes to the HEAD straight away to avoid conflicts down the road.
Roman Leshchinskiy [Tue, 1 May 2007 04:14:04 +0000 (04:14 +0000)]
OccNames for closure conversion