Issue #21 - Warn if required args are missing

This commit is contained in:
Justin Ethier 2016-08-17 18:15:42 -04:00
parent 46f84b5265
commit 9a48901ac2

View file

@ -138,10 +138,14 @@
((list? formals) ((list? formals)
args) args)
(else (else
(let* ((num-req-args (length/obj formals)) (let ((num-req-args (length/obj formals))
(areq (take args num-req-args)) (num-args (length args)))
(aopt (list-tail args num-req-args))) (if (> num-req-args num-args)
(append areq (list aopt)))))) (error "Too few arguments supplied" formals args))
(append
(take args num-req-args) ;; Required args
(list (list-tail args num-req-args)) ;; Optional args
)))))
(define (length/obj l) (define (length/obj l)
(let loop ((lis l) (let loop ((lis l)