Re: how useful are collecting lists? David A. Wheeler 14 Mar 2013 02:22 UTC

David Vanderson:
> My plan was to replace "<* begin" with ". <*" in the example, so this:
>
> define-library
>    example grid
>    export make rows cols ref each rename(put! set!)
>    import scheme(base)
>    <* begin
> ;stuff
> *>
>
> becomes (in a scheme with implicit begin):
> define-library
>    example grid
>    export make rows cols ref each rename(put! set!)
>    import scheme(base)
>    . <*
> ;stuff
> *>
>
> Does this run against your current "head" rule?

It does, but even if I modified head I would not expect it
to do what you want. A ". x" by itself returns just "x" in other cases,
so for consistency, adding a rule about "." in head would
still create an additional (...).

But that's okay, because I think what you want is:
define-library
!  example grid
!  export make rows cols ref each rename(put! set!)
!  import scheme(base)
!  .
! <*
! ;stuff
*>

Or, just:
define-library . <*
example grid
export make rows cols ref each rename(put! set!)
import scheme(base)
;stuff
*>

If constructs like this are common:
!  .
! <*
...
*>

Then we could argue that "\\" after "." is reasonable, e.g.:
!  . \\ <*
...
*>

However, I do worry that the sequence ". \\ <*" completely fails
the "it's obvious what it means" test.

> Definitely working out well for me so far.  I'm only sorry that I didn't
> hear about it earlier - my first notice came from your post to the
> Racket dev list a week or so ago.

No problem!  I'm really glad you've joined us!

--- David A. Wheeler