summary: the function position is checked too early reported: tb@becket.net (Thomas Bushnell, BSG), 2002-05-11 This bug exists in Guile 1.4. From: Al Petrofsky Subject: Widespread bug in handling (call/cc (lambda (c) (0 (c 1)))) => 1 Newsgroups: comp.lang.scheme Date: 11 May 2002 14:38:42 -0700 Organization: The Vegetable Liberation Front The expression (call/cc (lambda (c) (0 (c 1)))) is a legal expression according to r5rs, whose semantics are that 1 gets returned when it is passed to the escape procedure c during the evaluation of the positions of the combination (0 (c 1)). A quick survey of the scheme implementations I have handy indicates that this is a commonly missed compliance issue: Petite Chez 6.0a Error: attempt to apply non-procedure SCM 5d6 ERROR: Wrong type to apply Bigloo 2.4b *** ERROR:bigloo:eval: Not a procedure scsh 0.6.0 okay (gives a warning) MzScheme 200alpha12 okay Implementors, please place this on your list of earth-shatteringly important issues, just after getting (let - ((n (- 1))) n) => -1 right. -al ----------