MultiLisp - MultiLisp
| Paradigmák | Több paradigma : funkcionális , imperatív , egyidejű , meta |
|---|---|
| Család | Selypít |
| Tervezte | Ifjabb Robert H. Halstead |
| Fejlesztő | Massachusettsi Műszaki Intézet (MIT |
| Először jelent meg | 1980 |
| Gépelési fegyelem | Dinamikus , látens , erős |
| Hatály | Lexikális |
| Végrehajtási nyelv | Interlisp |
| Felület | Koncert multiprocesszor |
| Engedély | Szabadalmazott |
| Befolyásolta | |
| Lisp , Scheme | |
| Befolyásolt | |
| Gambit , Interlisp - VAX | |
MultiLisp egy funkcionális programozási nyelv , a nyelvjárás a nyelv Lisp , és annak nyelvjárás rendszer , kiegészítve konstrukciók párhuzamos számítási végrehajtás és a megosztott memóriát . Ezek a kiterjesztések mellékhatásokkal járnak , így a MultiLisp nem determinisztikus . A párhuzamos programozású kiterjesztésekkel együtt a MultiLisp rendelkezett néhány szokatlan szemétgyűjtési és feladatütemezési algoritmussal is. A sémához hasonlóan a MultiLisp-et is szimbolikus számítástechnikára optimalizálták . Néhány párhuzamos programozási nyelvtől eltérően a MultiLisp konstrukciókat épített be mellékhatások kiváltására és a párhuzamosság kifejezett bevezetésére.
Robert H. Halstead Jr. tervezte az 1980-as évek elején a 32 processzoros Concert multiprocesszoron való felhasználásra, amelyet aztán a Massachusettsi Műszaki Intézetben (MIT) fejlesztettek ki, és az Interlisp- ben valósítottak meg . Befolyásolta a Gambit és az Interlisp- VAX rendszer dialektusainak fejlődését .
PCALL és JÖVŐ
A MultiLisp párhuzamosságot ér el a PCALL makróval , ahol
(PCALL Fun A B C ...)
egyenértékű
(Fun A B C ...)
kivéve, hogy az érveket A, B, C, stb. kifejezetten párhuzamosan lehet értékelni; ez megkerüli az értékelés szokásos sorrendjét, amely szekvenciális és balról jobbra halad. Ezenkívül használ egy futures nevű párhuzamos programozási konstrukciót , amely hasonlít a villára , lusta értékeléssel kombinálva . E konstrukció használatával olyan kifejezés, mint
(cons (FUTURE A) (FUTURE B))
írható, amely átfedésben lesz az A és B kifejezések kiértékelésével, nemcsak egymással, hanem olyan számításokkal is, amelyek a hátrányos hívás eredményét használják fel, mindaddig, amíg nem hajtanak végre olyan műveletet, amelynek helyes információra van szüksége az A vagy B értékéről .
Lásd még
Hivatkozások
- Halstead, Robert H. Jr. (1985. október). Msgstr "MultiLisp: A szimbolikus számítások nyelve". ACM tranzakciók a programozási nyelvekről és rendszerekről . 7 (4): 501–538. doi : 10.1145 / 4472.4478 . S2CID 1285424 .
- Koomen, Johannes AGM (1980). Az Interlisp virtuális gép: Tanulmánya annak tervezéséről és megvalósításáról, mint Multilisp (MSc). British Columbia Egyetem.
- Bates, Raymond L.; Dyer, David; Koomen, Johannes AGM (1982. augusztus 15–18.). "Az Interlisp megvalósítása a VAX-on". LFP '82 Az 1982. évi ACM szimpózium anyagai a LISP-ről és a funkcionális programozásról . ACM szimpózium a LISP-ről és a funkcionális programozásról. Pittsburgh , Pennsylvania, Egyesült Államok. 81–87.
- Halstead, Robert H. Jr. (1984). A MultiLisp nyelv: Lisp egy multiprocesszorhoz . Konferencia az 5. generációs számítógépekről. Tokió, Japán.
- Martins, WS "A funkcionális nyelvek párhuzamos megvalósítása". A 4. Int. Workshop a funkcionális nyelvek párhuzamos megvalósításáról : 92.
- Skillicorn, David B .; Talia, Domenico (1998. június). Msgstr "Modellek és nyelvek a párhuzamos számításhoz". ACM számítási felmérések . 30. (2): 123–169. doi : 10.1145 / 280277.280278 . S2CID 9308854 .