Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/boxed/readable_lisp
Readable Lisp
https://github.com/boxed/readable_lisp
Last synced: 30 days ago
JSON representation
Readable Lisp
- Host: GitHub
- URL: https://github.com/boxed/readable_lisp
- Owner: boxed
- License: mit
- Created: 2013-05-12T14:22:39.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2014-08-15T16:59:42.000Z (about 10 years ago)
- Last Synced: 2024-04-16T01:50:15.946Z (7 months ago)
- Language: Python
- Size: 145 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
For a much more useful and, I think, nice way to do something like this I have a new project: https://github.com/boxed/indent-clj
Readable Lisp
=============An implementation of a subset of the Readable Lisp Project ( http://readable.sourceforge.net/ ).
Currently only tested with some Clojure code and only supports the indent-instead-of-parenthesis
part of the Readable Lisp spec. Even those parts are probably rather buggy :PExample:
```clojure
ns timelike.node
:refer-clojure
:exclude
[time future]
:import
java.util.concurrent
ConcurrentSkipListSet
CountDownLatch
LinkedBlockingQueue
LinkedTransferQueue
TimeUnit
:use
timelike.scheduler
clojure.math.numeric-tower
[incanter.distributions :only [draw exponential-distribution]]
```is turned into this (although not pretty-printed like this):
```clojure
(ns timelike.node
(:refer-clojure
:exclude
[time future])
(:import
(java.util.concurrent
ConcurrentSkipListSet
CountDownLatch
LinkedBlockingQueue
LinkedTransferQueue
TimeUnit))
(:use
timelike.scheduler
clojure.math.numeric-tower
[incanter.distributions :only [draw exponential-distribution]]))
```Usage
=====```untab test.clj-readable```
will output standard Clojure source code for the file test.clj-readable
Rationale
=========I wrote this because I wanted to play around with the concept of Readable Lisp but
getting that project to build on my machine took me a long time and at the end I
couldn't even get it to work. Then I found the Parsley library which seemed to make
it a bit easier to write parsers so I thought I'd give it a shot since I've never
played with parser libraries before :P