This is cool :) It reminds me of subtyping between maps in Typed Clojure, where
{:a 1, :b 2} <: {:a Number} Thanks, Ambrose On Wed, Jul 11, 2012 at 2:16 PM, Leif <leif.poor...@gmail.com> wrote: > Hi, everybody. I reimplemented the function isa? in terms of a protocol > Is-A. > > The reason why you would want to do that is in the README at > https://github.com/leifp/clj-isa-protocol > > tl;dr: One of the reasons why people are excited about predicate dispatch > is the irritation caused by the dispatch function of a multimethod being > closed. You have to decide up front what information the dispatch fn is > going to pull out of your arguments. Changing it afterward is a pain. > > Since the dispatch uses 'isa?' internally, if that function is extensible, > then multimethod dispatch becomes, to a certain extent, open. See the > README. > > Comments, critique, code, and questions welcome. > > Cheers, > Leif > > P.S. As an aside to people that like weird, obscure programming > languages, the rough idea of how is-a? should work for maps was inspired by > (but very much simpler than) the functional logic language LIFE [ > http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.90.3175 ] > > -- > 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 -- 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