Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 61 lines (36 sloc) 3.141 kB
9a6137c Fixed header in README.
Eric Shull authored
1 # clojure-py
932f5fd Added README.
Eric Shull authored
2
f0c0ca8 @bluepeppers Added travis-ci build status image to README.md
bluepeppers authored
3 An implementation of Clojure in pure Python. [![Build Status](https://secure.travis-ci.org/halgari/clojure-py.png?branch=master)](http://travis-ci.org/halgari/clojure-py)
932f5fd Added README.
Eric Shull authored
4
c86fa45 Update README.md
Timothy Baldridge authored
5 ## Why Python?
6
7 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.
8
c4f104e @bymerej typo
bymerej authored
9 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 implementations 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.
d6dfdf3 @halgari Update README.md
authored
10
d44bdfc @halgari Update README.md
authored
11 ## Basic concepts
12
13 Python builtins are available under the py/ namespace. Actual python bytecodes can be injected via py.bytecodes/OP
14
15 Viewing 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.
16
d6dfdf3 @halgari Update README.md
authored
17 One note: clojure-py implements the new "property vs calling method" design used in ClojureScript:
18
8829348 @halgari Update README.md
authored
19 (.__name__ (module)) ; same as module.__name__() in python
9a9cbd0 @halgari Update README.md
authored
20
8829348 @halgari Update README.md
authored
21 (.-__name__ (module)) ; same as module.__name__ in python
d6dfdf3 @halgari Update README.md
authored
22
23
c86fa45 Update README.md
Timothy Baldridge authored
24 ## How can I help?
25
2db6dfb @halgari Update README.md
authored
26 At this point, find a need and fill it! Play around with clojure-py, start porting your favorite clojure lib, and see what is missing. Also feel free to join our [mailing list](http://groups.google.com/group/clojure-py-dev). We (the clojure-py devs) normally just send out a message either we plan on working on a certain aspect of clojure-py (either through a issue report or through the mailing list). Currently there are quite a few functions in clojure.core that need porting. Drop by the mailing list and let us know what your interests are, and we'll be glad to offer suggestions and help however we can.
c86fa45 Update README.md
Timothy Baldridge authored
27
6f1cdcd @halgari added blog link
authored
28 ## Blog
29 From time to time, we'll post status updates, ideas and plans to this blog http://clojure-py.blogspot.com/
30
d588937 @eigenhombre Update README for installation instructions
eigenhombre authored
31 ## Installation
7b55c6f @halgari Update README.md
authored
32 Install 0.1.0 release:
d588937 @eigenhombre Update README for installation instructions
eigenhombre authored
33
7b55c6f @halgari Update README.md
authored
34 easy_install clojure-py
35 clojurepy
36
37 To run from GitHub checkout:
d588937 @eigenhombre Update README for installation instructions
eigenhombre authored
38
7b55c6f @halgari Update README.md
authored
39 python ./clojure.py
40
d588937 @eigenhombre Update README for installation instructions
eigenhombre authored
41 ## Unit tests
42
8e7db51 @eigenhombre Add comment
eigenhombre authored
43 # (must 'easy_install nose' or 'pip install nose' first)
3b05942 @eigenhombre Get rid of superfluous prompts
eigenhombre authored
44 nosetests
d588937 @eigenhombre Update README for installation instructions
eigenhombre authored
45
5b3ecec Tweaked README.
Eric Shull authored
46 ## Running
932f5fd Added README.
Eric Shull authored
47
3b05942 @eigenhombre Get rid of superfluous prompts
eigenhombre authored
48 clojurepy
d44bdfc @halgari Update README.md
authored
49
50 ## License
51 Not endorsed by Rich Hickey, but this project contains code based on his work
52
8e52749 @bymerej format
bymerej authored
53 Clojure-Py
54 Copyright (c) Rich Hickey. All rights reserved.
55 The use and distribution terms for this software are covered by the
56 Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
57 which can be found in the file epl-v10.html at the root of this distribution.
58 By using this software in any fashion, you are agreeing to be bound by
59 the terms of this license.
60 You must not remove this notice, or any other, from this software.
Something went wrong with that request. Please try again.