diff --git a/lisp/equiv-tests.lisp b/lisp/equiv-tests.lisp new file mode 100644 index 0000000..597aba8 --- /dev/null +++ b/lisp/equiv-tests.lisp @@ -0,0 +1,21 @@ +(require 'squash-lisp "squash-lisp") +(require 'mini-meval "mini-meval") + +(defun test-expr-in-all (expr) + (let ((res-eval (eval expr)) + (sql nil)) + (unless (equalp res-eval (mini-meval expr)) + (return-from test-expr-in-all "mini-meval differs from-eval")) + (setq sql (squash-lisp-1 expr)) + (unless (squash-lisp-1-check sql) + (return-from test-expr-in-all "squash-lisp-1-check failed")) + (unless (equalp res-eval (eval (squash-lisp-1-wrap sql))) + (return-from test-expr-in-all "squash-lisp-1 differs from-eval")) + ;; (setq sql (squash-lisp-2 (squash-lisp-1 expr))) + ;; (unless (squash-lisp-2-check sql) + ;; (return-from test-expr-in-all "squash-lisp-2-check failed")) + ;; (unless (equalp res-eval (eval (squash-lisp-2-wrap sql))) + ;; (return-from test-expr-in-all "squash-lisp-2 differs from-eval")) + t)) + +(provide 'equiv-tests) diff --git a/lisp/main.lisp b/lisp/main.lisp index 07c17d6..6d1dc7c 100644 --- a/lisp/main.lisp +++ b/lisp/main.lisp @@ -9,5 +9,6 @@ (load "match") (load "mini-meval") (load "squash-lisp") +(load "equiv-tests") -(provide 'main) \ No newline at end of file +(provide 'main)