Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure. Learn more →
Ribbit Alternatives
Similar projects and alternatives to ribbit
-
-
Stream
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video. Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
-
-
TinyGo
Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
-
-
-
-
-
InfluxDB
InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
-
-
-
-
tinylisp
Lisp in 99 lines of C and how to write one yourself. Includes 21 Lisp primitives, garbage collection and REPL. Includes tail-call optimized versions for speed and reduced memory use.
-
-
-
-
-
-
-
-
lisp
A mini Lisp in 1k lines of C with garbage collector, explained. Includes over 40 built-in Lisp primitives, floating point, strings, closures with lexical scope, macros, proper tail recursion, exceptions, execution tracing, file loading, a mark-sweep/compacting garbage collector and REPL. (by Robert-van-Engelen)
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
ribbit discussion
ribbit reviews and mentions
-
Ribbit: A portable, compact and extensible R4RS Scheme implementation
> IIRC (might be wrong here) we had full support for JS, C, Python and Scheme from the start
I'm pretty sure we had support for JS, C, Python from the beginning as well. Then Scheme, posix shell, assembly came along for the ride.
> I'm unsure how support was kept throughout the versions but I know a much larger set of languages now support the runtime, at least for a subset of the features
One thing that really helped is CI testing! All the RVMs (the 16 targets) are now fully tested at each PR (https://github.com/udem-dlteam/ribbit/actions)
-
Pnut: A C to POSIX Shell Compiler you can Trust
I don't know about the specific motivations for this project, but if you're curious about why work like this has real-world relevance beyond scratching an itch, idle exploration, or meeting a research paper quota, you can look to similar work and literature:
GNU Mes: https://www.gnu.org/software/mes/
Stage0: https://bootstrapping.miraheze.org/wiki/Stage0
Ribbit (same authors): https://github.com/udem-dlteam/ribbit
See also this LWN article about bootstrappable and reproducible builds: https://lwn.net/Articles/841797/
- 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
-
A note from our sponsor - Stream
getstream.io | 19 Jul 2025
Stats
udem-dlteam/ribbit is an open source project licensed under BSD 3-clause "New" or "Revised" License which is an OSI approved license.
The primary programming language of ribbit is Scheme.