Browsers give you workers but not threads, shared memory but not pointers, and
message passing that copies everything. Penny is a research runtime that asks
whether real Cilk-style work stealing can live inside those constraints: local
worker deques backed by SharedArrayBuffers, stealing via atomic CAS, and
typed views over shared memory instead of postMessage.
The hard part turned out not to be the Chase–Lev deque but the memory model, and then JavaScript’s execution model itself. Tasks need to become explicit state machines, which is what sent me off to learn how async runtimes actually work.