Я с ним в 1999 году ковырялся в связи с тем, что Олдман прислал мне это самое нечто для Спектрума, о котором Вы спрашивали и в связи с тем, что писал методичку по курсу ИИ для питерского Кулька.
А по поводу происхождения - это самое вероятное, что тот кто портировал с BBC на Sinclair QL сделал то же самое и для ZX Spectrum.
К сожалению описания (электронной версии) этого релиза у меня нет. Пути решения проблемы три (как в сказках):
1) забейте на эту версию, хотя если раскопаете памятник Вам обеспечен;
2) найдите исходники ( только не лисп на лиспе ) и портируйте заново...что сделал один, почему бы не повторить другому;
3) чтоб наиграться возьмите доступные писишные лиспы с доками типа xlisp http://www.mv.com/ipusers/xlisper/
Вот еще классный ресурс
http://bookview.nm.ru/xlisp.html
Кое-что из книжки П.Уинстон "ИИ" , М. Мир 1980
Данные и программы в ЛИСПе состоят из s-выражений.
(PLUS 3.14 2.71)
5.85
Примеры того же рода ( и уровня сложности):
(MAX 2 4 3)
4
(MIN 2 4 3)
2
(TIMES 9 3)
27
(SQRT 4)
2
И SQRT, и 4 суть атомы, а (SQRT 4) - это список. И атомы, и списки суть s-выражения.
Нажатие на Enter после правой закрывающей скобки, заставляет интерпретатор лиспа вычислять s-выражение. Результат м.б. числом или T (true) или NIL. s-выражения м.б. вложенными и очень сложными. Как и в большинстве других языков есть встроенные функции и программист может определять через них свои собственные.
Функции у которых значение м.б. T или NIL называются предикатами.
Прерывать вычисление (оценивание s-выражения пользователь может с помощью ' )
CAR - возвращает первый элемент списка:
(CAR '(A B C))
A
CDR - возвращает то, что остается после удаления первого элемента списка:
(CDR '( A B C))
(B C)
Последний раз редактировалось andrews; 16.05.2007 в 21:26.
При попытке запустиь этот Липс он что-то написал и вывалился в Бейсикчерез "черный квадрат малевича." Битая версия?
Если хочется игр на Лиспе, то я встречал одну:
http://common-lisp.net/project/lifp/sewers.htm
Там на том сайте ещё должны быть, наверное.
Может, кому будет интересно. Видел в сети сайт-портал написанный на лиспе
http://lidia.iis.nsk.su/cgi-bin/anim....lsp?r=272&n=0
тем кто до сих пор верит что лисп - несерьёзный язык:
http://en.wikipedia.org/wiki/Lisp_machine
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
О LISP
Легендарная компания Naugtydog Использовала LISP для создания серии игр Jack & Daxter
На сколько я помню, они использовали AllegroCL на котором был написан GOAL который тоже является диалектом LISP. В интернете очень много информации по этой теме.
Более того, последния серия игр этой же компании Uncharted также написана с использованием скрипт языка с как минимум LISP образным синтаксисом.
LISP использовался в играх не только этой компанией, были и другие практические применения LISP, взять хотя бы Autocad.
Но если говорить о Naugtydog... Могли бы они сделать эти игры без LISP? Да, могли. Но я привожу их как блестящий пример успешного исользования этого языка в современных играх. Дабы опровергнуть миф о том, что LISP: старый, медленный, ни кем не используется, имеет ограниченные области применения.
Язык LISP, а также его младший брат Scheme, языки вериколепные и прекрасно подходят для любых задач, и даже написания операционных систем. Производительность прграмм написанных на компиляторе LISP не многим уступает (а в некоторых случаях и превосходит) программам написанным на C,C++.
Прогаммирование ИИ возможно на любом языке. Программирование ИИ не многим отличается от от программирования любых других алгоритмов.
Я люблю LSIP за:
- S-Expressions Великолепный простой синтаксис, в котором описание данных эквивалентно кодированияю программ, и то и другое представленно в виде s-expression. По сути исходный код он и есть структура данных. Что позволяет этому языку иметь практически безграничную систему макросов. Компилятор LISP, в момент компиляции кода, исполняет некоторые выражения. А именно делает макроопределения, и их вызов. Результатом вызова макроопределения является новое s-expression выражение, в котором возможно имеются другие макровызовы. Компилятор продолжает выполнять все эти вызовы пока в выражении не исчезнут макровызовы. Это выражение и будет компилированно в машинный код.
- Continuations Это возможность функции прервать свое выполнение а затем продолжить
- Proper tail recursion Это когда рекурсивная функция не требует нового фрагмента в стеке.
Следующий лист хотя и присутсвует во многих языках, в LISP он имеет очень качественную реализацию, не хуже а во многих случаях лучше чем у конкурента.
- First class functions
- CLOS Система обьектноориентированного программирования
- Exceptions Система исключительных ситуаций
На мой вгляд проблема распространненности LISP в том, слишком мало вакансий на LISP. Но тоже самое можно сказать и о SmallTalk, Haskell и другим.
Если вы хотите бегло ознакомиться с ключевыми преимуществами LISP воспользуйтесь книжкой (буклетом) Land of Lisp: Learn to Program in Lisp, One Game at a Time!
Если вы хотите изучить LISP для его использования рекомендую (было издание на русском) ANSI Common LISP
Есть еще Practical Common LISP
Последний раз редактировалось Sherlock; 06.10.2017 в 13:38.
ещё lisp часто упоминают всвязи с игрой Abuse
"Abuse (1995) считалась довольно популярной 2d стрелялкой для своего времени. Но, что особенно интересно, на деле это была не просто игра, а настоящий конструктор. Конечно же, там был редактор уровней, но не только он один. Джонатан Кларк, разрабочик Abuse, сильно увлекался языком Лисп, и в результате вся высокоуровневая логика игры была написана на этом языке (диалект Common Lisp). Более того, исходный Лисп-код распространялся вместе с Abuse и допускалась возможность модификации игры пользователем, благодаря встроенному интерпретатору. Надо сказать, код на Лиспе смотрится довольно органично, особенно в описании поведения врагов, чего, собственно, и стоило ожидать от классического языка для задач ИИ. Запустив Abuse с ключем "-lsf" и именем пользовательского скрипта, получаем уже свою собственную игру. К сожалению, мне неизвестно о существовании производных от Abuse разработок, кроме, собственно, авторского примера Pong в дистрибутиве. Кстати, игровой движок Abuse был написан всего за 4 месяца."
ну и (как было сказано выше)
" Компания Naughty Dog создавала достаточно успешные игры для PlayStation с использованием Лисп-подобного языка, такие как Crash Bandicoot (1996) и Jak and Daxter: The Precursor Legacy (2001).
Вот это некрофилия
Интересная страничка с анимациями Serious Software SpecLisp for Sinclair ZX Spectrum
Судя по всему имплементация LISP на ZX Spectrum уже существовала в 1983 году. Мы еще в школе учились, и увидели первый калькулятор.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)