From 0bec426ca6b6e8672c487a1b9f0a3ef1823d267a Mon Sep 17 00:00:00 2001 From: Jim Pryor Date: Tue, 14 Sep 2010 09:29:59 -0400 Subject: [PATCH] add damn4.rkt Signed-off-by: Jim Pryor --- damn4.rkt | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 damn4.rkt diff --git a/damn4.rkt b/damn4.rkt new file mode 100644 index 00000000..65fb49ea --- /dev/null +++ b/damn4.rkt @@ -0,0 +1,17 @@ +#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)))) + -- 2.11.0