1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-11 00:00:49 +02:00
guile/module/slib/mularg.scm
2001-04-14 11:24:45 +00:00

12 lines
323 B
Scheme

;;; "mularg.scm" Redefine - and / to take more than 2 arguments.
(define / /)
(define - -)
(let ((maker
(lambda (op)
(lambda (d1 . ds)
(cond ((null? ds) (op d1))
((null? (cdr ds)) (op d1 (car ds)))
(else (for-each (lambda (d) (set! d1 (op d1 d))) ds) d1))))))
(set! / (maker /))
(set! - (maker -)))