mirror of
https://github.com/kanaka/mal.git
synced 2024-09-11 13:55:55 +03:00
Update README.md and TODO. Minor PS update.
This commit is contained in:
parent
dc7938d8e6
commit
60154d24a8
84
README.md
Normal file
84
README.md
Normal file
@ -0,0 +1,84 @@
|
||||
# mal - Make a Lisp
|
||||
|
||||
See mal/presentation.mal
|
||||
|
||||
## Building/running implementations
|
||||
|
||||
* Bash 4
|
||||
|
||||
```
|
||||
cd bash
|
||||
bash stepX_YYY.sh
|
||||
```
|
||||
|
||||
* C
|
||||
|
||||
```
|
||||
cd c
|
||||
make
|
||||
./stepX_YYY
|
||||
```
|
||||
|
||||
* Clojure
|
||||
|
||||
```
|
||||
cd clojure
|
||||
lein with-profile +stepX trampoline run
|
||||
```
|
||||
|
||||
* Java 1.7
|
||||
|
||||
```
|
||||
cd java
|
||||
mvn compile
|
||||
mvn -quiet exec:java -Dexec.mainClass=mal.stepX_YYY
|
||||
# OR
|
||||
mvn -quiet exec:java -Dexec.mainClass=mal.stepX_YYY -Dexec.args="CMDLINE_ARGS"
|
||||
```
|
||||
|
||||
* Javascript/Node
|
||||
|
||||
```
|
||||
cd js
|
||||
node stepX_YYY.js
|
||||
```
|
||||
|
||||
* Mal
|
||||
|
||||
Running the mal implementation of mal involves running stepA of one of
|
||||
the other implementations and passing the mal step to run as a command
|
||||
line parameter.
|
||||
|
||||
```
|
||||
cd IMPL
|
||||
IMPL_STEPA_CMD ../mal/stepX_YYY.mal
|
||||
|
||||
```
|
||||
|
||||
* GNU Make 3.81
|
||||
|
||||
```
|
||||
cd make
|
||||
make -f stepX_YYY.mk
|
||||
```
|
||||
|
||||
* PHP 5.3
|
||||
|
||||
```
|
||||
cd php
|
||||
php stepX_YYY.php
|
||||
```
|
||||
|
||||
* Postscript Level 2/3
|
||||
|
||||
```
|
||||
cd ps
|
||||
gs -q -dNODISPLAY stepX_YYY.ps
|
||||
```
|
||||
|
||||
* Python 2.X
|
||||
|
||||
```
|
||||
cd python
|
||||
python stepX_YYY.py
|
||||
```
|
22
docs/TODO
22
docs/TODO
@ -3,9 +3,6 @@ All:
|
||||
- loop/recur ?
|
||||
- hash-maps with non-string keys
|
||||
- gensym reader inside quasiquote
|
||||
- "intern" symbols, strings and numbers. Simplify equality
|
||||
comparision.
|
||||
- Contact Peter Norvig about license
|
||||
|
||||
- synchronize function/definitions order/names in files
|
||||
- move Env into separate file (maybe)?
|
||||
@ -17,6 +14,10 @@ All:
|
||||
|
||||
- unindent tco while loop for step5-A
|
||||
|
||||
- Print full exception when test gets EOF from expect
|
||||
- Note that bash 4, Java 1.7, php 5.3 required
|
||||
- Break out language eval into step0.5
|
||||
|
||||
---------------------------------------------
|
||||
|
||||
JS:
|
||||
@ -33,21 +34,21 @@ Bash:
|
||||
PHP:
|
||||
|
||||
Make:
|
||||
- Norvig2: TCO/recur?
|
||||
- allow '_' in make variable names
|
||||
- errors should propagate up from within load-file
|
||||
|
||||
|
||||
Mal:
|
||||
- line numbers in errors
|
||||
- step6: command line arguments
|
||||
- step 5
|
||||
- step 9
|
||||
- step6_file: command line arguments
|
||||
- step5_tco
|
||||
- step9_interop
|
||||
|
||||
Java:
|
||||
- vectors, hash-maps, metadata
|
||||
- step 9
|
||||
- mvn exec:java -Dexec.mainClass="mal.step6_file" -Dexec.args="incC.mal"
|
||||
- step9_interop
|
||||
|
||||
Postscript:
|
||||
- step 1-A
|
||||
|
||||
Rust:
|
||||
- http://www.rustforrubyists.com/book/index.html
|
||||
@ -92,4 +93,3 @@ Others (based on redmonk languages from Jan 2014): ?
|
||||
- Tier 3
|
||||
? Pascal
|
||||
- Rust
|
||||
-
|
||||
|
@ -28,11 +28,13 @@
|
||||
READ (stub env) EVAL PRINT
|
||||
} def
|
||||
|
||||
/stdin (%stdin) (r) file def
|
||||
|
||||
{ % loop
|
||||
(user> ) print flush
|
||||
|
||||
%(%lineedit) (r) file 99 string readline
|
||||
(%stdin) (r) file 99 string readline
|
||||
stdin 99 string readline
|
||||
|
||||
not { exit } if % exit if EOF
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user