HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
mbrock
wisp
JavaScript2022–2025
mbrock / wisp

wisp

Lisp in WebAssembly

3Distinct people
4Mentions
0Explicit recommenders
308GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Lisp in WebAssembly

GitHub

Where it is used

No documented product use has been verified yet.

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 year4 dated mentions

Observed mentions: 2022-07-11 11:45:55 UTC to 2025-10-07 08:31:16 UTC.

0122022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025

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
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC211
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC000
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC101
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC101

What Hacker News says

4 sources
I also based my Zig Lisp interpreter on delimited continuations and had a great time implementing async, resumable exceptions, dynamically scoped variables, and so on, on top of that. The single-stepping continuation-shuffling evaluation paradigm also made it really easy to expose evaluations as objects and stepping as a function. A simple form like (set! e (run (+ 1 1)) stores an evaluation—whose continuation and lexical environment can both be inspected and serialized—and (step! e) does a single evaluation step. This lets you implement not just yield-based cooperative concurrency in "user space" but something like green threads with a preemptive scheduler. Here you can see how the delimited continuation control allows binding to JavaScript's Promise API in a way that lets you treat promises as blocking computations: https://gi
Read the rest
thub.com/mbrock/wisp/blob/master/web/js.wisp You might be interested in seeing e.g. the implementation of SEND-WITH-DEFAULT! which is one of the control control primitives: https://github.com/mbrock/wisp/blob/b8e29dba0ea61ebaf2db5e3e... The evaluator itself is in core/step.zig if you want to check it out.
In Delimited continuations in lone Lisp
I actually made a Lisp interpreter in Zig a couple of years ago that has each object type in a separate heap array. In fact each field of each object type has its own array: every CDR is in one contiguous array. This was mostly for fun and to experiment with data-driven techniques using Zig metaprogramming. The code turned out relatively clean and simple. https://github.com/mbrock/wisp GC is stop&copy which as a side effect compacts each of those arrays and improves locality. I think most lists should end up having their CDRs next to each other in memory making iteration very cache friendly. But I didn't verify any performance qualities, beyond making it efficient enough for basic use. It also has delimited continuation control, compiles to WebAssembly, and hooks promises into the continuation system, among some other pretty cool features
Read the rest
!
In Show HN: Nova JavaScript Engine
This is would be a great project to provide a mature Lisp that developers could use to target WebAssembly. Guile Scheme is an amazing Lisp to utilize for this purpose. Here are some other Lisp-to-Wasm type projects from my brief search. -The Wisp project to compile Lisp-to-Wasm: https://github.com/mbrock/wisp -Chaitin's Lisp- This is a WebAssembly port of Gregory Chaitin's minimal Lisp interpreter: http://weitz.de/chaitin/ -HN post: Common Lisp running natively over WebAssembly: https://news.ycombinator.com/item?id=31590819 Great idea!
In Guile Steel: a proposal for a systems Lisp

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.