Defining 'begin' as a macro in lisp tests and fixing indentation
parent
b4ee671500
commit
a8cd6eb099
|
@ -30,33 +30,31 @@ IN: lisp.test
|
||||||
"(lambda (&rest xs) xs)" lisp-string>factor "list" lisp-define
|
"(lambda (&rest xs) xs)" lisp-string>factor "list" lisp-define
|
||||||
|
|
||||||
{ 5 } [
|
{ 5 } [
|
||||||
! [ 2 3 ] "+" <lisp-symbol> funcall
|
"(+ 2 3)" lisp-eval
|
||||||
"(+ 2 3)" lisp-eval
|
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ 8.3 } [
|
{ 8.3 } [
|
||||||
! [ 10.4 2.1 ] "-" <lisp-symbol> funcall
|
"(- 10.4 2.1)" lisp-eval
|
||||||
"(- 10.4 2.1)" lisp-eval
|
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ 3 } [
|
{ 3 } [
|
||||||
"((lambda (x y) (+ x y)) 1 2)" lisp-eval
|
"((lambda (x y) (+ x y)) 1 2)" lisp-eval
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ 42 } [
|
{ 42 } [
|
||||||
"((lambda (x y z) (+ x (- y z))) 40 3 1)" lisp-eval
|
"((lambda (x y z) (+ x (- y z))) 40 3 1)" lisp-eval
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ "b" } [
|
{ "b" } [
|
||||||
"(cond (#f \"a\") (#t \"b\"))" lisp-eval
|
"(cond (#f \"a\") (#t \"b\"))" lisp-eval
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ "b" } [
|
{ "b" } [
|
||||||
"(cond ((< 1 2) \"b\") (#t \"a\"))" lisp-eval
|
"(cond ((< 1 2) \"b\") (#t \"a\"))" lisp-eval
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ 5 } [
|
{ +nil+ } [
|
||||||
"(begin (+ 1 4))" lisp-eval
|
"(list)" lisp-eval
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ { 1 2 3 4 5 } } [
|
{ { 1 2 3 4 5 } } [
|
||||||
|
@ -67,6 +65,18 @@ IN: lisp.test
|
||||||
"(list 1 2 (list 3 (list 4) 5))" lisp-eval cons>seq
|
"(list 1 2 (list 3 (list 4) 5))" lisp-eval cons>seq
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
|
{ T{ lisp-symbol f "begin" } } [
|
||||||
|
"(defmacro begin (&rest body) (list (list (quote lambda) (list) body)))" lisp-eval
|
||||||
|
] unit-test
|
||||||
|
|
||||||
|
{ t } [
|
||||||
|
T{ lisp-symbol f "begin" } lisp-macro?
|
||||||
|
] unit-test
|
||||||
|
|
||||||
|
{ 5 } [
|
||||||
|
"(begin (+ 1 4))" lisp-eval
|
||||||
|
] unit-test
|
||||||
|
|
||||||
{ T{ lisp-symbol f "if" } } [
|
{ T{ lisp-symbol f "if" } } [
|
||||||
"(defmacro if (pred tr fl) (list (quote cond) (list pred tr) (list #t fl)))" lisp-eval
|
"(defmacro if (pred tr fl) (list (quote cond) (list pred tr) (list #t fl)))" lisp-eval
|
||||||
] unit-test
|
] unit-test
|
||||||
|
@ -76,11 +86,11 @@ IN: lisp.test
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ 1 } [
|
{ 1 } [
|
||||||
"(if #t 1 2)" lisp-eval
|
"(if #t 1 2)" lisp-eval
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ 3 } [
|
{ 3 } [
|
||||||
"((lambda (x) (if x (begin (+ 1 2)) (- 3 5))) #t)" lisp-eval
|
"((lambda (x) (if x (+ 1 2) (- 3 5))) #t)" lisp-eval
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
] with-interactive-vocabs
|
] with-interactive-vocabs
|
||||||
|
|
Loading…
Reference in New Issue