| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The C-- parser was missing the "stdcall" calling convention for
foreign calls, but once added we can call {Enter,Leave}CricialSection
directly.
|
| |
|
|
|
|
|
|
|
|
| |
- The type families patch includes a change to darcs-all that breaks it for
ssh repos at least for Perl 5.8.8 (on MacOS).
- My Perl-fu is not sufficient to try to fix the modification, which was
supposed to improve darcs-all on windows, so I just revert to the old
code.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
:stepover is declared a failed experiment.
:steplocal steps only on ticks contained in the current
top level declaration.
:stepmodule steps only on ticks contained on the current
module.
The current top level declaration and module are with
respect to the breakpoint we are stopped on.
The main reason for the failure of :stepover
(apart from lacking a lexical call stack of course)
is that it fails to detect when the expression being
evaluated is "complete", i.e. there are no ticks left in it.
My assumption of the rightmost tick as the "last one",
signaling that the expression is completely evaluated,
is not true at all under laziness.
This assumption was key in the implementation of :stepover.
|
|
|
|
| |
when printing the contents of binding at a breakpoint
|
|
|
|
| |
srcspan
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this patch, :stepover can effectively appear to step over recursive calls and
calls to locally bound functions (in a where clause).
However, when we run out of ticks in the current expression,
the illusion vanishes and laziness brings us to the body of the last function
we "stepped over".
This is not desired at all, it is potentially very confusing.
As a countermeasure, when this happens :stepover emits a warning
"Warning: no more breakpoints in this function body, switching to :step"
|
|
|
|
|
|
|
| |
:stepover only works lexically locally, in the context of the
current expression. I have tried to make this point clear
in the users guide with an example.
|
|
|
|
|
|
|
| |
We were generating a new top-level binding derived from the name of
the existing top-level name, and making the name external. Multiple
instances therefore clashed. The fix is to make each name unique, by
appending an actual Unique to the derived name.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
We used to pass the list of top-level foreign exported bindings to the
code generator so that it could create StablePtrs for them in the
stginit code. Now we don't use stginit unless profiling, and the
StablePtrs are generated by C functions marked with
attribute((constructor)). This patch removes various bits associated
with the old way of doing things, which were previously left in place
in case we wanted to switch back, I presume. Also I refactored
dsForeigns to clean it up a bit.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch introduces type checking for type families of which associated
type synonyms are a special case. E.g.
type family Sum n m
type instance Sum Zero n = n
type instance Sum (Succ n) m = Succ (Sum n m)
where
data Zero -- empty type
data Succ n -- empty type
In addition we support equational constraints of the form:
ty1 ~ ty2
(where ty1 and ty2 are arbitrary tau types) in any context where
type class constraints are already allowed, e.g.
data Equals a b where
Equals :: a ~ b => Equals a b
The above two syntactical extensions are disabled by default. Enable
with the -XTypeFamilies flag.
For further documentation about the patch, see:
* the master plan
http://hackage.haskell.org/trac/ghc/wiki/TypeFunctions
* the user-level documentation
http://haskell.org/haskellwiki/GHC/Indexed_types
The patch is mostly backwards compatible, except for:
* Some error messages have been changed slightly.
* Type checking of GADTs now requires a bit more type declarations:
not only should the type of a GADT case scrutinee be given, but also
that of any identifiers used in the branches and the return type.
Please report any unexpected behavior and incomprehensible error message
for existing code.
Contributors (code and/or ideas):
Tom Schrijvers
Manuel Chakravarty
Simon Peyton-Jones
Martin Sulzmann
with special thanks to Roman Leshchinskiy
|
| |
|
| |
|
|
|
|
|
|
| |
Fixed hsc2hs handling and added hpc binary. Explicitly generate Cabal docs.
Note that the Haddock documentation is currently not in the right place,
this needs more investigation, but at least we can build a valid RPM now.
|
| |
|
| |
|
|
|
|
| |
We don't have the _darcs directories, so they won't work.
|
|
|
|
|
| |
This was causing us to try to jump to the address of an infotable when
unregisterised, leading to a segfault.
|
| |
|
| |
|
|
|
|
|
|
| |
* Call autoreconf only if necessary, avoiding a strict tool dependency.
* Be a good *nix citizen and don't clutter the output when everything is fine.
* Make a few more scripts executable.
|
| |
|
|
|
|
|
| |
Added a missing "test" and replaced the "-e" option of the shell-builtin
"test" with "-f". The former is not portable, see autoconf documentation.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|