[plt-scheme] Re: [redex] Alternative to named holes

From: Robby Findler (robby at cs.uchicago.edu)
Date: Thu Sep 18 09:41:30 EDT 2008

Redex detects an error in the specification and reports it that way.

If you write: (in-hole E x) where

  E  ::=  (E E) | []

then redex doesn't know which hole you mean, so it will signal an error.

You shouldn't have to change the actual syntax of the language, just
the way terms decompose by writing a new grammar. But yes, that's the


On Thu, Sep 18, 2008 at 8:38 AM, Ronald Garcia <garcia at cs.indiana.edu> wrote:
> Thanks for your fast answer.  Just to clarify, is the "zero/multiple holes"
> error an error in particular language specifications, or an error in Redex?
>  It sounds like you mean something that causes evaluation to get stuck but
> I'm not sure.   Also, are you suggesting changing language syntax in some
> way that makes named holes unnecessary?  I will give that a try and get back
> to you if I don't figure it out.
> Thanks again,
> ron
> On Sep 16, 2008, at 2:18 PM, robby at cs.uchicago.edu wrote:
>> They were removed because all of the (non-trivial) uses of them we
>> know of were broken, in the sense that any language that used them
>> also had the property that they triggered the "zero/multiple holes"
>> error, for some expression in the language. Also, all of those uses
>> could be rewritten to fix the error but also to remove the use if
>> multiple holes.
>> If you're not sure how to rewrite out the named holes, send me
>> something and I can probably help.
>> Robby
>> On 9/16/08, Ronald Garcia <garcia at cs.indiana.edu> wrote:
>>> Howdy,
>>> I am looking at upgrading a project to use the version of PLT Redex
>>> that ships with PLT Scheme v4.1, but I am using named holes and I
>>> noticed that named holes have been removed from the system.  First,
>>> why were they removed? Second, are there any standard or suggested
>>> workarounds for their absence?
>>> Thanks,
>>> ron

Posted on the users mailing list.