わんおぶ!

こんな風に書くのめんどいよね。

(or (equal? x #\a)
    (equal? x #\b)
    (equal? x #\c))

just を書いて……

(define* (just x #:optional (judge? equal?))
  (lambda (other)
    (judge? x other)))

one-of をこういう風に書いたら、

(define (one-of . args)
  (lambda (x)
    (any (just x) args)))

こんな風に書けるよ!

(define one-two-three? (one-of 1 2 3))

(one-two-three? 1)