diff options
-rw-r--r-- | Makefile (renamed from makefile) | 0 | ||||
-rw-r--r-- | README.md | 45 | ||||
-rw-r--r-- | readme.txt | 67 |
3 files changed, 45 insertions, 67 deletions
diff --git a/makefile b/Makefile index ff07d99..ff07d99 100644 --- a/makefile +++ b/Makefile | |||
diff --git a/README.md b/README.md new file mode 100644 index 0000000..3728ba6 --- /dev/null +++ b/README.md | |||
@@ -0,0 +1,45 @@ | |||
1 | # lam -- Lisp Acdw Made | ||
2 | |||
3 | hi, i'm acdw. | ||
4 | this is my lisp. | ||
5 | |||
6 | ## about lam | ||
7 | |||
8 | lam is a little toy lisp evaluator | ||
9 | written in lua | ||
10 | that isn't fennel. | ||
11 | |||
12 | it's still very much a work-in-progress | ||
13 | while i work toward a lam 1500 release. | ||
14 | |||
15 | ## installing lam | ||
16 | |||
17 | ### dependencies | ||
18 | |||
19 | lam is built against luajit 2.0 and has only been tested on that. | ||
20 | it might work on other luae, though. | ||
21 | |||
22 | ## using lam | ||
23 | |||
24 | run `make repl` to set up a testing repl of the lam interpreter. | ||
25 | you can also run `make test` to start a lua repl | ||
26 | with all of lam's modules preloaded. | ||
27 | |||
28 | ## license | ||
29 | |||
30 | lam is licensed under a 3-clause bsd license. | ||
31 | see COPYING for details. | ||
32 | |||
33 | ## contribute | ||
34 | |||
35 | [email me][] or ping me somewhere | ||
36 | |||
37 | [email me]: mailto:acdw@acdw.net | ||
38 | |||
39 | ## thanks | ||
40 | |||
41 | thanks to peter norvig's [series on lisp interpreters][norvig] | ||
42 | and to m455 | ||
43 | and to my friends | ||
44 | |||
45 | [norvig]: https://norvig.com/lispy.html | ||
diff --git a/readme.txt b/readme.txt deleted file mode 100644 index 523b92c..0000000 --- a/readme.txt +++ /dev/null | |||
@@ -1,67 +0,0 @@ | |||
1 | lam(n.) -- where you go when a scheme goes bad | ||
2 | by C. Duckworth | ||
3 | |||
4 | about lam | ||
5 | --------- | ||
6 | |||
7 | lam is my little toy lisp evaluator. written in lua! | ||
8 | (no, it isn't fennel.) | ||
9 | |||
10 | at least in these beginning stages, i'm basing lam heavily | ||
11 | on Norvig's lispy interpreters. the guy knows his lisp! | ||
12 | these are well-written articles. | ||
13 | |||
14 | https://norvig.com/lispy.html | ||
15 | |||
16 | this is /very much/ a work in progress. | ||
17 | lam uses lua 5.1 or luajit. | ||
18 | it might work elsewhere, but i've not tested it on those. | ||
19 | |||
20 | using lam | ||
21 | --------- | ||
22 | |||
23 | you can set up a repl of lam to test it out: | ||
24 | |||
25 | > make repl | ||
26 | |||
27 | all of lua's math.* functions are available, as well as | ||
28 | |||
29 | - +, *, /, - | ||
30 | - =, <, >, <=, >= | ||
31 | - null? | ||
32 | - number? | ||
33 | - symbol? | ||
34 | - apply | ||
35 | - begin | ||
36 | - map | ||
37 | - car | ||
38 | - cdr | ||
39 | - list | ||
40 | |||
41 | and special forms | ||
42 | |||
43 | - quote | ||
44 | - define | ||
45 | - lambda | ||
46 | |||
47 | plus, some special lam functions: | ||
48 | |||
49 | - luatype (the lua types of a value) | ||
50 | - type (the lam type of the value) | ||
51 | |||
52 | lam limitations | ||
53 | --------------- | ||
54 | |||
55 | - lam just has numbers and operations on them | ||
56 | - uh, and symbols. and lists. and lambdas and environments. | ||
57 | |||
58 | todo | ||
59 | ---- | ||
60 | |||
61 | - move schemestr from repl into pp and expand (lua/lam pp, etc) | ||
62 | - add more datatypes (strings, anyone?!) | ||
63 | - numeric tower (oof) (at least exact/inexact numbers) | ||
64 | - .... | ||
65 | |||
66 | --------------------------- | ||
67 | contributions/help WELCOME! | ||