On 31 Mar 2012, at 00:00, Cedric Greevey wrote: > On Fri, Mar 30, 2012 at 6:17 PM, Lee Spector <lspec...@hampshire.edu> wrote: >> >> On Mar 30, 2012, at 5:11 PM, Cedric Greevey wrote: >>> >>> That opens a giant can of worms. How, for example, do we discover that >>> (partial * 2) and #(* % 2) and (fn [x] (* 2 x)) and #(+ %1 %1) are all >>> equal? Nevermind once we get into situations like #(reduce + (map >>> (constantly 1) %) equals #(loop [n 0 s (seq %)] (if s (recur (inc n) >>> (next s)) n) equals count. >> >> In fact that's an uncomputable can of worms. > > I was pretty sure it smelled like halting problem; thanks for confirming. :)
Agreed, but I'm not suggesting determining whether two forms are computationally equivalent, just if two forms are literally equivalent. I know it wouldn't cover all cases, but cases like: (= (partial * 2) (partial * 2)) it would cover, which would seem like an improvement over the situation today. I suppose my bigger point is if code is data when thy isn't the code for functions available for analysis at runtime? > > -- > 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 -- 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