Is there any documentation on "specify"? I've seen it used from time to time (eg in your Om code), but the only documentation I've found is the dev wiki page[1].
[1] http://dev.clojure.org/display/design/specify+i.e.+reify+for...
Re:Clojure 2014 Year in Review
by swannodette on Friday January 02, 2015 @10:03PM
(#8829760)
At the moment there is not, someone should add something to the wiki. Basically it clones the target and adds the specified protocol implementations - basically instance level extend-type.
Re:Clojure 2014 Year in Review
by ddellacosta on Friday January 02, 2015 @11:42PM
(#8829940)
This is an old post but I talk about it a bit here (toward the bottom): http://www.davedellacosta.com/cljs-protocols
(I need to update my github link to point to a static version of Om's code!)
Re:Clojure 2014 Year in Review
by mikerichards on Friday January 02, 2015 @07:31PM
(#8829364)
Multimethods and Protocols seem to get better results than what OO is trying to achieve...at least when it comes to polymorphism.
However there are times when the OO approach makes sense and you have a full range of tools from multimethods to protocols. In ClojureScript you even have Self-like functionality in the form of `specify`.