Debug special form to write to console.log
authorDavid Vazquez <davazp@gmail.com>
Fri, 14 Dec 2012 22:39:45 +0000 (22:39 +0000)
committerDavid Vazquez <davazp@gmail.com>
Fri, 14 Dec 2012 22:39:45 +0000 (22:39 +0000)
lispstrack.lisp
test.lisp

index 8af6781..a1d4add 100644 (file)
@@ -78,6 +78,9 @@ body can access to the local environment through the variable env"
 (define-compilation quote (sexp)
   (lisp->js sexp))
 
+(define-compilation debug (form)
+  (format nil "console.log(~a)" (ls-compile form env)))
+
 (defparameter *env* '())
 (defparameter *env-fun* '())
 
@@ -86,7 +89,6 @@ body can access to the local environment through the variable env"
     ((symbolp sexp) (ls-lookup sexp env))
     ((integerp sexp) (format nil "~a" sexp))
     ((stringp sexp) (format nil " \"~a\" " sexp))
-                                       ; list
     ((listp sexp)
      (let ((compiler-func (second (assoc (car sexp) *compilations*))))
        (if compiler-func
@@ -108,4 +110,4 @@ return " (ls-compile (car (last sexps)) env) ";"))
     (with-open-file (out "test.js" :direction :output :if-exists :supersede)
       (loop
          for x = (read in nil) while x
-         do (write-string (ls-compile x) out)))))
+         do (format out "~a;~%" (ls-compile x))))))
index 87240de..d555938 100644 (file)
--- a/test.lisp
+++ b/test.lisp
@@ -1,3 +1,5 @@
 
 (lambda (x y)
   x)
+
+(debug "hola")