On Nov 27, 2008, at 5:21 AM, Robert Pfeiffer wrote: > If you want to return sets, keywords, maps, or everything that > implements the fn interface this is also an issue. Does trampolining > on keywords make sense?
The svn revision that introduced trampoline also introduced a "marker" interface "fn" that distinguishes "things ultimately produced by fn" and "thinks that can be called". The former are the only things that are trampolined. It also changed the behavior if fn? and introduced ifn? that know about the difference. Here's an example: Clojure user=> (fn? :hi) false user=> (fn? #(print "hi")) true user=> (ifn? :hi) true user=> (ifn? #(print "hi")) true user=> See also: http://clojure.svn.sourceforge.net/viewvc/clojure?view=rev&revision=1122 --Steve --~--~---------~--~----~------------~-------~--~----~ 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 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 -~----------~----~----~----~------~----~------~--~---