Hi everyone,

if I run this code:

(defprotocol P
 (foo [x]))

(deftype T []
  P
  (foo [] "dummy"))

(extends? P T)
;==> nil
(satisfies? P T)
;==> nil
(extenders P)
;==>nil

are they not yet implemented?

anyway when I run

(type P)
 ;==> clojure.lang.PersistentArrayMap

So the protocol is simply a map.

I thought that P had some kind of protocol type, that extends
something like:

(defprotocol ProtocolProtocol
 (extends? [p t])
 (extenders [p])
 (satisfies? [p t]))


(deftype Protocol [methods implementers]
 ProtocolProtocol
 (extends? [t] ...)
 (extenders [] ...)
 (satisfies? [t] ...))

Does it make any sense?

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