Got it. Assuming f is assignable: -- define a new version of the function with its improved contract (define/contract fprime ...) -- (set! f fprime)
On Jun 27, 2013, at 10:53 AM, Sean Kanaley <skana...@gmail.com> wrote: > All of Racket seems to be available while debugging GUIs. I can query state > and launch new error-free dialogs while the GUI sits there with its broken > dialog. I was thinking then that there might be some way to change the > associated contract of the offending function while the GUI patiently waits > for its next event. > > Also it was type [A]...I made the mistake of calling the range of a function > like "member" "boolean?". > > The goal is to enter: > > (set-contract! <function> (-> ... (listof symbol?)) > > and carry on. > > On 06/27/2013 10:32 AM, Matthias Felleisen wrote: >> I am not sure what you're asking. >> >> -- Once your program has raised a contract error and your program didn't >> handle it, you're stuck. >> >> -- Did the contract error suggest >> >> [A] you formulated the wrong contract (the program is working but the >> contract is too stringent) >> [B] you program has a bug >> >> Before you restart try to figure out which one is which and fix something. >> >> >> >> >> On Jun 27, 2013, at 12:35 AM, Sean Kanaley <skana...@gmail.com> wrote: >> >>> Hello, >>> >>> I'm debugging a heavily stateful GUI app that has reached a very specific >>> state but has come across a contract error. Is there some way to modify >>> the contract and proceed or I must I reevaluate and run the gui and attempt >>> to duplicate the state? >>> ____________________ >>> Racket Users list: >>> http://lists.racket-lang.org/users > ____________________ Racket Users list: http://lists.racket-lang.org/users