X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=jscl.lisp;h=19c5c54b9eb9c6d0321320f60ecefc8e4c971fbf;hb=HEAD;hp=a5e4294ed9aa4c0f909432da3f301560d360b269;hpb=1d039d19ee03e44da774debbff167f4e95cd356d;p=jscl.git diff --git a/jscl.lisp b/jscl.lisp index a5e4294..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) @@ -49,12 +52,13 @@ ("string" :target) ("sequence" :target) ("stream" :target) + ("hash-table" :target) ("print" :target) ("documentation" :target) ("misc" :target) ("ffi" :target) + ("symbol" :target) ("package" :target) - ("read" :both) ("defstruct" :both) ("lambda-list" :both) @@ -158,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