MACLISP (myös Maclisp ) on MIT :n tekoälylaboratoriossa kehitetty Lisp -ohjelmointikielen murre , jota tuolloin (60-luvun lopulla ) kutsuttiin Project MAC :ksi (josta kielen nimen etuliite itse asiassa tuli, on olemassa tässä ei ole yhteyttä Applen Macintosh - tietokoneisiin ; sama etuliite nimessä ja samasta syystä on esimerkiksi Macsyma - tietokonealgebrajärjestelmä )
Vaikka kieli on erittäin merkittävää, erityisesti vaikuttaessaan moniin myöhempiin lispeihin, kuten Zeta Lisp ja Common Lisp , ja sitä käytettiin Macsyman, SHRDLU:n ja Multics Emacsin ensimmäisissä toteutuksissa , sitä ei käytetä nykyään juuri missään.
MIT käynnisti 1960-luvun alusta alkaen MAC-projektin, jossa tutkittiin tietokoneiden käyttöä interaktiivisessa tilassa ja kehitettiin tähän työhön sopivia ohjelmointikieliä ja käyttöjärjestelmiä. MacLisp (jäljempänä Maclisp) kehitettiin osana tätä projektia, joka perustuu Lisp 1.5 -järjestelmään. Vuonna 1964 luotiin ensimmäinen MacLisp-toteutus PDP-6:lle, vuonna 1968 PDP-10:lle, ja jälkimmäinen toimi sekä MIT:n tekoälylaboratoriossa kehitetyn ITS-käyttöjärjestelmän ohjauksessa että TOPS-ohjelman alla. 10/20 OS - vakiokäyttöjärjestelmä PDP-10/20:lle DEC:ltä. Toteutus luotiin myös Multics OS -käyttöjärjestelmää käyttävälle GE-600-tietokoneelle .
Maclisp oli aikansa erittäin tehokas järjestelmä. Sen ulkoasu heijasti kaikkia MAC-projektissa ja yleisesti MIT:n tekoälytutkimuksessa ratkaistuja tehtäviä. Perinteisten merkinkäsittelytehtävien lisäksi McLispia on käytetty kehittämiseen monilla eri aloilla. Näin ollen työ robotiikan sekä puheen ja kuvankäsittelyn alalla vaati järjestelmältä korkeaa puhtaasti laskennallista tehokkuutta ja johti myös monenlaisten matemaattisten tietotyyppien, mukaan lukien vektorien, matriisien ja bittikenttien, toteuttamiseen. Järjestelmä sisälsi aritmeettisia tyyppejä ja operaatioita rajoittamattomalla tarkkuudella (perustuu D. Knuthin kehittämiin algoritmeihin ), jotka joissakin tapauksissa mahdollistavat joidenkin matemaattisten ongelmien ratkaisemisen yksinkertaistamisen merkittävästi, vaikkakin huomattavien laskentakustannusten kustannuksella. Tehokas matemaattisten funktioiden kirjasto on toteutettu.
Mitä tulee panokseen itse kielen kehitykseen, voidaan huomioida MacLispissä ilmestyneet lukumakrot ja lukutaulukot, jotka mahdollistivat kielen "viimeistelemisen" laajentaen sitä oikeaan suuntaan uusilla rakenteilla. Poikkeuskäsittely- ja rinnakkaiskäsittelylaitteet sisällytettiin myös kieleen.
Maclisp oli ensimmäinen Lisp-järjestelmä, jolle otettiin käyttöön erittäin tehokas kääntäjä (ennen sitä Lisp-järjestelmät eivät voineet ylpeillä korkealla laskentateholla, ja osittain tästä syystä Lispiä pidettiin "tieteilijöiden, ei teollisuuden kielenä"). Lisäksi kääntämisen tehokkuus saavutettiin käyttämällä erityisiä Lisp-menetelmiä: lähdeohjelma käännettiin välimuotoiseen konesuuntautuneeseen muotoon, joka näytti Lisp-listoilta (ns. LAP - List Assembly Program). Tässä muodossa oleva konekoodi optimoitiin muodollisilla muunnoksilla, minkä seurauksena tuloksena oleva olioohjelma laskennallisiin tehtäviin osoittautui pääsääntöisesti tehokkaammaksi kuin vastaava Fortran-ohjelma , jonka parhaat Fortran-kääntäjät olivat koonneet . samalla alustalla.
MAC Lisp -järjestelmää hyödynnettiin ja kehitettiin 1980-luvulle saakka, mikä vaikutti merkittävästi 1960-1980-luvuilla ilmestyneisiin Lispin toteutuksiin, mukaan lukien siitä, että siitä tuli yksi Common Lisp -standardin suunnittelun lähteistä . Järjestelmän toiminta käytännössä loppui 1980-luvulla, kun sen alunperin perustana olevien PDP-10/20-tietokoneiden käyttö lopetettiin. Paljon selvisi Maclispille MAC-projektissa kehitetystä järjestelmästä, Macsyma- symbolisesta laskentajärjestelmästä ja Emacsin näytön tekstieditorista .
Historiallisesti MAC-projektin tunnetuimmat tulokset ovat Macsyma - symbolinen laskentajärjestelmä ja Emacsin kuvaruututekstieditori . Macsyma on tehokas symbolinen laskentajärjestelmä, itse asiassa edelläkävijä tällä tietokonejärjestelmien alalla, sen kehitystyö suoritettiin MIT:ssä vuosina 1968-1982. Järjestelmä on kirjoitettu kokonaan MacLisp-kielellä ja se oli luultavasti maailman suurin laajalti täysin Lisp-kielellä kirjoitettu ohjelma. Se oli Macsyman siirtäminen muille laitteisto- ja ohjelmistoalustoille motiivi, joka aiheutti useiden Lispin murteiden syntymisen. Vuoden 1982 jälkeen kehitystä yritettiin kaupallistaa, mutta vuoteen 1999 mennessä järjestelmän kehitys lopetettiin, eikä sitä ole toistaiseksi käytetty. Haarukka on tehty viimeisestä ilmaisesta versiosta vuonna 1982, sitä kehitetään edelleen Maxima -nimellä ja se on saatavilla GNU GPL:llä, nykyaikaiset versiot on käännetty Common Lisp -sovelluksella .
Emacs on koko näytön tekstieditori, joka oli osa MacLisp-kehitysympäristöä, mutta sitä käytettiin myös erikseen, usein tarkoituksiin, joilla ei ollut mitään tekemistä ohjelmoinnin kanssa. Emacsin erottuva piirre on kyky ohjelmoida editorin käyttäytyminen Emacsin sisäisen Lisp - kielen komentosarjoilla . Editorin ydin on Emacs Lisp -tulkki ja jotkut järjestelmäriippuvaiset palvelut, ja pääosa on kirjoitettu itse Emacs Lispissä. Emacsin ydin kirjoitettiin alun perin Maclispissä; myöhemmin, kun se siirrettiin mikrotietokoneisiin, se kirjoitettiin uudelleen C -kielellä, koska siihen aikaan ei ollut tehokkaita Lisp-toteutuksia PC:lle. Vuosien varrella editori on hankkinut monia Emacs Lispissä kirjoitettuja lisäosia, jotka ovat laajentaneet sen toimivuutta valtavasti, mistä on tullut vitsi: "Emacs on loistava käyttöjärjestelmä, josta puuttuu vain kunnollinen tekstieditori."
http://maclisp.info/ - Kent Pitmanin MacLisp-sivu.
Lisp | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Ominaisuudet |
| ||||||||||||||
Toteutukset |
| ||||||||||||||
Laitteisto |
| ||||||||||||||
Yhteisö |
| ||||||||||||||
|
Ohjelmointikielet | |
---|---|
|