jscl
jscl copied to clipboard
A Lisp-to-JavaScript compiler bootstrapped from Common Lisp
I want to load a code dynamically from remote server via websocket. The idea is to catch unbound-variable and undefined-function conditions and ask remote server for missing variables and functions...
`(typecase var (type-name action)) ` **replace on:** ` (cond ((type-predicate var) action)) ` **Reason:** the function checks the object for belonging to the `built-in type`. Using `typep` - redundant. Approximately...
It bug into `_load_eval_bundle_` ```lisp (load "./aaa.lisp" :output "./one.js") ;=> The bundle up 5 expressions into ./one.js (load "./aaa.lisp" :output "./one.js") ;=> The bundle up 10 expressions into ./one.js ```...
```lisp Welcome to JSCL 0.7.0 (built on 29 November 2020) JSCL is a Common Lisp implementation on Javascript. For more information, visit the project page at https://github.com/jscl-project/jscl. CL-USER> (setq *print-circle*...
We are have a problem with local binding: **SBCL:** ```lisp CL-USER> (let ((b 10)) ((lambda (&optional (a b) (b (1+ a))) (list a b)))) (10 11) CL-USER> ``` **JSCL:** ```lisp...
All too
### SBCL ```lisp CL-USER> (let ((ii 0) xx yy) (values (ash (progn (setf xx (incf ii)) 1) (progn (setf yy (incf ii)) 2)) ii xx yy)) 4 2 1 2...
### JSCL ```lisp CL-USER> (destructuring-bind (name . bind) (cons :name 2) ... (values name bind)) ... ERROR: CDR called on non-list argument CL-USER> ``` ### SBCL ```lisp CL-USER> (destructuring-bind (name...
A while back, there was this issue about running PAIP code in the browser: https://github.com/norvig/paip-lisp/issues/10 Unfortunately, I did not have the time/energy to push that forward, which was a shame....
Currently, JS strings are converted to Lisp strings. However, JS arrays are preserved as Lisp "storage vectors". This results in some bad conversions though, as if you convert `["foo"]` you...