manuale di emacs lisp

Oct 02 2020

Cosa significa questo testo, nel nodo Simple Lambda Expression Exampledel manuale Emacs Lisp:

Come mostrano questi esempi, puoi usare un form con un'espressione lambda come macchina per creare variabili locali e dare loro dei valori. Ai vecchi tempi del Lisp, questa tecnica era l'unico modo per associare e inizializzare le variabili locali. Ma al giorno d'oggi, è più chiaro utilizzare il modulo speciale letper questo scopo

L'uso di letmi è chiaro, ma cosa c'entra l'auto con questo?

Risposte

3 choroba Oct 02 2020 at 18:47

L'applicazione di un'espressione lambda è stata utilizzata per popolare le variabili locali nell'espressione, quindi ad esempio quello che puoi scrivere oggi come

(let ((x 12))
  (message (number-to-string (- (* 4 x) (/ x 2)))))

hai scritto come

((lambda (x)
   (message (number-to-string (- (* 4 x) (/ x 2)))))
 12)

L'espressione lambda è l'auto dell'intera forma.