MACLISP (også Maclisp ) er en dialekt af programmeringssproget Lisp , udviklet på MIT kunstig intelligens-laboratoriet , som på det tidspunkt (slutningen af 60'erne ) hed Project MAC (hvor præfikset i sprogets navn faktisk kom fra, er der ingen forbindelse med Apples Macintosh - computere her; samme præfiks i navnet og har af samme årsag f.eks. Macsyma computeralgebra -systemet )
Selvom sproget er meget bemærkelsesværdigt, især for at påvirke mange senere lisps såsom Zeta Lisp og Common Lisp , og bliver brugt til de første implementeringer af Macsyma , SHRDLU og Multics Emacs , bruges det næsten ikke nogen steder i dag.
Fra begyndelsen af 1960'erne lancerede MIT MAC-projektet, som forskede i brugen af computere i interaktiv tilstand og udviklede passende programmeringssprog og operativsystemer til sådant arbejde. MacLisp (herefter benævnt Maclisp) blev udviklet som en del af dette projekt, baseret på Lisp 1.5-systemet. I 1964 blev den første MacLisp-implementering til PDP-6 oprettet, i 1968 for PDP-10, og sidstnævnte arbejdede både under kontrol af ITS-operativsystemet, udviklet i MIT kunstig intelligens-laboratoriet og under TOPS- 10 / 20 OS - standardoperativsystemet til PDP-10/20 fra DEC. En implementering blev også oprettet til GE-600-computeren, der kører Multics OS .
Maclisp var et ekstremt kraftfuldt system for sin tid. Dens udseende afspejlede alle de mange forskellige opgaver, der blev løst i MAC-projektet og generelt i forskning i kunstig intelligens på MIT. Ud over traditionelle karakterbehandlingsopgaver er McLisp blevet brugt til udvikling på en lang række områder. Arbejdet inden for robotteknologi og tale- og billedbehandling krævede således høj ren beregningseffektivitet fra systemet og førte også til implementeringen af en lang række matematiske datatyper, herunder vektorer, matricer og bitfelter. Systemet omfattede aritmetiske typer og operationer med ubegrænset præcision (baseret på algoritmer udviklet af D. Knuth ), som i nogle tilfælde gør det muligt væsentligt at forenkle løsningen af nogle matematiske problemer, dog på bekostning af betydelige beregningsomkostninger. Et kraftfuldt bibliotek af matematiske funktioner er blevet implementeret.
Med hensyn til bidraget til selve sprogets udvikling, kan man notere sig de læsemakroer og læsetabeller, der dukkede op i MacLisp, som gjorde det muligt at "færdiggøre" sproget, udvide det i den rigtige retning med nye strukturer. Undtagelseshåndtering og parallelle behandlingsfaciliteter var også inkluderet i sproget.
Maclisp var det første Lisp-system, hvortil der blev implementeret en meget effektiv compiler (før det kunne Lisp-systemer ikke prale af høj beregningsydelse, og til dels af denne grund blev Lisp behandlet som "et sprog for videnskabsmænd, ikke for industrien"). Ydermere blev effektiviteten af oversættelse opnået ved brug af specifikke Lisp-metoder: Kildeprogrammet blev oversat til en mellemliggende maskinorienteret form, der lignede Lisp-lister (det såkaldte LAP - List Assembly Program). Maskinkoden i denne form blev udsat for optimering gennem formelle transformationer, hvilket resulterede i, at det resulterende objektprogram til beregningsopgaver viste sig som regel at være mere effektivt end et tilsvarende Fortran-program kompileret af de bedste Fortran-kompilatorer til samme platform.
MAC Lisp-systemet blev udnyttet og udviklet indtil 1980'erne, hvilket havde en betydelig indflydelse på implementeringerne af Lisp, der dukkede op i 1960-1980'erne, herunder at blive en af kilderne til udformningen af Common Lisp- standarden . Driften af systemet ophørte praktisk talt i 1980'erne, sammen med ophøret med brugen af PDP-10/20-computere, som det oprindeligt var baseret på. Meget overlevede systemet udviklet på Maclisp inden for MAC-projektet , Macsyma symbolske computersystem og Emacs teksteditor på skærmen .
Historisk set er de mest kendte resultater af MAC-projektet Macsyma symbolske computersystem og Emacs teksteditor på skærmen . Macsyma er et kraftfuldt symbolsk computersystem, faktisk en pioner inden for dette felt af computersystemer, dets udvikling blev udført på MIT fra 1968 til 1982. Systemet var udelukkende skrevet i MacLisp og var formentlig det største kendte program i verden skrevet udelukkende i Lisp. Det var porteringen af Macsyma til andre hardware- og softwareplatforme, der var motivet, der forårsagede fremkomsten af flere dialekter af Lisp. Efter 1982 blev der gjort et forsøg på at kommercialisere udviklingen, men i 1999 blev udviklingen af systemet indstillet og til dato er det ikke brugt. Der er en gaffel lavet fra den sidste gratis version i 1982, den fortsætter med at blive udviklet under Maxima navnet og er tilgængelig under GNU GPL, moderne versioner er kompileret med Common Lisp .
Emacs er en fuldskærms-teksteditor, der var en del af MacLisp-udviklingsmiljøet, men som også blev brugt separat, ofte til formål, der ikke havde noget med programmering at gøre. Et karakteristisk træk ved Emacs er evnen til at programmere editorens adfærd ved hjælp af scripts i det interne Emacs Lisp-sprog . Kernen i editoren er en Emacs Lisp-fortolker og et sæt systemafhængige tjenester, og hoveddelen er skrevet i selve Emacs Lisp. Emacs' kerne blev oprindeligt skrevet i Maclisp; efterfølgende, når den blev porteret til mikrocomputere, blev den omskrevet i C , da der på det tidspunkt ikke var nogen effektive implementeringer af Lisp til pc'en. Redaktøren har gennem årene anskaffet sig mange tilføjelser skrevet i Emacs Lisp, som har udvidet dens funktionalitet i enorm grad, hvilket er blevet en joke: "Emacs er et fantastisk operativsystem, der kun mangler en anstændig teksteditor."
http://maclisp.info/ - Kent Pitmans MacLisp-side.
Lisp | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Egenskaber |
| ||||||||||||||
Implementeringer |
| ||||||||||||||
Hardware |
| ||||||||||||||
Fællesskab |
| ||||||||||||||
|
Programmeringssprog | |
---|---|
|