[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: (declare (type fixnum ---)) considered etc.
In article <8607241621.AA03430@hplsny> snyder%hplsny@hplabs.HP.COM (Alan Snyder) writes:
>I think the PL/I experience shows
>that if you force people to declare the number of bits of
>precision they want, in most cases they will find out what number
>produces the best results on their current machine and use that,
>thus making their programs non-portable in terms of efficiency.
This is a red herring. Almost everything in CL is going to vary
in efficiency between implementations. Consider FUNCALL - some impls
do it almost as well as a direct call, while others cons up a list
of arguments and feed to APPLY. This has a direct bearing on the
efficiency of using things like MEMBER's keyword arguments. Consider
generic sequence functions, whose allowed variation is notorious;
DELETE is not even required to be destructive! Consider arrays, which
can be specialized in a dozen ways, or not at all.
As a language, Common Lisp can promise consistent efficiency or consistent
behavior - and I prefer the latter. It might be possible to promise both in
a high-level language, but nobody's succeeded yet...