jscl
jscl copied to clipboard
A Lisp-to-JavaScript compiler bootstrapped from Common Lisp
`(array-dimensions (map 'vector #'identity '(1 2 3 4 5 6 7)))` returns `'(0)` in JSCL
```lisp Welcome to JSCL (version 25e0341 built on 18 May 2023) JSCL is a Common Lisp implementation on Javascript. For more information, visit the project page at [GitHub](https://github.com/jscl-project/jscl). CL-USER> (let...
```lisp Welcome to JSCL (version 25e0341 built on 18 May 2023) JSCL is a Common Lisp implementation on Javascript. For more information, visit the project page at [GitHub](https://github.com/jscl-project/jscl). CL-USER> (make-array...
```lisp Welcome to JSCL (version 25e0341 built on 18 May 2023) JSCL is a Common Lisp implementation on Javascript. For more information, visit the project page at [GitHub](https://github.com/jscl-project/jscl). CL-USER> (float...
```lisp Welcome to JSCL (version 4d7e110 built on 5 May 2023) JSCL is a Common Lisp implementation on Javascript. For more information, visit the project page at [GitHub](https://github.com/jscl-project/jscl). CL-USER> (equalp...
```lisp Welcome to JSCL (version 4d7e110 built on 5 May 2023) JSCL is a Common Lisp implementation on Javascript. For more information, visit the project page at [GitHub](https://github.com/jscl-project/jscl). CL-USER> (bit-vector-p...
```lisp CL-USER> #-jscl ... (defun hello () ... #+types (format t "Has types~%") ... #-types (format t "No types~%")) ERROR: ECASE expression failed for the object `NIL'. CL-USER> ``` Am...
```lisp (defpackage :common-lisp-user) #+jscl (defun hello () (format t "Hello, yes JSCL ~%")) #-jscl (defun hello () (format t "Hello, no JSCL ~%")) (hello) ``` This piece of code should...
Sample Code: ```lisp (defpackage :common-lisp-user) (defmacro hello (name) `(format t "Hello ~A~%" ,name)) (defmacro hello-jack () (hello "Jack")) (hello-jack) ``` This piece of code works well in the REPL: But...
Sample code: ```lisp (defpackage :common-lisp-user) (defpackage :c (:use cl) (:export :hello )) (in-package :c) (defun hello () (#j:console:log "Hello")) (defun hey () (#j:console:log "Hey")) (export 'hey) (in-package :cl-user) (c:hello) (c:hey)...