[plt-scheme] DrScheme buglet?

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Fri Aug 31 14:14:29 EDT 2007

P.S. Plus, if you just fire up drscheme and you do evaluate an  
expression in the context of the current teachpack without hitting  
RUN you still get an error. Some 'yellow' may help there, too. After  
all we do think of this as an invisible "require" statement






On Aug 31, 2007, at 2:10 PM, Matthias Felleisen wrote:

> We always warn students when the expressions they execute in the  
> Interactions window are not in the context of the program text in  
> the Definitions window. I think we should do this all the time.
>
>
>
>
>
> On Aug 31, 2007, at 2:06 PM, Robby Findler wrote:
>
>> I now think that there shouldn't be a yellow warning.
>>
>> Instead, if there is an error, drscheme just runs a program that only
>> contains the teachpacks, so the teachpacks are always available in  
>> the
>> REPL.
>>
>> Robby
>>
>> On 8/31/07, Matthias Felleisen <matthias at ccs.neu.edu> wrote:
>>> I am missing the yellow warning. (I did read the messages out of  
>>> order.)
>>>
>>> On Aug 31, 2007, at 12:31 PM, Robby Findler wrote:
>>>
>>>> Did you try the current drscheme? :)
>>>>
>>>> On 8/31/07, Matthias Felleisen <matthias at ccs.neu.edu> wrote:
>>>>> I second Ryan's proposal.
>>>>>
>>>>> On Aug 29, 2007, at 11:17 AM, Ryan Culpepper wrote:
>>>>>
>>>>>> On Wed, 2007-08-29 at 08:52 -0500, Robby Findler wrote:
>>>>>>> This only happens when there are syntax errors, right? Not  
>>>>>>> runtime
>>>>>>> errors?
>>>>>>>
>>>>>>> I think that's just a property of the way teachpacks work in the
>>>>>>> current world. I'm not sure it is possible to get around that.
>>>>>>>
>>>>>>> Roughly, what's happening underneath the hood, is that the
>>>>>>> teachpack
>>>>>>> is (an invisible) part of your program and, when your program is
>>>>>>> syntactically malformed, no part of your program is available in
>>>>>>> the
>>>>>>> REPL. For example, in this program:
>>>>>>>
>>>>>>>   (define x 1)
>>>>>>>   unbound-id
>>>>>>>
>>>>>>> You won't be able to use "x" in the REPL. But, in this one, you
>>>>>>> will:
>>>>>>>
>>>>>>>   (define x 1)
>>>>>>>   (first empty)
>>>>>>>
>>>>>>> I know that's not real help, but I hope it is at least  
>>>>>>> explanatory.
>>>>>>>
>>>>>>> And maybe this will inspire someone (Matthew?) to think of a way
>>>>>>> to do
>>>>>>> better, I'm not sure.
>>>>>>
>>>>>> Would it make sense to make that explanation part of DrScheme?  
>>>>>> That
>>>>>> is:
>>>>>>
>>>>>> When a syntax error occurs, print a message to the effect of "No
>>>>>> definitions executed due to syntax error" in the interactions
>>>>>> window and
>>>>>> lock the interactions editor.
>>>>>>
>>>>>> Or instead of locking the interactions, DrScheme could instead
>>>>>> display
>>>>>> one of those yellow highlighted messages (like "definitions  
>>>>>> out of
>>>>>> sync"
>>>>>> is displayed now) before every interaction. That would let  
>>>>>> students
>>>>>> use
>>>>>> the interactions window to stumble around trying out syntaxes  
>>>>>> until
>>>>>> they
>>>>>> find the right one.
>>>>>>
>>>>>> Ryan
>>>>>>
>>>>>>
>>>>>>> On 8/29/07, Todd O'Bryan <toddobryan at mac.com> wrote:
>>>>>>>> In v371 of DrScheme, it appears that teachpacks don't "stick."
>>>>>>>>
>>>>>>>> When you first open a DrScheme window, even though it says  
>>>>>>>> that a
>>>>>>>> teachpack is loaded, it's unavailable until you hit Run.
>>>>>>>>
>>>>>>>> That's not a big problem, but the teachpacks disappear if
>>>>>>>> there's an
>>>>>>>> error during a Run. In other words, if students are  
>>>>>>>> developing a
>>>>>>>> function, hit run, and have an error, if they drop down to the
>>>>>>>> interactions window to experiment, the functions provided by  
>>>>>>>> the
>>>>>>>> teachpack are no longer available.
>>>>>>>>
>>>>>>>> The workaround is to comment out offending code in the  
>>>>>>>> definitions
>>>>>>>> window, but this is kind of a pain.
>>>>>>>>
>>>>>>>> Todd
>>>>>>>>
>>>>>>>> _________________________________________________
>>>>>>>>   For list-related administrative tasks:
>>>>>>>>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>>>>>>>>
>>>>>>> _________________________________________________
>>>>>>>   For list-related administrative tasks:
>>>>>>>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>>>>>>
>>>>>> _________________________________________________
>>>>>>   For list-related administrative tasks:
>>>>>>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>>>>>
>>>>>
>>>
>>>
>
> _________________________________________________
>  For list-related administrative tasks:
>  http://list.cs.brown.edu/mailman/listinfo/plt-scheme



Posted on the users mailing list.