var-util.scm 500 B

12345678910111213141516171819202122
  1. ; Copyright (c) 1993-2008 by Richard Kelsey and Jonathan Rees. See file COPYING.
  2. (define (number-of-required-args formals)
  3. (do ((l formals (cdr l))
  4. (i 0 (+ i 1)))
  5. ((not (pair? l)) i)))
  6. (define (n-ary? formals)
  7. (cond ((null? formals) #f)
  8. ((pair? formals) (n-ary? (cdr formals)))
  9. (else #t)))
  10. (define (normalize-formals formals)
  11. (cond ((null? formals)
  12. '())
  13. ((pair? formals)
  14. (cons (car formals)
  15. (normalize-formals (cdr formals))))
  16. (else
  17. (list formals))))