[pro] "fhash"

Alessio Stalla alessiostalla at gmail.com
Wed Jun 29 21:24:59 UTC 2011


On Wed, Jun 29, 2011 at 12:06 AM, Daniel Weinreb <dlw at google.com> wrote:
> Hi.   I read Christophe's paper on extensible sequences.  I don't think
> this bears on my new package, though, for two reasons:
> (1) it's only about sequences; maps don't fit into its framework.

Yes, I was aware of that; I suggested the paper because it details
what is, imho, an effort analogous to yours, and might give
inspiration wrt. the general spirit, the API and the integration with
the rest of CL.

> (2) He is proposing here a change that would have to be made
> to every Common Lisp implementation.

Such a change would have to be made because CL already has a sequence
abstraction, so it makes sense to extend it rather than to provide
another abstraction with the same goals. Since there's no map
abstraction in CL, a similar API for maps would not need any special
support from implementations. Extra features like LOOP integration
might be provided only on CL implementations with an extensible LOOP,
or by using Iterate instead, or, shameless plug, doplus [1].

> As may have been
> apparent from other email I've sent, I am, sadly, pessimistic
> that we can really get all of the implementors to make changes
> in harmony.  It's not that they are bad or incompetent or
> anything like that.  It's just that they're busy people with
> other priorities.  In some cases, the priorities include
> "putting food on the table" (in the metaphorical sense),
> i.e. it would be easier if someone could pay them to
> do this, but I don't see how that would happen.
> Anyway, thanks for pointing me at this very interesting
> paper.

I'm with Pascal on pessimism: I'm sure all sane Lisp implementers will
add any feature that is reasonably easy to implement and is demanded
by sufficiently many users. Fixes to the MOP generally satisfy both
these rules. Extensible sequences do not, yet, at least because most
Lispers don't know about them or don't find them sufficiently useful
to bug their vendors about them. In my personal experience with ABCL,
where dealing with Java libraries is fairly common, having Java Lists
be natively understood as CL sequences is valuable. I imagine that if,
e.g., FSet would get more users, having it integrated with sequences
would be appealing (even if it would open another can of worms since
the CL sequence API assumes mutability - a design mistake, imho).

[1] http://code.google.com/p/tapulli/wiki/doplus

Alessio




More information about the pro mailing list