It's better to illustrate this with simple example:
If I'll define following protocol:
(defprotocol test1
(a1 [this] "a1")
(a2 [this] "a2")
(a3 [this] "a3")
)
and then I can extend it with following constuction:
(extend-protocol test1 String
(a1 [this] (str "Hello1 " this "!")))
then I get no warning, that protocol test1 has 3 methods, and if I'll try
to call corresponding, not defined methods, then I'll get
(a2 "bbb") --> method not defined
and if I'll try to extend it further with following call
(extend-protocol test1 String
(a2 [this] (str "Hello1 " this "!")))
then a2 will defined, but a1 become undefined.
May be we'll need either have a warning, that extend-protocol doesn't
defines all necessary methods, or we'll need to allow to "append" methods,
not defined earlier....
[AvataR] at "Fri, 16 Jul 2010 16:27:36 +0300" wrote:
[> I have record J:Bot, protocol P:Bot
[> and two files, one extend-protocol statement by file.
[> After loading first file i get:
[> http://pastebin.com/Kq5GZ6RJ
[> After loading second file i get:
[> http://pastebin.com/Pu3kHZ1h
[> Looks like next extend-protocol rewrite :impls seg. How/where post the
[> bug?
[> Or myabe this is a feature? :]
--
With best wishes, Alex Ott, MBA
http://alexott.blogspot.com/ http://alexott.net/
http://alexott-ru.blogspot.com/
Skype: alex.ott
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en