damn tweaks11
[lambda.git] / damn4.rkt
1 #lang racket
2
3 ; thanks to Ken!
4
5 (let ((pragma
6        ; An ordered pair whose first component is the assertion
7        ; operator, a unary function, and whose second component
8        ; is the meaning of "damn", a thunk.
9        (call-with-current-continuation
10         (lambda (k)
11           (cons (lambda (prop) prop)
12                 (lambda () (k (cons (lambda (prop) (list 'bad prop))
13                                     (lambda () 'id)))))))))
14   (let ((assert (car pragma))
15         (damn   (cdr pragma)))
16     (assert (list 'the 'student 'read 'the (damn) 'book))))
17