[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: how useful are collecting lists?

This page is part of the web mail archives of SRFI 110 from before July 7th, 2015. The new archives for SRFI 110 contain all messages, not just those from before July 7th, 2015.




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