Diskussion:Lisp

Från Unix.se, den fria unixresursen.

Är det verkligen rätt att säga att Lisp är strikt? Funktioner som defun, if och let brukar ju i regel inte evaluera alla sina argument. Så jag menar, Lisp är väl i inte strikt strikt? - Joppe

Det beror på att defun, if och let inte är funktioner. Defun är ett makro, och if och let är s.k. specialoperatorer. Man kan förvirras av att makro- och specialanrop i Lisp syntaktiskt ser ut som funktionsanrop, men om man tänker efter inser man att if (eller motsvarande) i andra språk aldrig beräknar alla sina argument. Faktum är att en villkorsoperator omöjligen kan göra det och fortfarande fungera som villkorsoperator. --Bal 29 augusti 2005 kl.08.55 (GMT)

Personliga verktyg