meta-comment on typing Per Bothner (05 Oct 2005 17:35 UTC)
|
Re: meta-comment on typing
John.Cowan
(05 Oct 2005 22:00 UTC)
|
Re: meta-comment on typing
Per Bothner
(05 Oct 2005 22:14 UTC)
|
Re: meta-comment on typing
John.Cowan
(06 Oct 2005 04:55 UTC)
|
Re: meta-comment on typing
Michael Sperber
(06 Oct 2005 06:03 UTC)
|
Re: meta-comment on typing
Per Bothner
(06 Oct 2005 15:35 UTC)
|
[SRFI 77] integer-length and integer-sqrt
Jens Axel Søgaard
(06 Oct 2005 15:54 UTC)
|
Re: meta-comment on typing
Michael Sperber
(06 Oct 2005 16:17 UTC)
|
meta-comment on typing Per Bothner 05 Oct 2005 17:35 UTC
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 better for 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 xxxxxx@bothner.com http://per.bothner.com/