> But one issue I encountered with defprotocol is that there appears to
> be a possible symbol table/space issue. When I compile, I get warnings
> like the following:
>
> Warning: protocol #'beanstalk.core/BeanstalkObject is overwriting
> function read
> Warning: protocol #'beanstalk.core/BeanstalkObject is overwriting
> function peek
> Warning: protocol #'beanstalk.core/BeanstalkObject is overwriting
> function use
> WARNING: read already refers to: #'clojure.core/read in namespace:
> beanstalk.core, being replaced by: #'beanstalk.core/read
> WARNING: peek already refers to: #'clojure.core/peek in namespace:
> beanstalk.core, being replaced by: #'beanstalk.core/peek
> WARNING: use already refers to: #'clojure.core/use in namespace:
> beanstalk.core, being replaced by: #'beanstalk.core/use
> WARNING: read already refers to: #'clojure.core/read in namespace:
> beanstalk.core-test, being replaced by: #'beanstalk.core/read
> WARNING: peek already refers to: #'clojure.core/peek in namespace:
> beanstalk.core-test, being replaced by: #'beanstalk.core/peek
> WARNING: use already refers to: #'clojure.core/use in namespace:
> beanstalk.core-test, being replaced by: #'beanstalk.core/use
>
> Is there something I'm can do to prevent these collisions aside from
> using a different name for the method?
You should change your toplevel ns declaration to something like this -
(ns beanstalk.core
;; Don't refer to the following clojure.core functions
(:refer-clojure :exclude [read peek use])
(:use [clojure.contrib.condition :only [raise]]
[clojure.string :only [split lower-case]]
[clojure.pprint :only [pprint]]
[clojure.java.io])
(import [java.io BufferedReader]))
This won't refer to the conflicting functions and your life will be
easy :) If you still need those functions, you can call them by
namespace-qualifying the symbols like clojure.core/read, etc.
Hope that helps.
Regards,
BG
--
Baishampayan Ghose
b.ghose at gmail.com
--
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