Kazimir Majorinc PRVA MEDUNARODNA LISP KONFERENCIJA (II.) Povijest Lispa 22. Razmjena vjestina Hacklab u mami 23. veljace 2013.
LEVIN )UCBEL.- Algebraic Compiler with LISP. 'The. LISP, 2 Compiler Me. INTOSH, HAROLD v.... Th e use of operator predicate s in LISI....,. MINSKY, MARVIN.-, I GBrbage Collector methods fioos, BILLY B.- WE IZENBAUI, JOSEPH.- Use of arrays 1n LISP. Group theory programs. Open Ended compilati n;.. VnLWiS, JOsm. WOOLDRIME j DEAN... YATES, RO:BERT.... uss e i.l, 1 SFB1m8 I A LISP. Page plotter. An Algebraic Simplify Program in LISP.. LISP. Group Analysis prof"ains. A LISP 0 o piler for a var1able word mach1ne (Gamma 30 Sclentlfic.)
Michael Levin autor drugog kompajlera za Lisp. Paul McJones (Computer History Museum) pretpostavlja da se njegovo izlaganje odnosi na dokument MIT-AIM 039, Levin & Hart, The New Compiler.
Lisp sistem radi kao interpreter u okviru kojeg se moze pozvati kompajler. COMPILE ((FH1 FH2... )) Kompajler, ako nije potreban moze se izbrisati iz memorije. Slobodne varijable (ne javljaju se samo unutar LAMBDA) moraju biti deklarirane SPECIAL ((U1 U2... )) COMMON ((U1 U2... )) Funkcionalne konstante (LAf1BDA (X Y) (f1apl I ST X (FUHCTIOH (LAMBDA(J) (COHS (CAR J) X))))
Tri vrste varijabli: obicne varijable se spremaju na stack; specijalne varijable imaju fiksno mjesto u memoriji;,common" varijable se spremaju u alistu koja je dostupna svim funkcijama. Kompajler u prvoj fazi procesira izvorni kod da bi ga ucinio sto efikasnijim. Rekurziju mijenja petljama, kad je moguce. U drugoj fazi prevodi u asembler. Treca faza postoji, ali nije opisana u memou. Sigurno prevodi asembler u masinski kod.
Srpanj 1963: ANFORD UWIVERS Tf s anford J c.al for fa LISP 2 Spec... 2 &,., ions Conference X? (-1) LISP 1 ii S and ts def ciencies a) Applic, tions AGENDA
(a) Linear Free Storage (b) liumbers and oth r full t o:rds (c) Auxil1a Storage (d) lnput l nguage - in (e) Arrays (f) ( ) (h) Co nts (, reer output format ix notation Sequance of plement.ion Document tion and maintetlance ) (j) H sh Coding (k) Subroutine linitagc (1) Storage conventacns (m) Effect of various 1-0 apparatuc (n) In teraction t-1ith progra in othe lnngu. g, s (o) E!frn;ea:9ions having property lists (p) D ta structu es (q) Pi ttng into monlto
Ob7ectio s l 2.. 3. a ed 5. 01:1 I1 e!. c c2lcul II' Da a st -c ul-... 11.. 1n erpr-et. 1. ons
ST lford ARTIFICIAL Dl'rELLIGENOB PROJEC Momo No.. a September 26 1963 (Prel ioina1 ), - STORAGE CONVENTIONS IN LISP 2 vs ;; sz,...,?nz &25Ift 1"!!!12 I Z'' ip- a ZESLE!U!!i '. apia I by John t tccarthy Storage convent io n s and a basic ae t of functions for LISP 2 are proposed S ince the mmo l1&s tar it ten a 1 1ay of supplementing the features of 1 i system 1ith the unique stora a of 1 iot Gtrueture sing a hash rule far computing the address in a cparate free storage area for lidts ha been found"
Okupljeni na konferenciji pokusali su izbjeci stvaranje velikog broja novih tipova, ali nisu mogli postici suglasnost oko problema. Osim onaga sto se danas smatra tipovima ( cijeli broj, realni broj) htjeli su i informaciju maze li se podatak premjestati u memoriji - zbog garbage collectora. Osnovni tip i dalje ostaje lista, ali rijeci koje imaju negativni predznak (bit za predznak u IBM 904 rijeci) oznacavaju tip podataka koji slijede. Time se ostavlja mogucnost razvoja sistema tipova. (Cini se da su tipovi vezani za liste.) Osim car i cdr, uvodi se opet funkcija cwr - koja vraca sadrzaj cijele rijeci. Moguce je izracunavati adrese podataka, na primjer Gornja naredba je nesigurna. caddr[x + 5] := (PLUS A B)
Uvode se funkcije mk1 [n; type; w1;...; wn] mk2[n; type; a1; d1;...; an; dn] mk3[n; type; r1,... rn; w1;...; wn] mk3[n; type; r1;... rn; a1; d1;...; an; dn] koje spremaju podatke i vracaju adresu na kojoj su spremljeni, declare1 [n; type] declare2[n; type] declare3[n; type; r1 ;...; rn] koje samo rezerviraju mjesto u memoriji i vracaju adresu.