HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
udem-dlteam
ribbit
Scheme2021–2026
udem-dlteam / ribbit

ribbit

A portable, compact and extensible Scheme implementation to 25 targets. R4RS compliant.

12Distinct people
16Mentions
0Explicit recommenders
569GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A portable, compact and extensible Scheme implementation to 25 targets. R4RS compliant.

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year16 dated mentions

Observed mentions: 2021-11-26 10:13:57 UTC to 2026-09-19 04:50:28 UTC.

012342021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC413
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC312
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC202
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC312
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC000
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC404

What Hacker News says

16 sources
Compact language implementations are increasingly popular for use in resource constrained environments. For embedded applications such as robotics and home automation, it is useful to support a Read-Eval-Print-Loop (REPL) so that a basic level of interactive development is possible directly on the device. Due to its minimalistic design the Scheme language is particularly well suited for such applications and several implementations are available with different tradeoffs. In this paper we explain the design and implementation of a compact Scheme system that supports a REPL, is extensible and has a 4 KB executable code footprint. https://github.com/udem-dlteam/ribbit https://arxiv.org/abs/2310.13589 Abstract. The Ribbit system is a compact Scheme implementation running on the Ribbit Virtual Machine (RVM) that has been ported to a dozen host
Read the rest
languages. It supports a simple Foreign Function Interface (FFI) allowing extensions to the RVM directly from the program’s source code. We have extended the system to offer conformance to the R4RS standard while staying as compact as possible. This leads to a R4RS compliant REPL that fits in an 7 KB Linux executable. This paper explains the various issues encountered and our solutions to make, arguably, the smallest R4RS conformant Scheme implementation of all time. Previous: https://news.ycombinator.com/item?id=31096771 https://news.ycombinator.com/item?id=41524517 Try the online R4RS REPL here : https://udem-dlteam.github.io/ribbit/repl-r4rs-tc.html
In Ribbit: A Small Scheme VM, Compiler and REPL in 4K (2021) [video]
Location: Montréal, Canada Remote: Yes Willing to relocate: For the right opportunity Technologies: Compilers, virtual machines, Scheme, LLVM, Python, language design, language runtime, garbage collection Résumé/CV: https://oestoleary.com/leonard_oest_oleary.pdf Email: See website (https://oestoleary.com) or résumé Previously a Production Engineer at Meta, I have spent the last ~5 years building compilers and computer languages. I recently submitted my Master’s in compiler design, with research on memory management, garbage collectors and virtual machines published at PLDI and ICFP workshops. I'm passionate about anything touching a compiler. Here are some projects I'm particularly proud of: - Lead maintainer of Ribbit, a highly portable and compact Scheme compiler supporting over 25 target languages (including C, x86, POSIX-Sh
Read the rest
ell, Haskell, and OCaml): https://github.com/udem-dlteam/ribbit - A new garbage collector algorithm (that can collect cycles immediately), implemented in C https://dl.acm.org/doi/10.1145/3735950.3735953 - A merged C++ patch to the LLVM compiler: https://github.com/llvm/llvm-project/pull/70845 For more context, please visit my website: https://oestoleary.com. I'm excited to connect!
In Ask HN: Who wants to be hired? (June 2026)
> 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)
In Ribbit: A portable, compact and extensible R4RS Scheme implementation
I don't know about the specific motivations for this project, but if you're curious about why work like this might have serious 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 stage0-posix: https://github.com/oriansj/stage0-posix Bootstrappable Builds: https://bootstrappable.org/ See also this LWN article about bootstrappable and reproducible builds: https://lwn.net/Articles/841797/ It contains a plethora of interesting links.
In Pnut: A C to POSIX shell compiler you can trust
> 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 https://www.youtube.com/watch?v=A3r0cYRwrSs an extremely compact VM for a version of R4RS.
In Analysis of the overhead of a minimal Zig program

Showing the 15 most recent of 16 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.