[racket] REPL @ Runtime Contract Modification?
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 <skanaley at 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 <skanaley at 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
>