ribbit
racket
ribbit | racket | |
---|---|---|
16 | 188 | |
429 | 4,695 | |
0.9% | 0.4% | |
5.0 | 9.7 | |
5 days ago | 6 days ago | |
Scheme | Racket | |
BSD 3-clause "New" or "Revised" License | GNU General Public License v3.0 or later |
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.
ribbit
- Rabbit Scheme Compiler
-
Microcontroller-based Lisp machine (minimum language needed)?
Marc Feeley's lab develops Ribbit Scheme, which is a tiny Scheme implementation. It is an AOT compile which produces a string of bytecode that is interpreted by a VM, of which there are various implementations. The one in C could be compiled to your target microcontroller and thus give you a Scheme REPL.
-
Use case for Ribbit Scheme
I have a question regarding Ribbit Scheme. (https://github.com/udem-dlteam/ribbit).
-
Advice for a Haskeller who wants to learn Scheme?
You might want to look at this 400 LOC implementation of Scheme in Haskell: https://github.com/udem-dlteam/ribbit/blob/main/src/host/hs/rvm.hs
-
Some benchmarking of various Ribbit hosts
Ribbit is a very interesting minimal Scheme driven by Marc Feeley. I spent a bit of time to benchmark some of the target runtimes and the results might be of interest to some.
- Ribbit Scheme bootstraps with Posix shell while supporting TCO, call/cc and GC
-
Most readable Scheme implementation
A small and portable Scheme implementation that supports closures, tail calls, first-class continuations, a REPL and AOT and incremental compilers. All that for a run time footprint around 4 KB! https://github.com/udem-dlteam/ribbit
-
Analysis of the overhead of a minimal Zig program
> No dynamic memory allocation = no garbage collector, no non-deterministic allocation/deallocation, no write barriers, no out-of-memory possibilities, no fragmentation. For a surprisingly large class of programs, this is a great situation!
I know you know this already, but your statement is a little too broad. Those problems all still exist, but are greatly reduced. Data structures still need to be compacted, caches evicted, scratch space cleared, etc. It is just that one class of intractable issues gets removed when dynamic memory allocation goes away.
On a side note, have you seen this? https://github.com/udem-dlteam/ribbit
-
State of Scheme to Javascript (in 2021) - A shallow overview of a couple of the node/browser compatible scheme implementations.
You should also mention the JS version of Ribbit Scheme which supports tail-calls, continuations, a REPL, an AOT and incremental compilers, and a 4K run time footprint. There are also C, Python and Scheme versions of the Ribbit VM (more to come!). Demo: https://udem-dlteam.github.io/ribbit/repl-max-tc.html Repo: https://github.com/udem-dlteam/ribbit Paper: http://www.iro.umontreal.ca/\~feeley/papers/YvonFeeleyVMIL21.pdf Clearly Ribbit has fewer features than Gambit to achieve a 4K footprint. Gambit (700K footprint) offers a better development environment, in particular precise error messages and live debugging with a REPL in the browser. Gambit also has: - R7RS conformance including R7RS modules - a JavaScript FFI that supports asynchronous calls between JS and Scheme - a thread system build on top of first-class continuations - serializable closures and continuations allowing task migration - access to files on the server using Scheme file I/O - Scheme to JS compilation for fast execution
- A small Scheme implementation with AOT and incremental compilers that fits in 4K
racket
- Racket Language
-
Racket–the Language-Oriented Programming Language–version 8.12 is now available
Racket—the Language-Oriented Programming Language—version 8.12 is now available from https://racket-lang.org
See https://racket.discourse.group/t/racket-v8-12-is-now-availab... for the release announcement and highlights.
Thank you to the many people who contributed to this release!
Feedback Welcome
-
Racket version 8.11.1 is now available
Racket version 8.11.1 is now available from https://racket-lang.org/
-
Ask HN: Does anyone Lisp without Emacs?
Racket (https://racket-lang.org) has an IDE (DrRacket) which isn't EMACS. ARC (which powers hacker news) is (was?) written in Racket.
-
Douglas Crockford, author of ‘Javascript: the good parts’ and ‘How Javascript works’ will be giving the keynote presentation From Here To Lambda And Back Again at the thirteenth RacketCon.
Nice! Repeating a comment I just made on HN: I signed up for RacketCon, will be joining remotely. I am looking forward to it a lot. Usually I use the Racket language perhaps for 10% of my personal projects, but I am currently writing a Racket AI book, so all things Racket are of current interest. Past RacketCons have been a lot of fun. I usually use Common Lisp, but Racket is batteries included Scheme, and more, and is a very pleasant language and ecosystem. Just in case you don’t have Racket installed: https://racket-lang.org/
-
Douglas Crockford to Keynote 'From Here to Lambda and Back Again' at Racke
I signed up for RacketCon, joining remotely. I am looking forward to it a lot. Usually I use the Racket language perhaps for 10% of my personal projects, but I am currently writing a Racket AI book, so all things Racket are of current interest.
Past RacketCons have been a lot of fun.
I usually use Common Lisp, but Racket is batteries included Scheme, and more, and is a very pleasant language and ecosystem. Just in case you don’t have Racket installed: https://racket-lang.org/
-
Ask HN: What is the most suitable Scheme implementation to learn today?
I'd suggest Racket (https://racket-lang.org) which is a batteries-included language environment that includes scheme and has a lot of high-quality documentation.
Guile (https://www.gnu.org/software/guile/) isn't quite as learner-focused but is another great choice.
-
What Programming Languages are Best for Kids?
How did I get to the bottom of the page and not ONE person has recommended racket?
-
Setting up a Scheme coding environment in VS code?
The Racket fork of CS supports Apple Silicon natively, and can be installed independently: https://github.com/racket/racket/blob/master/racket/src/ChezScheme/BUILDING Chez adds a few features (threads, ffi, ...) to R6RS; there is a useful combined index to TSPL4 and the CS User Guide at http://cisco.github.io/ChezScheme/csug9.5/csug_1.html
-
Is SICP an overkill for a 14 year old?
If you're using SICP in Scheme (or are you doing the JS version?) then you may want to look at How to Design Programs. It uses Racket which is a Scheme descendent so much of the language you've learned in SICP will work in it without issue. It also has a pretty good set of GUI and drawing capabilities you can find through the Racket docs page and will use some of with HTDP.
What are some alternatives?
gambit - Gambit is an efficient implementation of the Scheme programming language.
Visual Studio Code - Visual Studio Code
STklos - STklos Scheme
clojure - The Clojure programming language
selda - A type-safe, high-level SQL library for Haskell
nannou - A Creative Coding Framework for Rust.
hedgehog - Concise implementation of a lisp-like language for low-end and embedded devices
antlr-tsql
scheme-for-max - Max/MSP external for scripting and live coding Max with s7 Scheme Lisp
babashka - Native, fast starting Clojure interpreter for scripting
hasql - The fastest PostgreSQL libpq-based driver for Haskell
coalton - Coalton is an efficient, statically typed functional programming language that supercharges Common Lisp.