jscl
biwascheme
Our great sponsors
jscl | biwascheme | |
---|---|---|
7 | 16 | |
870 | 722 | |
0.9% | 0.6% | |
5.0 | 8.3 | |
9 months ago | 5 days ago | |
Common Lisp | JavaScript | |
GNU General Public License v3.0 only | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
jscl
-
All Web frontend lisp projects
JSCL - A CL-to-JS compiler designed to be self-hosting from day one. Lacks CLOS, format and loop.
- jscl: A Lisp-to-JavaScript compiler bootstrapped from Common Lisp
-
spookfox v0.3.0: Switch firefox tabs like switch-to-buffer and use common-lisp to extend Firefox side of spookfox
Ability to run common-lisp in the Firefox addon's context using jscl, essentially enabling extending firefox with common-lisp
- Live programming Common Lisp in the web browser
-
How much Lisp do you have to implement as primitives before you can implement the rest of Lisp in Lisp
I tagged the moment where I achieved bootstrapping in the early JSCL implementation here: https://github.com/jscl-project/jscl/blob/simple-bootstrap/ecmalisp.lisp
- Common Lisp to JavaScript Compiler
biwascheme
-
Embeddable Common Lisp 23.9.9
If Scheme is something you enjoy, BiwaScheme's interpreter can be instantiated from within Javascript and can be used to evaluate Scheme code.
https://www.biwascheme.org/
- BiwaScheme is a Scheme interpreter written in JavaScript
-
Directly compiling Scheme to WebAssembly: lambdas, recursion, iteration
This project is very exciting. In the meantime, there are a couple of options:
BiwaScheme: https://www.biwascheme.org/
Advantages: written in JavaScript, with excellent JS interop. Project has some history.
Disadvantages: slower than S7 (though still plenty fast for many uses), less-complete (e.g., no syntax-rules or syntax-case, though it does have its own define-macro).
S7 Scheme: https://cm-gitlab.stanford.edu/bil/s7
Written in C, but can be transpiled to WASM (see https://github.com/actonDev/s7-playground/ )
Advantages: This project also has some history. Considerably faster than BiwaScheme.
Disadvantages: JS interop is clumsier (basically the same issues as JS interop with any WASM code... this could probably be mitigated considerably if someone wanted to take the time).
-
All Web frontend lisp projects
For Scheme implementations there are LIPS and biwascheme. I haven't done more than play around with them, so I can't really give an informed opinion about pros and cons or favorites.
-
My reading workflow (you guys might find some bits from it useful)
I used to have hundreds of open tabs. From there I kept repurposing it to do more stuff with the browser until it reached its current state, where I want to make it a "extend firefox from Emacs" thing. It kinda do that already, but extending the firefox-extension itself require the extension to be re-built (so you need whole javascript tooling, rebuild and reload the addon etc). I am considering adding something like biwascheme to it soon to work around that.
-
The stepmotherly treatment of Windows platform by Scheme implementors
And then users can just use biwascheme and run programs in mainframes and their smart toasters
-
If you were hired to create a new distribution of Lisp, what would you include?
Languages like Biwa Scheme and LIPS Scheme are good for running Scheme in the browser. But I would prefer compiling Scheme code to JavaScript in the server, then serving the compiled JavaScript image to the browser.
-
LIPS Scheme version 1.0.0-beta.15 is out
Just a note that even BiwaScheme doesn't fully implement call/cc, it doesn't save the whole environment when capturing.
Very cool! Do you know how this compares with Biwascheme? https://www.biwascheme.org/
-
Racketscript/Racketscript: Racket to JavaScript Compiler
Biwascheme has some weird scoping bugs that makes me a litte afraid of using it for serious stuff. It seems nixe and all, but this: https://github.com/biwascheme/biwascheme/issues/125 is not very confidemce inspiring.
There is another schemey language that compiles to JS that accepts things like this:
(when (start-are-aligned?)
What are some alternatives?
mal - mal - Make a Lisp
LIPS - Scheme based powerful lisp interpreter in JavaScript
eisl - ISLisp interpreter/compiler
gambit - Gambit is an efficient implementation of the Scheme programming language.
spookfox - A tinkerer's bridge b/w Emacs and Web Browser (Firefox and Chrome)
schism - A self-hosting Scheme to WebAssembly compiler
cl-wol - Wake on LAN (WoL) system for Common Lisp
webcontainer-core - Dev environments. In your web app.
cl-gen - Javascript-like generators for Common Lisp
racketscript - Racket to JavaScript Compiler
graven-image - Portability library for better interaction and debugging of a running Common Lisp image through text REPL.
reference-types - Proposal for adding basic reference types (anyref)