This is the continuation of the little-schemer. It covers higher-order-functions? (much more in depth than the little-schemer) and introduces set! and continuations . It is written in the style of the little-schemer in that it presents its topics as a series of dialogues organized into chapters. The language it uses is an idealized scheme with only a few language constructs which cover the "core" of Scheme . Its website is at http://www.ccs.neu.edu/home/matthias/BTSS/ The continuation of this book is reasoned-schemer .
The seasoned schemer makes use of letcc and try which aren't in r5rs scheme. Here are implementations using syntax-rules
(define-syntax letcc (syntax-rules () ((letcc var body ...) (call-with-current-continuation (lambda (var) body ... ))))) (define-syntax try (syntax-rules () ((try var a . b) (letcc success (letcc var (success a)) . b))))