Hello everyone,

I know this is trivial but i just noticed that, unlike proxy, reify demands that at least the return types are consistent. I had a piece of code like this:

(defmacro implement-CalculateScore
"Consumer convenience for implementing the CalculateScore interface which is needed for genetic and simulated annealing training."
[minimize? & body]
`(proxy  [CalculateScore] [] ;;no base class
  (calculateScore  [this ^MLRegression n#] ~@body)
  (shouldMinimize [this] ~minimize?)))
----------------------------------------------------------------------------------------------------------------------------------------------------------------------

and in order to use reify instead of proxy i had to type hint the return types like this:

(defmacro implement-CalculateScore
"Consumer convenience for implementing the CalculateScore interface which is needed for genetic and simulated annealing training."
[minimize? & body]
`(reify  CalculateScore
  (^double calculateScore  [this ^MLRegression n#] ~@body)
  (^boolean shouldMinimize [this]  ~minimize?)))

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Is this something you would all expect?If yes can somebody elaborate as to why that is? Thanks in advance...


Jim

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