On Sep 6, 2011, at 8:12 PM, Sam Tobin-Hochstadt wrote:

> On Tue, Sep 6, 2011 at 8:05 PM, John Clements <cleme...@brinckerhoff.org> 
> wrote:
>> 
>> On Aug 18, 2011, at 5:32 AM, Sam Tobin-Hochstadt wrote:
>> 
>>> 
>>> Yes, I understand why this happens.  As I see it, there are a few 
>>> possibilities:
>>> 
>>> 1. The expander should check for duplicates, in some fashion.
>>> 2. This idiom is problematic, in the case where `stx' is both the
>>> input and used for the syntax properties of the output.
>>> 3. Macros may freely duplicate syntax properties.
>>> 
>>> All of these have drawbacks, but (3), which you are suggesting, means
>>> either that syntax properties can only be used to specify idempotent
>>> information or that the non-idempotent ones need to have some
>>> *explicit* means by which equal elements can be distinguished, which
>>> must be part of the API of that syntax property.
>>> 
>>> If we think this is how syntax properties ought to work, then we
>>> should add something to the documentation making this clear, and we
>>> should recognize that it's a limitation.
>> 
>> Would syntax-property guards solve this problem?
> 
> I don't really see how.  What are you thinking of?

A guard could keep track of duplicates.  Keep in mind that syntax-property 
guards are purely a figment of my imagination.

John

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_________________________________________________
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev

Reply via email to