Sto esaminando Abelson e Sussman ( Struttura e interpretazione di programmi per computer ) e sono un po 'confuso su quando viene utilizzata la normale valutazione degli ordini e quando viene utilizzata la valutazione degli ordini applicativi.
Questa frase mi esclude:
Lisp uses applicative-order evaluation partly because of the additional efficiency obtained from avoiding multiple evaluations of expressions suich as those illustrated with (+5 1) and (*5 2) above and, more significantly, because normal-order evaluation becomes much more complicated to deal with when we leave the realm of procedures that can be modeled by substitution. [emphasis added]
Tuttavia, nell'esercizio 1.6, l'implicazione è che il Lisp utilizza la normale valutazione degli ordini per le primitive, ma la valutazione degli ordini applicativi per le procedure complesse.
Qualcuno potrebbe chiarire?