clojure-py

Clojure implemented on top of Python
Download

clojure-py Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Eclipse Public License
  • Price:
  • FREE
  • Publisher Name:
  • Timothy Baldridge
  • Publisher web site:
  • https://github.com/halgari/

clojure-py Tags


clojure-py Description

clojure-py is an implementation of Clojure in pure Python.Why Python?It is our belief that static virtual machines make very poor runtimes for dynamic languages. They constrain the languages to their view of what the "world should look like" and limit the options available to language implementors. We are attempting to prove this by writing an implementation of Clojure that runs on the Python VM. We believe that with a proper dynamic JIT (like pypy) a version of clojure running on a dynamic VM can outperform its JVM and CLR counterparts.Aside from that, there are many Python libraries like PySide (Qt GUI), numpy, scipy, and stackless that do not have JVM counterparts, or at least the Python implemntations are easier to use and learn. clojure-py will integrate tightly with thy Python VM and will be able to use all of these libraries.Basic conceptsPython builtins are available under the py/ namespace. Actual python bytecodes can be injected via py.bytecodes/OPViewing the code at https://github.com/halgari/clojure-py/blob/master/clojure/core.clj is probably the best way to get a feeling of what is possible, and how clojure-py implements certain functions.One note: clojure-py implements the new "property vs calling method" design used in ClojureScript: (.__name__ (module)) ; same as module.__name__() in python (.-__name__ (module)) ; same as module.__name__ in pythonHow can I help?Check out the Wiki for more information about the roadmap for this project. Then check out the issues list for any items marked "isolated change". These are changes that should be somewhat easy for a newcommer to pick up and will not involve messing around with the internals of the implementation much. Also feel free to join our mailing list.BlogFrom time to time, we'll post status updates, ideas and plans to this blog http://clojure-py.blogspot.com/Installation ./setup.py develop # or ./setup.py install for 'production'Unit tests (must 'easy_install nose' or 'pip install nose' first) nosetestsRunning clojurepyProduct's homepage


clojure-py Related Software