[plt-scheme] [redex] what computation is happening?

From: Casey Klein (clklein at eecs.northwestern.edu)
Date: Thu Jun 3 10:49:23 EDT 2010

On Thu, Jun 3, 2010 at 9:36 AM, Matthias Felleisen <matthias at ccs.neu.edu> wrote:
>
>
> On Jun 3, 2010, at 10:32 AM, Eric Tanter wrote:
>
>> Hi,
>>
>> I'm wondering what happens exactly when one "runs" a redex module that has no tests/traces at all.
>
> Nothing really. See below.
>
>
>> I have one language definition and one reduction relation (admittedly both quite complex, around 300 lines with generous indentation), and when I click "run" it takes around 40 seconds before I get the prompt back in the interaction window.
>>
>> So something substantial must be going on, I'd like to know what.
>
> Expansion. Redex is kind of like Typed Scheme in this regard. It exists to make your programs run slower.
>

If you find the 40 seconds too painful, turn off debugging and profiling.

1. Select "Choose Language..." from the "Language" menu.
2. Click the "Show Details" button for the module/#lang language.
3. Edit the "Dynamic Properties."

On my machine, running the R6RS model takes about 70 seconds with
debugging and profiling enabled but only 10 seconds without it.

>
>> In particular, that computation was able to find places where I forgot to use ellipsis for instance, but not able to report parts where I use undefined metafunctions (I use around 20 as-yet-undefined metafunctions in the reductions). I doubt that these 40 seconds are only used to check for proper uses of ellipses...
>>

FWIW, Redex can't tell if a symbol is an undefined meta-function or a
literal in the syntax of your object language.

>> (I'm on 4.2.5, mac os 10.6)
>>
>> Thanks!
>>
>> -- Éric
>> _________________________________________________
>>  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.