;;; $Id: product-mod.scm,v 1.2 2006/01/05 22:24:09 leavens Exp $ (module product-mod (lib "typedscm.ss" "typedscm") (provide product product-from-list) (deftype product (-> (number ...) number)) (define product (lambda args (product-from-list args))) (deftype product-from-list (-> ((list-of number)) number)) (define product-from-list (lambda (prod-list) (if (null? prod-list) 1 (* (car prod-list) (product-from-list (cdr prod-list)))))) ) ;; end module