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

Re: how useful are collecting lists?



On 3/14/13, David Vanderson <david.vanderson@xxxxxxxxx> wrote:
>
> On 03/13/2013 07:22 PM, David A. Wheeler wrote:
>> 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 (...).
> Ah right - I see.
>>
>> 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
>> *>
> I don't think I'd have thought of this, but it's good to know it's
> possible.
>>
>> Or, just:
>> define-library . <*
>> example grid
>> export make rows cols ref each rename(put! set!)
>> import scheme(base)
>> ;stuff
>> *>
> This makes the most sense to me, I'll put it in the draft revision I'm
> writing.

I think:

define-library (example grid) . <*
export . (
  ; constructors
  make
  ; accessors
  rows cols ref
  ; traversers
  each
  ; setters
  rename(put! set!)
)
import (scheme base)

...
*>

..makes more sense.  The convention settling across Scheme's seems to
be that libraries are named like so: (collection sub-lib ...), so
using "scheme(base)" or "example grid" might be bucking conventions a
little, since the "standard" names would be written "(scheme base)"
and "(example grid)".

Of course, t-expressions kicks parentheses conventions **hard**, so
well, whatever anyway (^^)

Sincerely,
AmkG