Common Lisp has strict, left to right order of evaluation of arguments, that is, applicative order. All major Lisps have strict evalution, although I believe Scheme does not specify the order in which arguments are processed.speech impediment wrote:Well, I was learning about order of evaluation; Normal order vs. Applicative order.
I meant dynamic dispatch on type of arguments. Since addition function, like all arithmetic functions, in Common Lisp works on many numeric types (fixnums, bignums, floats, ratios, complex numbers and so on) the system must determine which primitive addition operation to execute promoting the arguments as necessary. Which means that unless full types can be determined at compile time addition is not a primitive operation. But this is internal to the implementation and something one should worry about unless doing microoptimization, which done prematurely is, of course root of all evil.speech impediment wrote:Forgive my ignorance again, but I can't seem to find type dispatch in the hyperspec. What is that?