[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: meta-comment on typing



Per Bothner <per@xxxxxxxxxxx> writes:

> 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)))

I personally have no objection to type declaration, but disagree that
the code becomes more readable.  In fact, I've seen plenty of evidence
that the exact opposite is the case, both in the C world (with type
declarations) and in the R5RS/CL world (without).  Some anecdotal
evidence can be found in the paper by Egner et al. cited at the bottom
of the SRFI.

-- 
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla