Re: how useful are collecting lists? David Vanderson 14 Mar 2013 01:12 UTC

On 03/12/2013 11:54 PM, Alan Manuel Gloria wrote:
> There's another, the comment-only blank line, which is the "quietest"
> blank line replacement:
>
> define foo(x)
> ! define bar(y)
> ! ! y
> ;
> ! define baz(z)
> ! ! z
> ;
> ! whatever
> ! ...
>
>
Ah - good point!
>>> In my examples, define has an implicit begin.  In this situation, I'm
>>> unsure how to use <*, because it introduces an extra parenthesis.  Have
>>> you run into this problem?
>> I've intentionally defined <* to ALWAYS create another open paren.
>> I think that's easier to understand, and it also makes it really helpful
>> in short lists.
I agree.
>>
>> I haven't worried about the define-in-define case above, because the
>> long-and-annoying constructs that we've seen so far (as use cases)
>> always had some sort of list that <*...*> easily mapped to.
>> Of course, maybe that's a limitation of the use cases we've discussed!
>>
>> Hmm. If that's a *problem*, one solution without significantly changing
>> the existing semantics might be to allow <*...*> after ".".  I suspect
>> such cases would basically just continue a list.  Here's what I have in
>> mind:
>> define foo(x) . <*
>> define bar(y)
>> ! y
>> define baz(z)
>> ! z
>> ! *>
>> ; ==> (define (foo x) (define bar(y) y) (define baz(z) z))
>>
>> So... does anyone have thoughts about this?  Is this an important case?
>> If it is, then is this a solution?  Are people running to the exits?
>> Other thoughts?
> Ara ara, I thought this was *already* allowed.  Basically, what you're doing is:
>
> (define (foo x) . (
> (define (bar y)
>    y)
> (define (baz z)
>    z)
> )
> )
>
> ... which should work without any modifications to the spec.
>
This makes sense to me.

Thanks,
Dave