Just for the record, I think extensible sequences would be really great!<br>-- Dan<br><br><div class="gmail_quote">On Wed, Jun 29, 2011 at 5:24 PM, Alessio Stalla <span dir="ltr"><<a href="mailto:alessiostalla@gmail.com">alessiostalla@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">On Wed, Jun 29, 2011 at 12:06 AM, Daniel Weinreb <<a href="mailto:dlw@google.com">dlw@google.com</a>> wrote:<br>


> Hi.   I read Christophe's paper on extensible sequences.  I don't think<br>
> this bears on my new package, though, for two reasons:<br>
> (1) it's only about sequences; maps don't fit into its framework.<br>
<br>
</div>Yes, I was aware of that; I suggested the paper because it details<br>
what is, imho, an effort analogous to yours, and might give<br>
inspiration wrt. the general spirit, the API and the integration with<br>
the rest of CL.<br>
<div class="im"><br>
> (2) He is proposing here a change that would have to be made<br>
> to every Common Lisp implementation.<br>
<br>
</div>Such a change would have to be made because CL already has a sequence<br>
abstraction, so it makes sense to extend it rather than to provide<br>
another abstraction with the same goals. Since there's no map<br>
abstraction in CL, a similar API for maps would not need any special<br>
support from implementations. Extra features like LOOP integration<br>
might be provided only on CL implementations with an extensible LOOP,<br>
or by using Iterate instead, or, shameless plug, doplus [1].<br>
<div class="im"><br>
> As may have been<br>
> apparent from other email I've sent, I am, sadly, pessimistic<br>
> that we can really get all of the implementors to make changes<br>
> in harmony.  It's not that they are bad or incompetent or<br>
> anything like that.  It's just that they're busy people with<br>
> other priorities.  In some cases, the priorities include<br>
> "putting food on the table" (in the metaphorical sense),<br>
> i.e. it would be easier if someone could pay them to<br>
> do this, but I don't see how that would happen.<br>
> Anyway, thanks for pointing me at this very interesting<br>
> paper.<br>
<br>
</div>I'm with Pascal on pessimism: I'm sure all sane Lisp implementers will<br>
add any feature that is reasonably easy to implement and is demanded<br>
by sufficiently many users. Fixes to the MOP generally satisfy both<br>
these rules. Extensible sequences do not, yet, at least because most<br>
Lispers don't know about them or don't find them sufficiently useful<br>
to bug their vendors about them. In my personal experience with ABCL,<br>
where dealing with Java libraries is fairly common, having Java Lists<br>
be natively understood as CL sequences is valuable. I imagine that if,<br>
e.g., FSet would get more users, having it integrated with sequences<br>
would be appealing (even if it would open another can of worms since<br>
the CL sequence API assumes mutability - a design mistake, imho).<br>
<br>
[1] <a href="http://code.google.com/p/tapulli/wiki/doplus" target="_blank">http://code.google.com/p/tapulli/wiki/doplus</a><br>
<font color="#888888"><br>
Alessio<br>
</font></blockquote></div><br>