So at that point Lisp had essentially the form that it has today....
Pierwszy kompletny kompilator Lispu stworzony w Lispie napisali w 1962 Tim Hart i Mike Levin na MIT. W kompilatorze tym wprowadzono model kompilacji przyrostowej (ang. incremental compilation), dzięki czemu funkcje kompilowane i interpretowane nie były rozróżniane. Język użyty przez Harta i Levina był dużo bliższy nowoczesnemu stylowi Lispu niż wcześniejszy kod McCarthy’ego.
Wczesna historia Information Processing Language był pierwszym językiem zaprojektowanym do tworzenia sztucznej inteligencji i już zawierał kilka pomysłów, które później zostały użyte w Lispie, jak na przykład przetwarzanie list czy rekurencja.
Oryginalna notacja McCarthy’ego używała M-wyrażeń, które potem były przetwarzane na S-wyrażenia, na przykład M-wyrażenie car[cons[A,B]] jest równoznaczne z S-wyrażeniem (car (cons A B)). Gdy tylko Lisp został zaimplementowany, programiści szybko porzucili M-wyrażenia na rzecz S-wyrażeń. M-wyrażenia powróciły na chwilę w MLISPie autorstwa Horace’a Enea i CGOLu autorstwa Vaughana Pratta.
Dwa makra asemblera na maszynie IBM 704 stały się podstawowymi operacjami do przetwarzania list: car () i cdr ().