forked from keisen/minilisp
-
Notifications
You must be signed in to change notification settings - Fork 0
yanoh/minilisp
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This is an implementation of Lisp in less than 1k lines of C. This language can't do anything other than a simple math, but might be interesting to those who want to see how dynamic scoping, macro system, and copying GC can be implemented in C. To compile: $ cc -o minilisp minilisp.c Examples: (+ 1 2) ;; -> 3 (define a 3) (+ a a) ;; -> 6 (defun double (x) (+ x x)) (double 6) ;; -> 12 '(+ 1 2) ;; -> (+ 1 2) (defmacro if-zero (x then) (list 'if (list '= x 0) then)) (macroexpand '(if-zero x (print x))) ;; (quote (if-not-zero x (print x))) (if-zero 0 42) ;; prints "42"
About
Mini Lisp with GC in C
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- C 66.1%
- Common Lisp 33.9%