54

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.

Jason Down
  • 21,731
  • 12
  • 83
  • 117
Kevin Won
  • 7,156
  • 5
  • 36
  • 54
  • 2
    not exactly an answer to my question, but [F# and Clojure interview](http://channel9.msdn.com/posts/Charles/Emerging-Langs-Clojure-and-F/) is interesting – Kevin Won Aug 10 '10 at 07:03
  • As for your concerns about Clojure-CLR trailing the JVM Clojure implementation, this will ultimately be addressed by the Clojure-in-Clojure project: http://blog.n01se.net/?p=41 http://clojure.org/todo – mshroyer Aug 13 '10 at 22:14

3 Answers3

22

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

Jieren
  • 1,952
  • 4
  • 18
  • 26
  • 2
    I'd definitely read a blog post on ClojureCLR and using its REPL. I'd especially be interested in hearing in more detail about how you are using it debug legacy .NET components. – Ray Aug 11 '10 at 05:41
  • Nice post! It might now get me to finally try out ClojureCLR particularly with debugging. – Ray Aug 30 '10 at 21:34
  • @Jieren : yep, broken. Know any mirror? Google doesn't have a cache for it… – kgadek Sep 30 '11 at 23:07
  • Hey all. Sorry about the broken link. Some asshole sniped my domain right from under me and is now trying to sell it back to me. Here is the new link: http://theotherjchen.blogspot.com/2010/08/clojureclr.html – Jieren Oct 14 '11 at 03:44
8

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.

John K
  • 28,441
  • 31
  • 139
  • 229
  • I listened to this podcast--it gives a good intro to the history of the Clojure project generally and specifically about the CLR implementation. It learned that the CLR part wasn't just a port--C# was initially one of the ways Clojure was implemented. – Kevin Won Aug 13 '10 at 21:27
2

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.

Mike K
  • 644
  • 5
  • 14
  • 1
    Great news! [David is very close to a binary release with similar functionality to 1.2 RC3.](http://groups.google.com/group/clojure/msg/2d40edccb55e3b30) – Mike K Aug 16 '10 at 00:33