/usr/lib/letcc.scm is in scheme9 2013.11.26-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | ; Scheme 9 from Empty Space, Function Library
; By Nils M Holm, 2010
; Placed in the Public Domain
;
; (let/cc <name> . <body>) ==> object
;
; (load-from-library "letcc.scm")
;
; Bind the current continuation to <name> and evaluate <body> with
; that binding in effect.
;
; Example: (let/cc exit
; (letrec
; ((f (lambda (x)
; (cond ((null? x) 0)
; ((pair? x) (+ 1 (f (cdr x))))
; (else (exit 'foo))))))
; (f '(1 2 3 . 4)))) ==> foo
(define-syntax (let/cc name . body)
`(call/cc
(lambda (,name)
,@body)))
|