www

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

and.rkt (322B)


      1 #lang racket
      2 
      3 (provide preexpanded-and)
      4 
      5 (require syntax/parse
      6          (for-template racket/base))
      7 
      8 (define (preexpanded-and stx)
      9   (syntax-parse stx
     10     [(clause)
     11      #'clause]
     12     [(#t . rest)
     13      (preexpanded-and #`rest)]
     14     [(clause . rest)
     15      #`(if clause
     16            #,(preexpanded-and #`rest)
     17            #f)]))