I'm interested in investigating Clojure on the CLR. I see that there is a port--but I'm always a bit leery of these second-class citizens (i.e. they don't have the stability or functionality of the original). I'd less inclined to spend much time at this point if generally people find Clojure on the CLR immature--I simply don't have the time or energy to fight a bunch of problems at this point. On the other hand, if Clojure on the CLR seems well-baked, I'd start diving in today!
Has anyone real-world experience with Clojure on the CLR?
Any advice and/or other help getting started with the CLR version would be appreciated too.
At work, we have a significant amount of legacy .NET code so I've been using ClojureCLR a good amount in debugging to sanity check individual components. Have you been able to get to the REPL? It's definitely not as straightforward as the Java version, but the docs on github are pretty helpful. One thing that's going to be a pain is the lack of generics. You will have to hack them in yourself, but it's not exactly the hardest thing in the world. I've actually been meaning to write a blog post about ClojureCLR interop and generics. This might be the impetus to get me to do so.
Edit: finally got off my ass and did it...
http://www.jierenchen.com/2010/08/clojureclr.html
Edit 2: new link
http://theotherjchen.blogspot.com/2010/08/clojureclr.html
Here's a .NET Rocks! radio show about the Clojure-CLR project. David Miller (faculty of DePaul University in Chicago) talks about porting it. This information might confirm or dissipate your leeriness. The interview starts at about 6 minutes and they start talking Clojure at about 12 minutes in.
Here's the transcript for the show for easy searching.
If you look at the checkins rss feed you'll see that David Miller has been doing a lot of good work to add functionality. What's not clear is when David might be targeting a release or what functionality a release might contain. I'm eager to play with clojure-clr, but I'm holding off until it's baked enough to have an initial binary release.