X-Git-Url: http://repo.macrolet.net/gitweb/?p=jscl.git;a=blobdiff_plain;f=jscl.lisp;h=19c5c54b9eb9c6d0321320f60ecefc8e4c971fbf;hp=e3a95818bc3f5d354164ca695edc6cf70ead80ff;hb=HEAD;hpb=9fef9535299d5f5dafae9deb2c4bc41843bb178c diff --git a/jscl.lisp b/jscl.lisp index e3a9581..19c5c54 100644 --- a/jscl.lisp +++ b/jscl.lisp @@ -22,6 +22,8 @@ (in-package :jscl) +(defvar *version* "0.0.2") + (defvar *base-directory* (or #.*load-pathname* *default-pathname-defaults*)) @@ -41,6 +43,7 @@ (defvar *source* '(("boot" :target) ("compat" :host) + ("setf" :target) ("utils" :both) ("numbers" :target) ("char" :target) @@ -159,17 +162,22 @@ (setq *variable-counter* 0 *gensym-counter* 0 *literal-counter* 0) - (with-open-file (out (merge-pathnames "jscl.js" *base-directory*) :direction :output :if-exists :supersede) + (with-open-file (out (merge-pathnames "jscl.js" *base-directory*) + :direction :output + :if-exists :supersede) (write-string (read-whole-file (source-pathname "prelude.js")) out) (do-source input :target (!compile-file input out)) (dump-global-environment out)) ;; Tests - (with-open-file (out (merge-pathnames "tests.js" *base-directory*) :direction :output :if-exists :supersede) + (with-open-file (out (merge-pathnames "tests.js" *base-directory*) + :direction :output + :if-exists :supersede) (dolist (input (append (directory "tests.lisp") (directory "tests/*.lisp") (directory "tests-report.lisp"))) - (!compile-file input out))))) + (!compile-file input out))) + (report-undefined-functions))) ;;; Run the tests in the host Lisp implementation. It is a quick way