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

Reply via email to