Just an idea: predicate dispatch can be combined with protocols into one thing, eliminating the need for defrecord-like things at all. Low level types defined with deftype, higher-level abstractions defined with that "dynamic protocols" thing. It'd be fun to play with it :)
Don't you think the nth implementation is kind of smells bad with all those nested ifs? How do you feel about "anti-if campaign" [1]? Wouldn't it be easier to implement nth with interfaces (no predicate dispatch is required, open by default)? Disclaimer: I don't want to criticize your code or something, I'm rather trying to understand your vision of the problem. It would be fantastic if you've written a blog post on it. [1] - http://www.antiifcampaign.com/ -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en