Skip to content
dmiller edited this page Sep 13, 2010 · 6 revisions

ClojureCLR

ClojureCLR is a native implementation of Clojure on Microsoft’s .Net Framework,
programmed in C# and using the Dynamic Language Runtime (Expression Trees V2).

Clojure

Clojure is a Lisp variant designed by Rich Hickey to encourage a functional programming style with support for multithreading and access to the Java VM. See the Clojure web site for more information.

Goals of ClojureCLR

  • Implement a feature-complete Clojure on top of CLR/DLR.
  • Stay as close as possible to the JVM implementation.
  • Spawn a cottage industry of people making Visual Studio extensions for Clojure. :)
  • Have some fun.

Status

The current release is for those willing to do a little work getting things to run.
Specifically, the Installing ClojureCLR / Compiling ClojureCLR / Running ClojureCLR instructions assume that you have Visual Studio,
that you are willing to download various bits and pieces, and are willing to put up with manual build step
that I haven’t had time to automate yet.

The current release supports much of the functionality of the JVM version.
Most of the runtime data structures are implemented; 95% of the core bootstrap environment loads;
AOT-compilation is supported. Performance does not yet match the JVM version.

See To Do for more information on remaining coding tasks.

License

The use and distribution terms for this software are covered by the Eclipse Public License 1.0, which can be found in the file epl-v10.html at the root of the distribution.