nowfound

Life & fun · January 26, 2019

IW

I wrote a scheme interpreter in C

I wrote a scheme interpreter in C launched on January 26, 2019 with 7 votes, #1,098 of 2,587 launches that month and more than 50% of that year's launches. The site was still online in September 2026, 7 years on.

What it does

This is a blog post about my new scheme interpreter, single_cream . I built it to support the tarot scheme compiler. tarot is self hosting which creates a dependency loop between it and itself, I like to break this look by bootstrapping it off a much slower and simpler compiler written in a lower level language. I was using tinyscheme for this but for reason, one day, tinyscheme gave GC errors instead of bootstrapping my compiler. I decided to implement my own scheme interpreter because I found tinyscheme’s source code difficult and complex and I found that all the other small c based scheme interpreters were fundamentally lacking (for example, not implementing proper tail calls). In total…from rain-1.github.io

Does a similar job

all alternatives →
  • Kent Dybvig's Scheme Machine in 400 Lines of C (Heap-Memory Model)2025 · gist.github.com · ▲226

    Heap based scheme machine. GitHub Gist: instantly share code, notes, and snippets.

  • GI
    Going into freshman year, figured I should build an interpreter2023 · ▲138

    Hi all! I'm going into my freshman year, and figured that the best way to prepare for the intro to programming Racket course would be to implement my own garbage-collected, dynamically typed, functional programming language in C ;) Anyways... here's the repo: https://github.com/liam-ilan/crumb I started learning C over the summer, so I still have a whole lot to learn... Any feedback would be greatly appreciated! :D

  • SM
    Scheme Made Easy2024 · schememadeeasy.com · ▲6

    In past few weeks, I wrote several chapters to learn Scheme, a programming language of the Lisp dialect. The writing is not final as many chapters are missing. I wrote this because I wanted to improve my Scheme knowledge and increase the (low) number of Scheme literature. The writing is inspired by Calculus Made Easy, which I learned about here on HN. This is why I'm sharing it here. But keep in mind that my writing style is not as good as that in the above-mentioned inspiration. Feedback is very much appreciated.

  • Built a tiny interpreter from scratch in C to understand how they workNov 2025 · github.com · ▲5

    Hi HN, I'm the author. I built this project for two simple reasons: I've always used higher-level languages and wanted to finally understand what's happening "under the hood" of an interpreter. I also wanted a real project to force me to "power up" my C skills, especially with manual memory management and reference counting. The result is ToyForth, a minimal interpreter for a Forth-like language, written from scratch in C, stack-based. I focused on making the code clean and understandable. It's broken down into a few simple parts: A parser that turns source text into a list of objects…

  • An Interpreter for Extended Relational Algebra (Scheme Based)2016 · github.com · ▲52

    An Interpreter for Extended Relational Algebra (Scheme based) - scvalencia/Coddie

More life & fun this month

the category →

Source: Show HN post ↗

Launched alongside, January 2019

the whole month →