This page is part of the web mail archives of SRFI 77 from before July 7th, 2015. The new archives for SRFI 77 contain all messages, not just those from before July 7th, 2015.
Personally I prefer to specify which operation to use by (optional) type declarations, rather than explicitly specying the operation. That is more like what other languages do, including Common Lisp. Specifying parameter, returns, and global variable types is betterfor documentation, better for error-checking, and is easier for compilers to generate better code. Also, it makes the code more
readable. It's a choice bwteeen: (define (square-sum (x :: <flonum>) (y :: <flonum>)) (+ (* x x) (* y y))) or: (define (square-sum x y) (fl+ (fl* x x) (fl* y))) If you have type specifiers, you don't need the separate operation names. And type specifiers are much to be preferred. After all if Scheme is a teaching language, we want to encourage our students to use type declarations, I think. -- --Per Bothner per@xxxxxxxxxxx http://per.bothner.com/