Migrate FUNCTIONP, %WRITE-STRING and /DEBUG
authorDavid Vázquez <davazp@gmail.com>
Sun, 23 Jun 2013 19:44:51 +0000 (21:44 +0200)
committerDavid Vázquez <davazp@gmail.com>
Sun, 23 Jun 2013 19:44:51 +0000 (21:44 +0200)
src/compiler.lisp

index 57a7e79..3d31ab2 100644 (file)
       `(code "globalEval(xstring(" ,string "))")))
 
 (define-builtin %throw (string)
-  (js!selfcall "throw " string ";" ))
+  (js!selfcall* `(throw ,string)))
 
 (define-builtin functionp (x)
-  (js!bool `(code "(typeof " ,x " == 'function')")))
+  (js!bool `(=== (typeof ,x) "function")))
 
 (define-builtin %write-string (x)
-  `(code "lisp.write(" ,x ")"))
+  `(call (get |lisp| "write") ,x))
 
 (define-builtin /debug (x)
-  `(code "console.log(xstring(" ,x "))"))
+  `(call (get |console| "log") (call |xstring| ,x)))
 
 
 ;;; Storage vectors. They are used to implement arrays and (in the