[GHC] #1084: Improve coalescing of dynamic breakpoints in the
ghci debugger
GHC
trac at galois.com
Thu Jan 4 05:05:44 EST 2007
#1084: Improve coalescing of dynamic breakpoints in the ghci debugger
----------------------+-----------------------------------------------------
Reporter: mnislaih | Owner: mnislaih
Type: bug | Status: assigned
Priority: normal | Milestone: 6.8
Component: GHCi | Version: 6.6
Severity: normal | Resolution:
Keywords: | Difficulty: Easy (1 hr)
Testcase: | Architecture: Unknown
Os: Unknown |
----------------------+-----------------------------------------------------
Changes (by mnislaih):
* status: new => assigned
* owner: => mnislaih
* type: task => bug
Comment:
The problem with case 1 is that it can create confusion for the user.
It can be too aggressive for instance, preventing the setting of a
breakpoint in main if there are no local bindings:
{{{
main = putStr "hola"
}}}
Case 3 is there because the breakpoint that gets inserted in the body of
the let expression renders the coalesced one innecesary. However, this
interacts badly with desugaring of list comprehensions, and is a bit too
ad-hoc.
This makes impossible to set a breakpoint in gen (from queens.hs in the
nofib suite):
{{{
gen n = [ (q:b) | b <- gen (n-1), q <- [1..nq], safe q 1 b]
}}}
Another option may be to extend the desugaring of list comprehensions to
have it insert a breakpoint in the body if in debugging mode (but no
internal/system bindings should show up in the breakpoint).
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1084>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the Glasgow-haskell-bugs
mailing list