;;; here is a circular function: (let () (define (cfunc) (begin (display "cfunc! ") #f)) (let ((clst (procedure-source cfunc))) (set! (cdr (cdr (car (cdr (cdr clst))))) (cdr (car (cdr (cdr clst)))))) (cfunc)) ; displays "func! " until you kill it ;;; could you implement goto's with circular lists? ;;; unreadable and unprintable code -- this is great.