#lang racket ; thanks to Ken! (let ((pragma ; An ordered pair whose first component is the assertion ; operator, a unary function, and whose second component ; is the meaning of "damn", a thunk. (call-with-current-continuation (lambda (k) (cons (lambda (prop) prop) (lambda () (k (cons (lambda (prop) (list 'bad prop)) (lambda () 'id))))))))) (let ((assert (car pragma)) (damn (cdr pragma))) (assert (list 'the 'student 'read 'the (damn) 'book))))