anaphoric/and-let.rkt
2018-01-25 23:34:48 -05:00

14 lines
307 B
Racket

#lang racket/base
(provide and-let)
(require syntax/parse/define "if-let.rkt" (for-syntax racket/base))
(define-syntax and-let
(syntax-parser
[(_) #'#true]
[(_ body:expr) #'body]
[(_ [variable:id condition:expr] rest ...+)
#'(if-let [variable condition] (and-let rest ...) #false)]))