MACLISP (även Maclisp ) är en dialekt av programmeringsspråket Lisp , utvecklat vid MIT :s konstgjorda intelligenslaboratorium , som på den tiden (slutet av 60 -talet ) hette Project MAC (där prefixet i språkets namn faktiskt kom ifrån, finns ingen koppling till Apples Macintosh - datorer här; samma prefix i namnet och har av samma anledning till exempel Macsyma datoralgebrasystem )
Även om språket är mycket anmärkningsvärt, i synnerhet för att påverka många senare lisps som Zeta Lisp och Common Lisp , och används för de första implementeringarna av Macsyma , SHRDLU och Multics Emacs , används det knappt någonstans idag.
Med början i början av 1960-talet lanserade MIT MAC-projektet, som undersökte användningen av datorer i interaktivt läge och utvecklade lämpliga programmeringsspråk och operativsystem för sådant arbete. MacLisp (nedan kallat Maclisp) utvecklades som en del av detta projekt, baserat på Lisp 1.5-systemet. 1964 skapades den första MacLisp-implementeringen för PDP-6, 1968 för PDP-10, och den senare arbetade både under kontroll av ITS-operativsystemet, utvecklat i MIT:s konstgjorda intelligenslaboratorium, och under TOPS- 10 / 20 OS - standardoperativsystemet för PDP-10/20 från DEC. En implementering skapades också för GE-600-datorn som kör Multics OS .
Maclisp var ett extremt kraftfullt system för sin tid. Dess utseende återspeglade alla de olika uppgifter som löstes i MAC-projektet och i allmänhet inom forskning om artificiell intelligens vid MIT. Förutom traditionella karaktärsbearbetningsuppgifter har McLisp använts för utveckling inom en mängd olika områden. Arbete inom robotteknik samt tal- och bildbehandling krävde alltså hög ren beräkningseffektivitet från systemet och ledde också till implementeringen av ett brett utbud av matematiska datatyper, inklusive vektorer, matriser och bitfält. Systemet omfattade aritmetiska typer och operationer med obegränsad precision (baserad på algoritmer utvecklade av D. Knuth ), som i vissa fall gör det möjligt att avsevärt förenkla lösningen av vissa matematiska problem, om än på bekostnad av betydande beräkningskostnader. Ett kraftfullt bibliotek med matematiska funktioner har implementerats.
När det gäller bidraget till utvecklingen av själva språket kan man notera läsmakron och lästabellerna som dök upp i MacLisp, som gjorde det möjligt att "avsluta" språket, utöka det i rätt riktning med nya strukturer. Undantagshantering och parallellbehandlingsmöjligheter ingick också i språket.
Maclisp var det första Lisp-systemet för vilket en mycket effektiv kompilator implementerades (innan dess kunde Lisp-system inte skryta med hög beräkningsprestanda, och delvis av denna anledning behandlades Lisp som "ett språk för vetenskapsmän, inte för industrin"). Dessutom uppnåddes effektiviteten i översättningen genom användning av specifika Lisp-metoder: källprogrammet översattes till en mellanliggande maskinorienterad form som såg ut som Lisp-listor (det så kallade LAP - List Assembly Program). Maskinkoden i denna form utsattes för optimering genom formella transformationer, vilket resulterade i att det resulterande objektprogrammet för beräkningsuppgifter visade sig vara, som regel, mer effektivt än ett liknande Fortran-program sammanställt av de bästa Fortran-kompilatorerna för samma plattform.
MAC Lisp-systemet utnyttjades och utvecklades fram till 1980-talet, vilket hade en betydande inverkan på implementeringarna av Lisp som dök upp på 1960-1980-talet, inklusive att bli en av källorna för utformningen av Common Lisp- standarden . Driften av systemet upphörde praktiskt taget på 1980-talet, tillsammans med upphörandet av användningen av PDP-10/20-datorerna som det ursprungligen var baserat på. Mycket överlevde systemet som utvecklats på Maclisp inom MAC-projektet , Macsyma symboliska datorsystem och Emacs textredigerare på skärmen .
Historiskt sett är de mest kända resultaten av MAC-projektet Macsyma symboliska datorsystem och Emacs textredigerare på skärmen . Macsyma är ett kraftfullt symboliskt datorsystem, faktiskt en pionjär inom detta område av datorsystem, dess utveckling genomfördes vid MIT från 1968 till 1982. Systemet skrevs helt i MacLisp och var förmodligen det största allmänt kända programmet i världen skrivet helt i Lisp. Det var porteringen av Macsyma till andra hårdvaru- och mjukvaruplattformar som var motivet som orsakade uppkomsten av flera dialekter av Lisp. Efter 1982 gjordes ett försök att kommersialisera utvecklingen, men 1999 avbröts utvecklingen av systemet och hittills används det inte. Det finns en gaffel gjord från den senaste gratisversionen 1982, den fortsätter att utvecklas under Maxima- namnet och är tillgänglig under GNU GPL, moderna versioner är kompilerade med Common Lisp .
Emacs är en helskärmstextredigerare som ingick i MacLisps utvecklingsmiljö, men som också användes separat, ofta för ändamål som inte hade något med programmering att göra. En utmärkande egenskap hos Emacs är förmågan att programmera redigerarens beteende med hjälp av skript på det interna Emacs Lisp-språket . Kärnan i editorn är en Emacs Lisp-tolk och någon uppsättning systemberoende tjänster, och huvuddelen är skriven i själva Emacs Lisp. Emacs kärna skrevs ursprungligen i Maclisp; därefter, när den portades till mikrodatorer, skrevs den om i C , eftersom det vid den tiden inte fanns några effektiva implementeringar av Lisp för PC. Redaktören har under åren skaffat sig många tillägg skrivna i Emacs Lisp som har utökat dess funktionalitet i stor utsträckning, vilket har blivit ett skämt: "Emacs är ett fantastiskt operativsystem som bara saknar en anständig textredigerare."
http://maclisp.info/ - Kent Pitmans MacLisp-sida.
Läspa | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Egenskaper |
| ||||||||||||||
Genomföranden |
| ||||||||||||||
Hårdvara |
| ||||||||||||||
gemenskap |
| ||||||||||||||
|
Programmeringsspråk | |
---|---|
|