[Fwd: Re: [alexandria-devel] Moving to next stage]

Nikodemus Siivola nikodemus at random-state.net
Wed Jun 13 11:31:32 UTC 2007


Oops, forgot to CC the list.

-------- Original Message --------
From: - Wed Jun 13 14:31:03 2007
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Message-ID: <466FD55D.3040703 at random-state.net>
Date: Wed, 13 Jun 2007 14:30:37 +0300
From: Nikodemus Siivola <nikodemus at random-state.net>
User-Agent: Thunderbird 2.0.0.0 (Macintosh/20070326)
MIME-Version: 1.0
To: Attila Lendvai <attila.lendvai at gmail.com>
Subject: Re: [alexandria-devel] Moving to next stage
References: <466D1F29.2030908 at random-state.net> <b54b34af0706130043v7fe27976lf05e254d6abb8b6c at mail.gmail.com>
In-Reply-To: <b54b34af0706130043v7fe27976lf05e254d6abb8b6c at mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Attila Lendvai wrote:

> i'm missing some kind of collecting macro, to avoid the way too much
> used push/nreverse pattern. this macro should preferably use such
> names that do not conflict with ITERATE.
> 
> i've proposed one some time back, but it's not satisfying enough for
> inclusion as is.

I'm open to proposals, but I have the hunch that collecting macros
end up being either small languages (and thus sort of outside Alexandria's
scope) or not general enough.

> i would like to bring up the possible removal of SANS (again. it's not
> that i hate it, but it's a broken window in my eyes... :) SANS is a
> REMOVE-FROM-PLIST which is a much more intuitive name and matches the
> CL naming convention of REMOVE/DELETE.

Possible. I would personally be happy to retain it as a synonym / alternative
API.

> on this note, we should/could add a REMOVE-FROM-ALIST and their
> DELETE-FROM... counterparts.

I agree.

> then we could define setf expanders for them, no idea on their names
> though. REMOVEF-FROM-PLIST sounds silly, REMOVE-FROM-PLIST! is
> (unfortunately) not used much in CL and if there were a
> DELETE-FROM-PLIST! then DELETE-FROM-PLIST would be confusingly
> suggesting that it has no side effects. hm, seems like i have more
> questions then answers here...

You mean modify-macros? REMOVE-FROM-PLISTF, etc.

> another one that bothers me is the STARTS-WITH/ENDS-WITH. currently
> they check for the first and last element of a sequence. unfortunately
> it can't be clearly made to work so that it can check both for single
> elements and sequences (because NIL is both of them) unless we agree
> on something about NIL and document it. but on the other hand, most of
> the time (this may be subjective) such a STARTS-WITH/ENDS-WITH is
> needed that works with sequences, so i usually end up shadowing them.
>
> i personally would be ok if they worked so that when called with NIL
> they would always return T (so NIL would be taken as an empty
> sequence). and if we added FIRST-ELEMENT/LAST-ELEMENT then people
> could use them to test if a sequence start and/or ends with NIL as an
> element.

Would STARTS-WITH-SUBSEQ and ENDS-WITH-SUBSEQ work for you?

Cheers,

  -- Nikodemus





More information about the alexandria-devel mailing list