[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