gambit
schism
gambit | schism | |
---|---|---|
12 | 7 | |
1,253 | 188 | |
0.6% | 0.0% | |
8.9 | 10.0 | |
8 days ago | almost 4 years ago | |
Scheme | ||
Apache License 2.0 | Apache License 2.0 |
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.
gambit
- Why Lisp?
-
Is Raven still in use?
- Gambit: web-server example
-
Gambit – open-source tools for doing computation in game theory
Not to be confused with Gambit (Scheme programming language implementation):
https://github.com/gambit/gambit
https://gambitscheme.org/
- Gambit Homepage is back up
- GambitScheme: A New Home Page
-
A small scheme VM, compiler, and REPL in 4k
The Ribbit compiler was developed using Gambit but most of the code is portable. I rewrote a few parts with cond-expand to port rsc.scm to older versions of Gambit and also Guile and Chicken. If you pull the latest commit the Ribbit system should work with any of those Scheme systems. The README also contains usage instructions, here is a relevant part:
The Ribbit compiler is written in Scheme and can be executed with Gambit, Guile or Chicken. It has been tested with Gambit v4.7.5 and above. For the best experience install Gambit from https://github.com/gambit/gambit .
Currently Ribbit supports the target languages C, JavaScript, Python and Scheme which are selectable with the compiler's `-t` option with `c`, `js`, `py`, and `scm` respectively. The compacted RVM code can be obtained with the target `none` which is the default.
The `-m` option causes a minification of the generated program. This requires a recent version of Gambit.
The `-l` option allows selecting the Scheme runtime library (located in the `lib` subdirectory). The `min` library has the fewest procedures and a REPL that supports the core Scheme forms only. The `max` library has most of the R4RS predefined procedures, except for file I/O. The `max-tc` library is like `max` but with run time type checking. The default is the `max-tc` library.
Here are a few examples:
Use Gambit to compile the minimal REPL to JavaScript
-
Racketscript/Racketscript: Racket to JavaScript Compiler
That is a bummer about the expired certificate. You can access the site using http instead of https if you are comfortable doing so. I have never seen this live REPL before and have just used their Github repo to get the latest: https://github.com/gambit/gambit
I think it is great someone is trying to get Racket compiling to Javascript again. I also agree with you about the REPL; while it is interesting to compile Racket to JS, having a REPL, a live environment and all the features of something like ClojureScript has much more utility.
-
Gambit: Ever came across BUILD_EXE_META_INFO_FILE_PARAM?
Don't hesitate to submit the problems you encounter to the issue tracker on github (https://github.com/gambit/gambit/issues).
-
Visual Tutor for Scheme?
But it's command like tool, I don't think that there is Online tool even smilar to the Python tool you showed. You can try creating issue with a question on https://github.com/gambit/gambit/issues Marc Feeley may consider that it's also nice idea to show usage of Gambit, he was working on making Gambit on new try.scheme.org website, I've also did some help.
-
gambitscheme.org inaccessibe?
Edit: somebody opened an issue for this https://github.com/gambit/gambit/issues/649
schism
-
Scheme in Scheme on WASM in the Browser
I don't know why you've been downvoted, I've given you an upvote for linking to an interesting project (even if it's linked in some way to Google). I'd also like to link to the updated GH link: <https://github.com/schism-lang/schism>.
-
Writing a C compiler in 500 lines of Python
Looks like Schism (https://github.com/schism-lang/schism) got part of the way there, but it unfortunately seems to be dead.
-
Two-tier programming language
It would be interesting to reboot something like Lush but using Wasm and Scheme with https://github.com/schism-lang/schism then you could use code generation internally be emitting wasm from your schism code and then reloading the entire environment.
- Langjam 17-19 Feb
-
Multiple assignment and tuple unpacking improve Python code readability
I love E! Or at least the problems it is trying to solve. As you know Wasm also has a capabilities model. And it is fairly trivial to persist the Wasm heap, it just an array of bytes. I think Wasm aligns nicely.
Chez is a great Scheme, but it doesn't have a Wasm backend. I find https://github.com/schism-lang/schism very interesting.
As for C programs going crazy, well yeah. I did a thing where I would copy of the body of functions around in memory, it worked on some version of Linux and GCC, but only by accident. I would be much less comfortable doing this kind of circuit bending than modifying Python stack frames. If I were to achieve a similar goal in the future, I'd use TCC, generate C code and compile directly into memory.
Framehacks aren't going to do the same thing, and one should have tests for it regardless. Framehacks get you tail calls, stack scope and a bunch of other nice properties.
Happy Hacking!
- Schism: A self-hosting Scheme to WebAssembly compiler
-
Racketscript/Racketscript: Racket to JavaScript Compiler
There is a WIP unofficial project from developers at Google called Schism [1].
[1] https://github.com/schism-lang/schism
What are some alternatives?
biwascheme - Scheme interpreter written in JavaScript
racketscript - Racket to JavaScript Compiler
ribbit - A small and portable Scheme implementation with AOT and incremental compilers that fits in 4K. It supports closures, tail calls, first-class continuations and a REPL.
langjam
opendylan - Open Dylan compiler and IDE
micrograd - A tiny scalar-valued autograd engine and a neural net library on top of it with PyTorch-like API
Core - Scheme's commonly used small functions
nearley - 📜🔜🌲 Simple, fast, powerful parser toolkit for JavaScript.
Ballista - a Express style webframework for Igropyr (Chez Scheme http-server)
cant - A programming argot