about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--Makefile (renamed from makefile)0
-rw-r--r--README.md45
-rw-r--r--readme.txt67
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
3hi, i'm acdw.
4this is my lisp.
5
6## about lam
7
8lam is a little toy lisp evaluator
9written in lua
10that isn't fennel.
11
12it's still very much a work-in-progress
13while i work toward a lam 1500 release.
14
15## installing lam
16
17### dependencies
18
19lam is built against luajit 2.0 and has only been tested on that.
20it might work on other luae, though.
21
22## using lam
23
24run `make repl` to set up a testing repl of the lam interpreter.
25you can also run `make test` to start a lua repl
26with all of lam's modules preloaded.
27
28## license
29
30lam is licensed under a 3-clause bsd license.
31see 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
41thanks to peter norvig's [series on lisp interpreters][norvig]
42and to m455
43and 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 @@
1lam(n.) -- where you go when a scheme goes bad
2by C. Duckworth
3
4about lam
5---------
6
7lam is my little toy lisp evaluator. written in lua!
8(no, it isn't fennel.)
9
10at least in these beginning stages, i'm basing lam heavily
11on Norvig's lispy interpreters. the guy knows his lisp!
12these are well-written articles.
13
14https://norvig.com/lispy.html
15
16this is /very much/ a work in progress.
17lam uses lua 5.1 or luajit.
18it might work elsewhere, but i've not tested it on those.
19
20using lam
21---------
22
23you can set up a repl of lam to test it out:
24
25> make repl
26
27all 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
41and special forms
42
43- quote
44- define
45- lambda
46
47plus, some special lam functions:
48
49- luatype (the lua types of a value)
50- type (the lam type of the value)
51
52lam limitations
53---------------
54
55- lam just has numbers and operations on them
56- uh, and symbols. and lists. and lambdas and environments.
57
58todo
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---------------------------
67contributions/help WELCOME!