juno-lang
biwascheme
juno-lang | biwascheme | |
---|---|---|
4 | 16 | |
120 | 724 | |
0.0% | 0.3% | |
9.2 | 8.4 | |
about 1 month ago | 8 days ago | |
HTML | JavaScript | |
GNU General Public License v3.0 or later | 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.
juno-lang
-
All Web frontend lisp projects
There was one posted here recently, Juno
-
Why Lisp?
> static strong typing
Alright, here is it: https://github.com/coalton-lang/coalton/
> small efficient native binaries
The numbers are: with SBCL's core-compression, a web app with dozens on dependencies will weight ±30 to 40MB. This includes the compiler, the debugger, etc. Without core compression, we reach ±150MB.
> The actor runtime?
the actor library: https://github.com/mdbergmann/cl-gserver
> couldn't find a way to make money with it. I suspect many other programmers are in my boat.
Alright. Some do, that's life. Yes, some companies go with CL even in 2023 (https://lisp-journey.gitlab.io/blog/lisp-interview-kina/, they released https://github.com/KinaKnowledge/juno-lang lately; Feetr (finance): https://twitter.com/feetr_io/status/1587182923911991303)
https://github.com/azzamsa/awesome-lisp-companies/
> Give us an HTTP (1.x & 2.0) and WebSockets libraries
How so? We have those libraries. HTTP/2: https://github.com/zellerin/http2/
https://github.com/CodyReichert/awesome-cl
- Juno and Seedling – self-hosted in-browser Lisp and self-contained IDE
- Juno and Seedling - a self-hosted Lisp that runs in the Browser (or compiled to an executable) with a self contained Lisp based IDE
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?
ptpython - A better Python REPL
LIPS - Scheme based powerful lisp interpreter in JavaScript
awesome-cl - A curated list of awesome Common Lisp frameworks, libraries and other shiny stuff.
gambit - Gambit is an efficient implementation of the Scheme programming language.
green-threads - A lightweight thread / cooperative multitasking library for Common Lisp.
schism - A self-hosting Scheme to WebAssembly compiler
cl-gserver - Sento - Actor framework featuring actors and agents for easy access to state and asynchronous operations.
webcontainer-core - Dev environments. In your web app.
http2 - HTTP/2 implementation in Common Lisp
racketscript - Racket to JavaScript Compiler
opendylan - Open Dylan compiler and IDE
reference-types - Proposal for adding basic reference types (anyref)