[lisp-interface-library-devel] Red Black Trees for pure interface are online

Faré fahree at gmail.com
Fri Nov 2 01:36:30 UTC 2012


Dear Dan,

Congrats for your new trees!

Some quick remarks:
* is it pure only? then a lot of it should go to pure, not interface.
* edit package files to import/export symbols
* remove is a reserved word in the cl package; that's why I used "drop".
* there are already generic tests for maps - you should just use them.
* some of your node/foo functions should just be regular foo functions
not just for tree nodes;
* on the other hand there is a node function that is already the
"smart" constructor.
* your pure and stateful trees may use <empty-is-nil> and
<empty-is-empty-object> mixins respectively
* there should be a separate API for sets. jaeschliman had something about that.
* there should be a parametric functor from maps to sets
* join and/or map/2 can be used to implement union, intersection, etc.
* I wouldn't use the unbound thing. for sets? Use T as value (or NIL?)
* Use (empty) in a defmethod> instead of (leaf) in a defun
* kvlrh should be kvlrb

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
Lie, n.:
        A very poor substitute for the truth, but the only one
discovered to date.


On Thu, Nov 1, 2012 at 7:16 PM, Dan Lentz <danlentz at gmail.com> wrote:
> The source is available for review and comment in my LIL fork
> (https://github.com/danlentz/lisp-interface-library)  I still am in
> the process of putting together an official battery of tests, but
> informally things seem to be working just fine.  There are still some
> loose ends to clean up of course.
>
> There are also a number of additionional operations there in support
> of providing the backend of a <set> interface (union, intersection
> etc) I also have a number of set interface methods nearly ready but
> not as yet published to github.




More information about the lisp-interface-library-devel mailing list