A Call-by-push-value Scheme
summary
Prototype Fiddle implements a call-by-push-value variant of Scheme and compiles as a Racket embedded language using the turnstile library; it makes application an explicit push = cons on the stack operation, exposes thunks/forces and a tilde application primitive, and uses a minimal case-lambda pops arguments primitive to pattern-match the stack. The design forbids implicit control effects, supports both call-by-name and call-by-value styles, runs real code (Advent of Code, lexer) from GitHub, and evolves into a typed successor Zydeco.
AI-written summary · about
chapters (11)
- 0:00Scheme Workshop intro
- 1:26Gradual typing to CBPV
- 3:32CBPV core principles
- 8:26Minimalism in Scheme & CBPV
- 11:17Fiddle language demo
- 16:14Arguments and thunks in Fiddle
- 19:02Bind for sequencing
- 20:05Case lambda & stack
- 22:41Higher-level abstractions
- 24:08Implementation details
- 26:38Q&A
related talks
18mA Simple and Efficient Implementation of Strong Call by Need by an Abstract Ma…
17mNotions of Stack-manipulating Computation and Relative Monads
37mStanding on the Shoulders of Giants
15mA Small Scheme VM, Compiler and REPL in 4K
01h 28mTutorial on Program Transformations
45mLanguage-Oriented Programming with Racket
41mConcatenative programming and stack-based languages
19mReigniting Fuse, an Online Partial Evaluator for Scheme
