There are quite a few ways to do what you're describing (and no particular prescribed way). You want to look at multimethods and tag hierarchies. http://clojure.org/multimethods
Tags can have multiple parents. I'm working on a project called Spinoza (search the mailing list for that and CLJOS) which you might want to give a look if you want to see one perspective on what a syntax to do the above might look like. It also uses multimethods and hierarchies but it removes the need to manually deal with tags or explicitly call object initializers. --~--~---------~--~----~------------~-------~--~----~ 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 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 -~----------~----~----~----~------~----~------~--~---