Ah! Special form!  Got it!  Thank you!

>From the fourth paragraph: 
"If the second operand is a list, or args are supplied, it is taken to be a 
method call. The first element of the list must be a simple symbol, and the 
name of the method is the name of the symbol. ..." 

That was bugging me.  And I learned some more about java interop special 
form.  Thanks!

On Friday, July 24, 2015 at 9:43:29 AM UTC-5, Bobby Eickhoff wrote:
>
> eval isn't calling itself, it's calling the method Compiler#eval.  (defn 
> eval ...) binds the function to a var named eval, but (. 
> clojure.lang.Compiler (eval form)) is invoking a static method.  See the dot 
> special form docs 
> <http://clojure.org/java_interop#Java+Interop-The+Dot+special+form>.
>
> On Friday, July 24, 2015 at 10:27:52 AM UTC-4, SteveSuehs wrote:
>>
>> I am looking at the source for clojure's core eval function.  It appears 
>> to recursively call itself.  Is the eval used to call a method on compiler 
>> not the same eval? How is this not infinitely recursive?  Is something lazy 
>> here?
>>
>> Links:
>> * Clojure eval 
>> https://github.com/clojure/clojure/blob/bdc752a7fefff5e63e0847836ae5e6d95f971c37/src/clj/clojure/core.clj
>> * Compiler 
>> https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/Compiler.java
>>
>> Thanks!
>> -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
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to