Thanks for your reply David!

On Dec 2, 9:21 pm, dmiller <dmiller2...@gmail.com> wrote:
>  Do you have some specific use cases [for .net attributes]?  That would be 
> stimulating.

One (common?) use case is that a WCF service can't be implemented
without support for attributes.  I'm a big Python and IronPython fan,
so I've been following IronPython developments in this area with some
interest.  IronPython only recently gained the ability to deal with
attributes.  My understanding is that there were two major sticking
points:

1.  IronPython needs to be syntactically compatible with Python, so
there were struggles over an attribute syntax that would be valid
Python syntax

2.  Python class (type) semantics are more flexible than .net type
semantics, so classes in IronPython are not real .net types.

I would suspect that point 1 would not be much of an issue for
ClojureCLR.  I have no idea about point 2 but would like to hear your
take.

Here's a good blog post with more details about the IronPython
approach:

http://ironpython-urls.blogspot.com/2009/04/addition-of-clrtype-to-ironpython.html

> 2. Performance goals:  Clojure:Java::ClojureCLR:C#.    Not there yet,
> but no reason why this is not achievable.    If you look at the IL
> generated,ClojureCLRis almost identical to ClojureJVM.

This comes as a pleasant surprise to me.  I know very little about
Clojure, but based on my naive understanding that it's a dynamic
language implemented on top of the DLR, I would have thought that C#-
like performance would be a bridge too far.  Isn't there a significant
cost to be paid for the late binding and runtime checks
(notwithstanding partial amelioration of the issues via the DLR's
support for caching the results of method binding, etc.)?  Nobody
really talks about C#-like performance goals for IronPython or
IronRuby.  Is Clojure in any sense "less dynamic" than those
languages?

Also, while I have your attention, another question:  I think the CLR
provides support for optimized tail calls.  Does / will ClojureCLR
take advantage of this capability?

   Thanks,
   Mike

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