MACLISP (také Maclisp ) je dialekt programovacího jazyka Lisp , vyvinutý v laboratoři umělé inteligence MIT , který se v té době (konec 60. let ) nazýval Project MAC (odkud předpona v názvu jazyka skutečně pochází, existuje zde není spojení s počítači Macintosh společnosti Apple , stejnou předponu v názvu a ze stejného důvodu má např. systém počítačové algebry Macsyma )
Ačkoli je tento jazyk velmi pozoruhodný, zejména pro ovlivnění mnoha pozdějších lispů, jako je Zeta Lisp a Common Lisp a byl použit pro první implementace Macsyma , SHRDLU a Multics Emacs , dnes se téměř nikde nepoužívá.
Počátkem 60. let MIT zahájilo projekt MAC, který zkoumal využití počítačů v interaktivním režimu a vyvinul vhodné programovací jazyky a operační systémy pro takovou práci. V rámci tohoto projektu byl vyvinut MacLisp (dále jen Maclisp) založený na systému Lisp 1.5. V roce 1964 byla vytvořena první implementace MacLisp pro PDP-6, v roce 1968 pro PDP-10, který fungoval jak pod kontrolou operačního systému ITS, vyvinutého v laboratoři umělé inteligence MIT, tak pod TOPS- 10 / 20 OS - standardní operační systém pro PDP-10/20 od DEC. Byla také vytvořena implementace pro počítač GE-600 s operačním systémem Multics .
Maclisp byl na svou dobu extrémně výkonný systém. Jeho vzhled odrážel všechny různorodé úkoly, které byly řešeny v projektu MAC a obecně ve výzkumu umělé inteligence na MIT. Kromě tradičních úloh zpracování znaků byl McLisp použit pro vývoj v celé řadě oblastí. Práce v oblasti robotiky a zpracování řeči a obrazu tedy vyžadovaly od systému vysokou čistě výpočetní efektivitu a vedly také k implementaci široké škály matematických datových typů, včetně vektorů, matic a bitových polí. Systém zahrnoval aritmetické typy a operace s neomezenou přesností (založené na algoritmech vyvinutých D. Knuthem ), které v některých případech umožňují výrazně zjednodušit řešení některých matematických problémů, i když na úkor značných výpočetních nákladů. Byla implementována výkonná knihovna matematických funkcí.
Pokud jde o příspěvek k vývoji samotného jazyka, lze si všimnout čtecích maker a čtecích tabulek, které se objevily v MacLisp, což umožnilo „dokončit“ jazyk a rozšířit jej správným směrem o nové struktury. Do jazyka byly také zahrnuty prostředky pro zpracování výjimek a paralelní zpracování.
Maclisp byl prvním systémem Lisp, pro který byl implementován vysoce účinný kompilátor (předtím se systémy Lisp nemohly pochlubit vysokým výpočetním výkonem a částečně z tohoto důvodu byl Lisp považován za „jazyk pro vědce, nikoli pro průmysl“). Efektivnosti překladu bylo navíc dosaženo použitím specifických metod Lisp: zdrojový program byl přeložen do středně strojově orientované formy, která vypadala jako seznamy Lisp (tzv. LAP - List Assembly Program). Strojový kód v této podobě byl podroben optimalizaci prostřednictvím formálních transformací, v důsledku čehož se výsledný objektový program pro výpočetní úlohy ukázal být zpravidla efektivnější než podobný program Fortran sestavený nejlepšími kompilátory Fortranu pro stejnou platformu.
Systém MAC Lisp byl využíván a vyvíjen až do 80. let, přičemž měl významný dopad na implementace Lisp, které se objevily v 60. až 80. letech, včetně toho, že se stal jedním ze zdrojů pro návrh standardu Common Lisp . Provoz systému prakticky ustal v 80. letech spolu s ukončením používání počítačů PDP-10/20, na kterých byl původně založen. Hodně přežil systém vyvinutý na Maclisp v rámci projektu MAC , symbolický výpočetní systém Macsyma a textový editor na obrazovce Emacs .
Historicky nejznámějšími výsledky projektu MAC jsou symbolický výpočetní systém Macsyma a textový editor na obrazovce Emacs . Macsyma je výkonný symbolický výpočetní systém, ve skutečnosti průkopník v této oblasti počítačových systémů, jeho vývoj probíhal na MIT v letech 1968 až 1982. Systém byl napsán výhradně v MacLisp a byl pravděpodobně největším široce známým programem na světě napsaným výhradně v Lisp. Právě portování Macsymy na jiné hardwarové a softwarové platformy bylo motivem, který způsobil vznik několika dialektů Lisp. Po roce 1982 byl učiněn pokus o komercializaci vývoje, ale v roce 1999 byl vývoj systému ukončen a dodnes se nepoužívá. Existuje fork vyrobený z poslední bezplatné verze v roce 1982, nadále je vyvíjen pod názvem Maxima a je dostupný pod GNU GPL, moderní verze jsou kompilovány pomocí Common Lisp .
Emacs je celoobrazovkový textový editor, který byl součástí vývojového prostředí MacLisp, ale byl používán i samostatně, často pro účely, které neměly nic společného s programováním. Charakteristickým rysem Emacsu je schopnost programovat chování editoru pomocí skriptů v interním jazyce Emacs Lisp . Jádrem editoru je interpret Emacs Lisp a nějaká sada služeb závislých na systému a hlavní část je napsána v samotném Emacs Lisp. Jádro Emacsu bylo původně napsáno v Maclisp; následně, když byl portován na mikropočítače, byl přepsán v C , protože v té době neexistovaly žádné efektivní implementace Lisp pro PC. V průběhu let editor získal mnoho doplňků napsaných v Emacs Lisp, které rozšířily jeho funkčnost do obrovské míry, což se stalo vtipem: "Emacs je skvělý operační systém, kterému chybí pouze slušný textový editor."
http://maclisp.info/ – stránka MacLisp Kenta Pitmana.
Lisp | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Charakteristika |
| ||||||||||||||
Implementace |
| ||||||||||||||
Hardware |
| ||||||||||||||
Společenství |
| ||||||||||||||
|
Programovací jazyky | |
---|---|
|