On 14.02.2010, at 22:48, Mark Engelberg wrote:

> Actually, the more I think about it, the more I feel like deftype's
> "specify clojure.lang.IPersistentMap as an interface with no
> implementation, and you'll get a default implementation" seems like a
> weird exception,

I agree. The current deftype is meant to be both the primitive construct for 
implementing data types, and a high-performance substitute for defstruct. It 
would be conceptually cleaner to separate these two roles.

> Has their been any community brainstorming about what the syntax could
> look like for a general mechanism to specify within a deftype default
> implementations or default partial implementations of various
> interfaces?

I don't remember. The issue of default implementations comes up now and then, 
but only in the form of the question "is it possible?".

In my own applications, I have only used deftype as a primitive construct, not 
as a substitute for defstruct. The special status of IPersistentMap thus never 
bothered me. However, I do see other cases where default implementations would 
be useful to have. And then IPersistentMap could become just one of them.

Konrad.

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