bkyk8rc3zvpnsf5inmcqq4n3k98cv6hj-my-site-hyper-literate-git.test.suzanne.soy-0.0.1

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

on-demand.rkt (378B)


      1 #lang racket/base
      2 (require racket/promise
      3          (for-syntax racket/base))
      4 (provide define-on-demand)
      5 
      6 (define-syntax-rule (define-on-demand id rhs)
      7   (begin
      8     (define define-on-demand-bound-promise (delay rhs))
      9     (define-syntax (id stx)
     10       (if (identifier? stx)
     11           #'(force define-on-demand-bound-promise)
     12           (raise-syntax-error #f "bad syntax" stx)))))