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)
args)
(else
(let* ((num-req-args (length/obj formals))
(areq (take args num-req-args))
(aopt (list-tail args num-req-args)))
(append areq (list aopt))))))
(let ((num-req-args (length/obj formals))
(num-args (length args)))
(if (> num-req-args num-args)
(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)
(let loop ((lis l)