Are there any plans to use protocols to define polymorphic functions like conj and get? Perhaps with an "untype" function to remove type metadata so one could always get at the datastructures hidden by the protocol. e.g.
(defn sql-get [table key] (sql-query (str "select * from " table " where " (get (untype table) :primary- key) " = ?") key)) (extend ::sql-table Gettable {:get sql-get}) Then 'get' could be used in a more generic fashion: user=> (def accounts (sql-table accounts)) user=> (get accounts 10) {:id 10, :login "jsmith", :password "1234"} - James On Nov 12, 12:10 pm, Rich Hickey <richhic...@gmail.com> wrote: > An early version of the code for a few important new language > features, datatypes[1] and protocols[2] is now available in the 'new' > branch[3]. Note also that the build system[4] has builds of the new > branch, and that the new branch works with current contrib. > > If you have the time and inclination, please try them out. Feedback is > particularly welcome as they are being refined. > > Thanks, > > Rich > > [1]http://www.assembla.com/wiki/show/clojure/Datatypes > [2]http://www.assembla.com/wiki/show/clojure/Protocols > [3]http://github.com/richhickey/clojure/tree/new > [4]http://build.clojure.org/ -- 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