(Don't know why I can only respond to the first message.)

I come across partial implementation all the time, and with proxy, too. In 
Eclipse this is so common that this is typical:

"This adapter class provides default implementations for the methods 
described by the SelectionListener interface.
Classes that wish to deal with SelectionEvents can extend this class and 
override only the methods which they are interested in."

You may have seen the idea of optional operation in java.util.List and how 
it's handled in places like AbstractList with default implementations. 
Clojure itself has partial implementations of List in PersistentList and 
Collection in PersistentQueue. I suppose the alternative would be a 
proliferation of interfaces and protocols that would prevent reuse; 
something like ListWithoutModificationOrBulkOperations could have a full 
implementation but little use.

I can see the value of your view of protocol as spec, but maybe for 
domain-realted concepts and less for plumbing. 

-- 
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

Reply via email to