<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.3.2">
</HEAD>
<BODY>
Personally, I think the only sensible way to handle this problem is to require the user to <BR>
specify an ordering function.  We can of course provide a default, which will be error-prone<BR>
but tend to work most of the time.<BR>
<BR>
The function called "my-generic-less-than" which is in the source tree now could be <BR>
a starting point for a generic ordering.<BR>
<BR>
<BR>
On Tue, 2007-07-24 at 09:48 -0400, Ian Eslick wrote:
<BLOCKQUOTE TYPE=CITE>
<PRE>
<FONT COLOR="#000000">Robert and I have had some extended discussions on ordering in  </FONT>
<FONT COLOR="#000000">indices.  I think that all we really need to agree on is _some_  </FONT>
<FONT COLOR="#000000">canonical ordering.  If we have mixed types in an index, how should  </FONT>
<FONT COLOR="#000000">they be ordered relative to each other?  In BDB we have a C function  </FONT>
<FONT COLOR="#000000">which implements the ordering based on the type tag and then based on  </FONT>
<FONT COLOR="#000000">the type within it.  Are you relying on a pure binary sort in  </FONT>
<FONT COLOR="#000000">postmodern?</FONT>

<FONT COLOR="#000000">Robert or I will get to submitting that patch shortly.  I have  </FONT>
<FONT COLOR="#000000">recently sent in a patch to lisp-compare<= so we'll see if we had to  </FONT>
<FONT COLOR="#000000">make parallel changes.</FONT>


<FONT COLOR="#000000">Thanks,</FONT>
<FONT COLOR="#000000">Ian</FONT>

<FONT COLOR="#000000">On Jul 24, 2007, at 3:50 AM, Henrik Hjelte wrote:</FONT>

<FONT COLOR="#000000">> I sent this message yesterday but I guess it got stuck in the mailing</FONT>
<FONT COLOR="#000000">> list filter. Perhaps the attachment was too big. Since my</FONT>
<FONT COLOR="#000000">> common-lisp.net user hhjelte does not have write access to elephant I</FONT>
<FONT COLOR="#000000">> have placed the patches from here instead:</FONT>
<FONT COLOR="#000000">> darcs get <A HREF="http://common-lisp.net/project/grand-prix/darcs/elephant">http://common-lisp.net/project/grand-prix/darcs/elephant</A></FONT>
<FONT COLOR="#000000">></FONT>
<FONT COLOR="#000000">> ---------- Forwarded message ----------</FONT>
<FONT COLOR="#000000">> From: Henrik Hjelte <<A HREF="mailto:henrik@evahjelte.com">henrik@evahjelte.com</A>></FONT>
<FONT COLOR="#000000">> Date: Jul 23, 2007 11:28 PM</FONT>
<FONT COLOR="#000000">> Subject: some patches</FONT>
<FONT COLOR="#000000">> To: <A HREF="mailto:elephant-devel@common-lisp.net">elephant-devel@common-lisp.net</A></FONT>
<FONT COLOR="#000000">></FONT>
<FONT COLOR="#000000">></FONT>
<FONT COLOR="#000000">> Here are some darcs patches that might be of interest. I had some</FONT>
<FONT COLOR="#000000">> problems with map-index on db-postmodern that made me almost rip my</FONT>
<FONT COLOR="#000000">> hair of, but finally I made it to work again. The problem is that</FONT>
<FONT COLOR="#000000">> map-index for a string value rely on the ordering in the btree</FONT>
<FONT COLOR="#000000">> (continue-p makes use of less than for strings). The postmodern</FONT>
<FONT COLOR="#000000">> backend relies on how the database backend orders things, which is not</FONT>
<FONT COLOR="#000000">> always the same thing. Is it a necessary feature that b-trees of</FONT>
<FONT COLOR="#000000">> string and objects are required to be ordered by lisp-compare<=?</FONT>
<FONT COLOR="#000000">></FONT>
<FONT COLOR="#000000">> In the process of solving the bug I have upgraded the test framework</FONT>
<FONT COLOR="#000000">> to use FiveAM instead of RT, It has in my opinion a very nice syntax</FONT>
<FONT COLOR="#000000">> and some useful features to track dependencies between tests. I hope</FONT>
<FONT COLOR="#000000">> you agree that it improves on things.</FONT>
<FONT COLOR="#000000">></FONT>
<FONT COLOR="#000000">> /Henrik Hjelte</FONT>
<FONT COLOR="#000000">> _______________________________________________</FONT>
<FONT COLOR="#000000">> elephant-devel site list</FONT>
<FONT COLOR="#000000">> <A HREF="mailto:elephant-devel@common-lisp.net">elephant-devel@common-lisp.net</A></FONT>
<FONT COLOR="#000000">> <A HREF="http://common-lisp.net/mailman/listinfo/elephant-devel">http://common-lisp.net/mailman/listinfo/elephant-devel</A></FONT>

<FONT COLOR="#000000">_______________________________________________</FONT>
<FONT COLOR="#000000">elephant-devel site list</FONT>
<FONT COLOR="#000000"><A HREF="mailto:elephant-devel@common-lisp.net">elephant-devel@common-lisp.net</A></FONT>
<FONT COLOR="#000000"><A HREF="http://common-lisp.net/mailman/listinfo/elephant-devel">http://common-lisp.net/mailman/listinfo/elephant-devel</A></FONT>
</PRE>
</BLOCKQUOTE>
</BODY>
</HTML>