On 10 Nov 2011, at 00:11, Andy Wingo wrote: > On Thu 04 Aug 2011 10:56, Hans Aberg <haber...@telia.com> writes: > >> I try to understand how Guile transforms 'letrec' (returning to the >> topic of an earlier post on this list). > > `letrec' is translated to various things, some of which are not Scheme. > As Ludo notes, see the "Fixing Letrec" paper by Dybvig et al.
My mail somehow got scrambled. Yes, that is the paper I independently found. It says that letrec is in R5RS defined, though I could not find the place, as (letrec ([x1 e1] ... [xn en]) body) ~> (let ([x1 undefined] ... [xn undefined]) (let ([t1 e1] ... [tn en]) (set! x1 t1) ... (set! xn tn)) body) Hans