Advertisement
EWTD

ITS FUCKING GENIUS

Dec 8th, 2020
3,164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scheme 0.45 KB | None | 0 0
  1. (define exit #f)
  2. (define (use-assertions)
  3.   (call-with-current-continuation
  4.    (lambda (cc)
  5.      (set! exit cc))))
  6. (use-assertions)
  7.  
  8. (define-syntax my-if
  9.   (syntax-rules ()
  10.     ((my-if condition true-expression false-expression)
  11.      (let ((true-promise (delay 'true-expression))
  12.            (false-promise (delay 'false-expression)))
  13.        (begin
  14.          (or condition (exit (force false-promise)))
  15.          (exit (force true-promise)))))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement