[Scheme'26] A Call-by-push-value Scheme
A Call-by-push-value Scheme (Video, Scheme 2026) Max S. New (University of Michigan) Abstract: Scheme is known for its minimalism: what would be core language features in other languages are instead implemented as macros over a small core. In its most Spartan formulation all compound data arises from the humble cons. Inspired by Levy’s Call-by-push-value, we propose a variant of Scheme that applies that same minimalism to multi-argument functions. That is, rather than having both lambda and lambda dot args, we have a single primitive for checking whether there are any more arguments on the stack. In this view, function application is interpreted as a “cons on the stack”. We provide an experimental implementation called Fiddle implemented in Racket, and we discuss other possible applications of this dual viewpoint. Presentation at the Scheme 2026 workshop, August 29, 2026, https://icfp26.sigplan.org/home/scheme-2026 Sponsored by ACM SIGPLAN.