Лісп-машина

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
машина Найта збереглася в музеї MIT

Лісп-машина є комп'ютером загального призначення, розробленим для ефективного запуску програмного забезпечення на мові програмування Lisp, зазвичай за допомогою апаратної підтримки. Вони є прикладом комп'ютерної архітектури мови високого рівня, і в певному сенсі вони були першими комерційними однокористувальницькими робочими станціями. Попри те, що їх кількість була невеликою (близько 7000 одиниць у 1988 році[1]), машини Lisp стали піонерами комерційного впровадження багатьох сучасних технологій, включаючи такі як ефективне збирання сміття, лазерний друк, віконні інтерфейси, комп'ютерні миші, растрова графіка з високою роздільною здатністю, рендеринг комп'ютерної графіки та мережеві інновації, такі як Chaosnet[en]. Декілька фірм будували і продавали Лісп-машини у 80-х роках: Symbolics[en] (3600 3640, XL1200, MacIvory та інші моделі), Lisp Machines Incorporated (LMI Lambda), Texas Instruments (TI провідник і MicroExplorer[en]) і Xerox (робочі станції Interlisp-D[en]). Операційні системи були створені за допомогою мов програмування Lisp Machine Lisp[en], Interlisp (Xerox), а пізніше частково на Common Lisp.

Історія[ред. | ред. код]

Історичний контекст[ред. | ред. код]

Symbolics 3640 Машина Lisp

Комп'ютерні програми зі штучного інтелекту (ШІ) 1960-х і 1970-х років неминуче вимагали, як вважалося на той час, величезної кількості пам'яті та потужності процесорів. Вимоги до обчислюваної потужності у дослідженнях штучного інтелекту були посилені через використання високорівневої мови програмування Lisp, на відміну від комерційного обладнання, яке було розроблено та оптимізовано для мов програмування, подібних до асемблеру та Fortran. Спершу вартість такої комп'ютерної техніки означала, що її будуть використовувати багато користувачів. Оскільки технологія інтегральних схем скоротила розмір і вартість комп'ютерів у 1960-х і на початку 1970-х років, а потреби в пам'яті програм ШІ стали перевищувати адресний простір найпоширенішого дослідницького комп'ютера, DEC PDP-10, дослідники розглянули новий підхід: комп'ютер, створений спеціально для розробки й запуску великих програм штучного інтелекту, пристосованих до семантики мови Lisp. Планувалось, що для збереження операційної системи (відносно) простою, ці машини не будуть розраховані на використання багатьма користувачами, але будуть пристосовані для персонального використання.

Початковий розвиток[ред. | ред. код]

У 1973 році Річард Грінблатт[en], Томас Найт[en] та програмісти лабораторії штучного інтелекту (AI Lab) в Массачусетському технологічному інституті (MIT), розпочали те, що стане проектом MIT Lisp Machine, коли вони вперше почали будувати комп'ютер, комплектуючи якого спеціалізовані для запуску та роботи з деякими базовими операціями Lisp замість того, щоб запускати їх у програмному забезпеченні, у 24-бітній архітектурі з тегованою пам'яттю[en]. Машина також зробила інкрементальну (або Arena) збірку сміття. Більш конкретно, оскільки змінні у мові програмування Lisp типізуються під час виконання, а не під час компіляції, просте додавання двох змінних може тривати у п'ять разів довше на звичайних апаратних засобах того часу, через інструкції тестування та розгалуження. Машини Lisp запускали тести в декілька потоків, використовуючи більш простий спосіб додання за допомогою однієї інструкції. Якщо тести після виконання паралельно провалювались, тоді результат відкидався і перераховувався; це в багатьох випадках означало збільшення швидкості на декілька порядків. Цей підхід синхронної перевірки був використаний також для тестування меж масивів, на які посилаються, та інших потреб управління пам'яттю (а не просто збору сміття або масивів).

Перевірка типу була додатково вдосконалена й автоматизована, коли звичайне байтове слово у 32-біт було подовжено до 36-бітних для машин Lisp Symbolics[en] 3600-model[2] і, зрештою, до 40-бітних або більше (зазвичай, для кодів, що виправляють помилки використовувалися надлишкові біти). Першу групу додаткових бітів використовували для зберігання даних типу, роблячи пам'ять машини тегованою[en], а інші біти використовували для реалізації CDR кодування[en] (в якому звичайні елементи зв'язаного списку стискаються, щоб зайняти приблизно половину простору), допомагаючи у збиранні сміття повідомленням величин. Подальшим поліпшенням були дві інструкції мікрокоду, які спеціально підтримували функції Lisp, зменшуючи вартість виклику функції до 20 тактових циклів, в деяких реалізаціях Symbolics.

Першу машину називали машиною CONS (названу на честь оператора конструктора списку cons в Lisp). Часто його називають машиною Найта, можливо, з того моменту, як Найт[en] написав дисертацію на цю тему; вона була надзвичайно добре прийнята. Надалі вона була вдосконалена у версію, яка називається CADR[en], яка була заснована на по суті тій самий архітектурі. Близько 25 прототипів CADR, було продано в межах і поза MIT за ~ 50 000 $; вона швидко стала улюбленою машиною для гакінгу — багато з найбільш відомих програмних засобів були швидко перенесені на нього (наприклад, Emacs був перенесений з ITS в 1975 році). Це було добре сприйнято на конференції ШІ, яка відбулася в МІТ в 1978 році, і «Агентство оборонних наукових проектів» (DARPA) почало фінансувати цю розробку.

Комерціалізація технології MIT Lisp[ред. | ред. код]

У 1979 році Рассел Нофцкер[en], переконаний, що машини Lisp мають яскраве комерційне майбутнє завдяки силі мови Lisp і апаратного прискорення, запропонував Грінблатту комерціалізували технологію. Несподівано для хакера AI Lab, Грінблатт погодився, сподіваючись, що він зможе відтворити неформальну і продуктивну атмосферу лабораторії в реальному бізнесі. Ці ідеї та цілі значно відрізнялися від ідей Нофцкера. Обидві вони довго обговорювати умови, але ніхто не йшов на компроміс. Оскільки новий бізнес міг досягти успіху лише за допомогою повної і неподільної допомоги хакерів AI Lab як команди, Нофцкер і Грінблатт вирішили, що доля підприємства залежить від них, і тому вибір повинен бути залишений хакерам.

Наступні обговорення поділили лабораторію на дві фракції. У лютому 1979 року настав момент, коли щось потрібно було вирішувати. Хакери встали на бік Нофцкера, вважаючи, що комерційна фірма, що підтримує комерційні фонди, має більше шансів вижити й комерціалізувати машини Lisp, ніж запропонований Грінблаттом самостійний стартап. Грінблатт програв битву.

Саме на цьому етапі Symbolics[en], підприємство Нофцкера, повільно формувалося. Хоча Нофцкер платив своїм співробітникам заробітну плату, в нього не було будівлі або будь-якого обладнання для роботи хакерів. Він торгувався з Патріком Вінстоном, що, в обмін на те, щоб дозволити працівникам Symbolics продовжувати працювати у MIT, Symbolics дозволить MIT використовувати внутрішньо і вільно всі розроблені Symbolics програми. Консультант з CDC, який намагався розробити комп'ютерну програму для природної мови з групою програмістів із Західного узбережжя, прийшов до Грінблатту, шукаючи машину Lisp, з якою працювала його група, приблизно через вісім місяців після катастрофічної наради з Нофцкером. Грінблатт вирішив заснувати власну фірму конкурента Lisp, але нічого не вийшло. Консультант, Олександр Джейкобсон, вирішив, що єдиний спосіб, яким Грінблатт запустить фірму і побудує машину Lisp, яку Джейкобсон відчайдушно потребував — це, якщо Якобсон підштовхне і допоможе Грінблатту запустити фірму. Якобсон розробив бізнес-плани, знайшов фінансування та партнера для Грінблатта (один Ф. Стівен Вайл). Нова фірма отримала назву LISP Machine, Inc. (LMI) і фінансувалася за допомогою замовлень CDC через Джейкобсона.

Приблизно в цей час почала діяти Symbolics (фірма Нофцкера). Це заважало обіцянню Нофцкера дати Грінблатту фору у розмірі одного року, а також серйозними затримками у залученні венчурного капіталу. Symbolics все ще мала головну перевагу, коли 3 або 4 хакери AI Lab перейшли на роботу до Грінблатта, 14 інших хакерів підписали контракт з Symbolics. Два працівники лабораторії ШІ не були найняті ніким: Річард Столмен і Марвін Мінскі. Столмен, однак, звинувачував Symbolics в занепаді хакерської спільноти, яка була зосереджена навколо лабораторії ШІ. Протягом двох років, з 1982 по кінець 1983 року, Столмен сам працював, щоб скопіювати дії програмістів Symbolics, з метою запобігти їхній монополії на комп'ютери для лабораторій.[3]

Всупереч цьому, після серії внутрішніх битв, Symbolics стартувало у 1980/1981, продаючи CADR як LM-2, в той час як Lisp Machines[en], Inc. продала його як LMI-CADR. Symbolics не мала наміру виробляти багато LM-2, оскільки 3600 серія машин Lisp повинна була продаватися швидко, але 3600 серія неодноразово затримувалася, і Symbolics закінчило виробництво ~ 100 LM-2, кожен з яких продавався за $ 70,000. Обидві фірми розробили продукти другого покоління на основі CADR: Symbolics 3600 і LMI-LAMBDA (з яких LMI вдалося продати ~ 200). 3600, що поставляється через рік пізніше, з розширеним CADR, розширюючи машинне слово до 36-біт та адресний простір до 28-біт,[4] і додавання апаратних засобів для прискорення деяких загальних функцій, які були реалізовані в мікрокоді на CADR. LMI-LAMBDA, який вийшов через рік після 3600 у 1983 році, був сумісний з CADR (він міг працювати з мікрокодом CADR), але існували відмінності в обладнанні. Texas Instruments (TI) приєднався до боротьби, коли він ліцензував дизайн LMI-LAMBDA і виготовив свій власний варіант TI Explorer[en]. Деякі LMI-LAMBDA та TI Explorer були подвійними системами як з процесором Lisp, так і з Unix. TI також розробив 32-бітну мікропроцесорну версію свого процесора Lisp для TI Explorer. Цей чип Lisp також був використаний для MicroExplorer — плати NuBus для Apple Macintosh II[en] (NuBus спочатку розроблявся в MIT для використання в машинах Lisp).

Symbolics продовжувала розвивати сімейство 3600 і її операційну систему, Genera[en], і виробляла Ivory, VLSI реалізацію архітектури Symbolics. З 1987 року було розроблено декілька машин на основі процесора Ivory: плати для Suns і Mac, автономні робочі станції й навіть вбудовані системи (I-Machine Custom LSI, 32-розрядна адреса, Symbolics XL-400, UX-400, MacIvory II). у 1989 році доступними були платформи Symbolics XL-1200, MacIvory III, UX-1200, Zora, NXP1000 «Коробка для піци»). Texas Instruments воплотив Explorer в кремній, як MicroExplorer, який був запропонований як картка для Apple Macintosh II[en]. LMI відмовився від архітектури CADR і розробив власний K-Machine,[5] але LMI збанкрутувала до того, як машина була виведена на ринок. Перед його загибеллю LMI працювала над розподіленою системою для LAMBDA, використовуючи простір Moby.[6]

Ці машини мали апаратну підтримку для різних примітивних операцій Lisp (тестування типів даних, CDR кодування[en]), а також апаратну підтримку інкрементного збору сміття. Вони дуже ефективно керували великими програмами Lisp. Машина Symbolics була конкурентоспроможна проти багатьох комерційних супер мінікомп'ютерів, але ніколи не була адаптована для звичайних цілей. Машини Symbolics Lisp також продавалися на деяких ринках, які не належать до ШІ, таких як комп'ютерна графіка, моделювання та анімація.

Лісп-машини, отримані від MIT, керувалися діалектом Lisp з іменем Lisp Machine Lisp[en], що походить від Maclisp[en] MIT. Операційні системи були написані з нуля в Lisp, часто використовуючи об'єктно-орієнтовані розширення. Пізніше ці машини Lisp також підтримували різні версії Common Lisp (зі Flavors[en], New Flavors[en] та Common Lisp Object System(CLOS)).

Interlisp, BBN і Xerox[ред. | ред. код]

Bolt, Beranek and Newman[en] (BBN) розробили власну машину Lisp, названу Jericho,[7] яка керувала однією з версій Interlisp[en]. Машина ніколи не продавалася. Розчарована група ШІ пішла у відставку, і була найнята здебільшого Xerox. Таким чином, Xerox Palo Alto Research Center, одночасно з власними розробками Грінблатта в MIT, розробив власні машини Lisp, які були використані для роботи InterLisp (і пізніше Common Lisp). Таке ж саме обладнання використовувалося з різним програмним забезпеченням, також як машини Smalltalk та офісної системи Xerox Star. Вони включали Xerox 1100, Dolphin (1979); Xerox 1132, Dorado ; Xerox 1108, Dandelion (1981); Xerox 1109, Dandetiger; і Xerox 1186/6085[en], Daybreak. Операційна система машин Xerox Lisp також перенесена на віртуальну машину і доступна для декількох платформ як продукт Medley. Машина Xerox була добре відома своїм передовим середовищем розробки (InterLisp-D), менеджером вікон ROOMS, її раннім графічним інтерфейсом та новими додатками, наприклад, NoteCards[en] (одним з перших гіпертекстових додатків).

Xerox також працював на машині Lisp, заснованої на обчисленнях зі скороченим набором команд (RISC), використовуючи процесор Xerox Common Lisp Processor і планував вивести його на ринок у 1987 році,[8] але ці плани не здійснились.

Integrated Inference Machines[ред. | ред. код]

У середині 1980-х років компанія Integrated Inference Machines (IIM) побудували прототипи машин Lisp під назвою Inferstar.[9]

Розробки машин Lisp за межами США[ред. | ред. код]

У 1984—1985 роках британська фірма «Racal-Norsk», спільна дочірня компанія Racal[en] і Norsk Data[en], спробувала перепрофілювати ND-500[en] виробництва Norsk Data як мікрокодовану Lisp-машину, що використовує програмне забезпечення CADR: Система обробки знань (KPS).[10]

Було кілька спроб японських виробників вийти на ринок машин Lisp: Fujitsu розробила мейнфреймний сопроцесор Facom-alpha[11], NTT процесор Elis,[12][13] Toshiba процесор AI (AIP)[14] і NEC — LIME.[15] Кілька наукових досліджень в університетах дозволили створити робочі прототипи, серед яких TAKITAC-7 в університеті Кобе,[16] FLATS RIKEN,[17] і EVLIS в університеті у Осаці.[18]

У Франції було два проекти по створенню Лісп-машин: машина M3L[19] в Тулузькому університеті Пола Сабатьє, а потім MAIA.[20]

У Німеччині Siemens розробив RISC-сумісний процесор COLIBRI.[21][22][23][24]

Кінець машин Lisp[ред. | ред. код]

З настанням зими ШІ і на початку революції мікрокомп'ютерів[en], які замінили б міні-комп'ютери і виробників робочих станцій, дешевші настільні ПК невдовзі змогли запускати Lisp-програми ще швидше, ніж Lisp-машини, без використання спеціального обладнання. Таким чином, їх велика прибутковість за рахунок апаратного бізнесу, була ліквідована. Більшість виробників машин Lisp вийшли з бізнесу на початку 90-х, залишивши лише фірми на основі програмного забезпечення, такі як Lucid Inc.[en] або виробників обладнання, які перейшли на програмне забезпечення та послуги, щоб уникнути банкрутства. Станом на січень 2015 року, крім Xerox, Symbolics[en] — це єдина фірма Lisp, яка все ще працює, продаючи програмне середовище Open Genera[en] для Лісп-машин і систему комп'ютерної алгебри Macsyma[en].[25][26]

Спадщина[ред. | ред. код]

Було зроблено кілька спроб написання емуляторів з відкритим кодом для різних машин Lisp: Емуляція CADR,[27] Symbolics L Емуляція машини Lisp,[28] Проект E3 (Емуляція TI Explorer II),[29] Meroko (TI Explorer I),[30] і Невермор (ТІ Експлорер I).[31] На 3 жовтня 2005 року MIT випустила вихідний код CADR Lisp Machine, як відкритий вихідний код.[32]

У вересні 2014 року Олександр Бургер, розробник PicoLisp[en], оголосив PilMCU, як реалізацію PicoLisp в апаратному забезпеченні.[33]

Архів документів PDF у Бітвери[34] містить PDF-версії великої документації для машин Symbolics Lisp,[35] TI Explorer[36] та MicroExplorer[37] Машини Lisp і машини Xerox Interlisp-D Lisp.[38]

Програми[ред. | ред. код]

Галузі, що використовують машини Lisp, були в основному програми з використанням штучного інтелекту, проти їх також використовували у комп'ютерній графіці, обробці медичних зображень та багатьох інших.

Основні комерційні експертні системи 80-х років, які були доступні: середовище інженерних знань Intellicorp (KEE), знання Craft, від Carnegie Group Inc., та ART (Automated Reasoning Tool) від корпорації Inference.[39]

Технічний огляд[ред. | ред. код]

Спочатку машини Lisp були розроблені як особисті робочі станції для розробки програмного забезпечення в Lisp. Вони використовувалися однією людиною і не пропонували багатокористувальницького режиму. Машини мали великий чорно-білий растровий дисплей, клавіатуру і мишу, мережевий адаптер, локальні жорсткі диски, більше ніж 1 Мб оперативної пам'яті, послідовний інтерфейс і локальну шину для плат розширення. Кольорові відеокарти, стрічкові накопичувачі та лазерні принтери були додатковими.

Процесор не запускав Lisp безпосередньо, а був стек машиною[en] з інструкціями, оптимізованими для компіляції Lisp. Перші машини Lisp використовували мікрокод для забезпечення набору команд. Для декількох операцій перевірка типів і диспетчеризація виконувалася в апаратному режимі під час виконання. Наприклад, можна використовувати тільки одну операцію додавання з різними числовими типами (цілочисельні, рухомі, раціональні та комплексні числа). Результатом було дуже компактне складання представлення коду Lisp.

Наступний приклад використовує функцію, яка підраховує кількість елементів списку, для яких повертається предикат true.

(defun example-count (predicate list)
  (let ((count 0))
    (dolist (i list count)
      (when (funcall predicate i)
        (incf count)))))

Розібраний машинний код для вищезгаданої функції (для мікропроцесора Ivory від Symbolics):

Command: (disassemble (compile #'example-count))

  0  ENTRY: 2 REQUIRED, 0 OPTIONAL      ;Створення PREDICATE and LIST
  2  PUSH 0                             ;Створення COUNT
  3  PUSH FP|3                          ;LIST
  4  PUSH NIL                           ;Створення I
  5  BRANCH 15
  6  SET-TO-CDR-PUSH-CAR FP|5
  7  SET-SP-TO-ADDRESS-SAVE-TOS SP|-1
 10  START-CALL FP|2                    ;PREDICATE
 11  PUSH FP|6                          ;I
 12  FINISH-CALL-1-VALUE
 13  BRANCH-FALSE 15
 14  INCREMENT FP|4                     ;COUNT
 15  ENDP FP|5
 16  BRANCH-FALSE 6
 17  SET-SP-TO-ADDRESS SP|-2
 20  RETURN-SINGLE-STACK

Операційна система використовувала віртуальну пам'ять для забезпечення великого адресного простору. Керування пам'яттю здійснювалося зі збором сміття. Весь код має спільний простір адрес. Всі об'єкти даних зберігалися з тегом в пам'яті, так що тип може бути визначений під час виконання. Підтримували й називали процесами декілька потоків виконання. Всі процеси проходили в одному адресному просторі.

Все програмне забезпечення операційної системи було написано в Lisp. Xerox використовував Interlisp. Symbolics, LMI й TI використовували Lisp Machine Lisp (нащадок MacLisp). З появою Common Lisp, Common Lisp підтримувався на машинах Lisp, а деякі системні програми були перенесені на Common Lisp або пізніше написані в Common Lisp.

Деякі пізніші машини Lisp (такі як TI MicroExplorer, Symbolics MacIvory або Symbolics UX400 / 1200) тепер були не робочі станції, а плати, призначені для вбудовування в комп'ютери: Apple Macintosh II і SUN 3 або 4.

Деякі машини Lisp, такі як Symbolics XL1200, мали широкі графічні можливості з використанням спеціальних графічних плат. Ці машини використовувалися в таких областях, як обробка медичних зображень, 3D-анімація та CAD.

Див. також[ред. | ред. код]

  • ICAD[en] — приклад інженерного програмного забезпечення на основі знань, спочатку розробленого на машині Lisp, що було достатньо корисним для перенесення за допомогою Common Lisp до Unix
  • Сирітська технологія[en]

Примітки[ред. | ред. код]

  1. Newquist, HP. Brain Makers , Sams Publishing, 1994. ISBN  0-672-30412-0 .
  2. Місяць, Девід А. "Архітектура символіки 3600" . Portal.acm.org. doi : 10.1145 / 327070.327133 . Отримано 12 листопада 2011 року .
  3. Леві, S: Хакери . Пінгвін США, 1984
  4. Місяць 1985
  5. K-машина
  6. Заявка на патент Мобі 4779191
  7. "Обчислювальні засоби для штучного інтелекту: огляд існуючих та найближчих варіантів". Журнал ШІ. 2 (1). 1981.
  8. "Конференція AAAI-86: нові напрямки для комерційного штучного інтелекту, реалізація машин VLSSLIS з машиною". Журнал ШІ . 8 (1). 1987.
  9. The AAAI-86 Conference Exhibits: New Directions for Commercial AI, A New Lisp Machine Vendor, AI Magazine, 8 (1), 1987, архів оригіналу за 19 вересня 2020, процитовано 12 листопада 2011
  10. "Комп'ютерна алгебра в Норвегії, Racal-Norsk KPS-5 і KPS-10 багатокористувацькі машини Lisp". Спрингер посилання. Отримано 12 листопада 2011 року.
  11. "Facom Alpha". Музей комп'ютерів. IPSJ. Отримано 12 листопада 2011 року.
  12. "NTT ELIS". Музей комп'ютерів. IPSJ. 9 вересня 1983 року . Отримано 12 листопада 2011 року .
  13. "32-розрядний процесор LISP для робочої станції Al ELIS з мовою парадигми декількох програм, TAO". NII. 25 серпня 1990 року . Отримано 12 листопада 2011 року .
  14. «Архітектура чипу процесора AI (IP1704)». NII. 25 серпня 1990 року. Отримано 12 листопада 2011 року.
  15. "Машина NEC LIME Lisp". Музей комп'ютерів. IPSJ. Отримано 12 листопада 2011 року.
  16. "Машина університету Кобе". Музей комп'ютерів. IPSJ. 10 лютого 1979 року . Отримано 12 листопада 2011 року.
  17. "Комп'ютерний обчислювальний комплекс RIKEN FLATS". Музей комп'ютерів. IPSJ . Отримано 12 листопада 2011 року.
  18. "Машина EVLIS". Музей комп'ютерів. IPSJ. Отримано 12 листопада 2011 року .
  19. "M3L, A Lisp-машина". Limsi. Отримано 12 листопада 2011 року.
  20. "MAIA, Машина для штучного інтелекту". Limsi. Отримано 12 листопада 2011 року.
  21. Hafer, Christian; Plankl, Josef; Schmidt, Franz Josef (1991), «COLIBRI: сопроцесор для LISP на основі RISC», VLSI для штучного інтелекту та нейронних мереж , Бостон, Массачусетс: Springer
  22. Müller-Schloer (1988), «Bewertung der RISC-Methodik am Beispiel COLIBRI», в Bode, A (ed.), RISC-Architekturen [ Risc архітектура ] (німецькою мовою), BI
  23. Hafer, Christian; Plankl, Josef; Schmitt, FJ (7–9 березня 1990), «COLIBRI: Ein RISC-LISP-System» [Colibri: система RISC, Lisp], Architektur von Rechensystemen, Tagungsband (німецькою мовою), Мюнхен, DE : 11. ITG / GI -Fachtagung
  24. Легутко, християнин; Schäfer, Eberhard; Tappe, Jürgen (9-11 березня 1988), «Die Befehlspipeline дез Colibri-система» [Інструкція трубопровід системи Colibri], Architektur унд Betrieb фон Rechensystemen, Tagungsband (німецькою мовою), Падерборн, DE : 10. ITG / GI -Fachtagung
  25. «symbolics.txt». Архів оригіналу за 23 квітня 2021. Процитовано 2 травня 2019.
  26. «Дещо я знаю про LISP Machines». Архів оригіналу за 27 серпня 2021. Процитовано 2 травня 2019.
  27. "Емуляція CADR" . Unlambda . Отримано 12 листопада 2011 року .
  28. "Символіка емуляції машини Lisp" . Unlambda. 28 травня 2004 року . Отримано 12 листопада 2011 року .
  29. "Проект E3, емуляція TI Explorer II" . Unlambda . Отримано 12 листопада 2011 року .
  30. "Емулятор Meroko (TI Explorer I)" . Unlambda . Отримано 12 листопада 2011 року .
  31. «Nevermore Emulator (TI Explorer I)» [Архівовано 13 вересня 2021 у Wayback Machine.]. Unlambda. Отримано 12 листопада 2011 року .
  32. "Вихідний код машини MIT CADR Lisp" . Heeltoe . Отримано 12 листопада 2011 року .
  33. «Анонс: PicoLisp в апаратному забезпеченні (PilMCU)» . Архів оригіналу за 8 грудня 2018. Процитовано 2 травня 2019.
  34. «Архів документів PDF» [Архівовано 12 березня 2010 у Wayback Machine.] . Бітварів . Отримано 12 листопада 2011 року .
  35. "Символіка документації" . Бітварів . Отримано 12 листопада 2011 року
  36. "Документація TI Explorer". Бітварів. 15 травня 2003 року . Отримано 12 листопада 2011 року .
  37. "Документація TI MicroExplorer". Бітварів. 9 вересня 2003 року. Отримано 12 листопада 2011 року .
  38. "Документація Xerox Interlisp". Бітварів. 24 березня 2004 року. Отримано 12 листопада 2011 року .
  39. Ріхтер, Марк: Інструменти та методики ІІ . Ablex Publishing Corporation США, 1988, Розділ 3, Оцінка інструментів розробки експертної системи

Посилання[ред. | ред. код]