       "((lambda (x y z) (+ x (- y z))) 40 3 1)" lisp-eval
     ] unit-test
     
-    { { 1 2 3 4 } } [
-        "((lambda (x y) (quasiquote (1 (unquote x) 3 (unquote y)))) 2 4)" lisp-eval list>seq
-    ] unit-test
-    
-    { T{ lisp-symbol f "if" } } [
-        "(defmacro if (pred tr fl) (quasiquote (cond ((unquote pred) (unquote tr)) (#t (unquote fl)))))" lisp-eval
-    ] unit-test
-    
-    { t } [
-        T{ lisp-symbol f "if" } lisp-macro?
-    ] unit-test
-    
-    { 1 } [
-      "(if #t 1 2)" lisp-eval
-    ] unit-test
-    
     { "b" } [
       "(cond (#f \"a\") (#t \"b\"))" lisp-eval
     ] unit-test

! Copyright (C) 2008 James Cash
! See http://factorcode.org/license.txt for BSD license.
USING: lisp lisp.parser tools.test sequences math kernel parser arrays lists ;

IN: lisp.test


      "(begin (+ 1 4))" lisp-eval
    ] unit-test
    
    { { 1 2 3 4 5 } } [
        "(list 1 2 3 4 5)" lisp-eval list>seq
    ] unit-test
    
    { { 1 2 { 3 { 4 } 5 } } } [
        "(list 1 2 (list 3 (list 4) 5))" lisp-eval cons>seq
    ] unit-test
    
    { T{ lisp-symbol f "if" } } [
        "(defmacro if (pred tr fl) (list (quote cond) (list (list pred tr) (list t fl))))" lisp-eval
    ] unit-test
    
    { t } [
        T{ lisp-symbol f "if" } lisp-macro?
    ] unit-test
    
!     { 1 } [
!       "(if #t 1 2)" lisp-eval
!     ] unit-test
    
!     { 3 } [
!        "((lambda (x) (if x (begin (+ 1 2)) (- 3 5))) #t)" lisp-eval
!     ] unit-test
    
] with-interactive-vocabs
