Как стать автором
Обновить

HomeLisp

Время на прочтение3 мин
Количество просмотров8.4K
Недавно мой отец закончил разработку своей реализации языка LISP под Windows. Проект называется HomeLisp. Для того, чтобы проект был доступен любителям LISP-а был создан простейший сайт, куда будут выкладываться обновления, документация и где отец будет отвечать на вопросы пользователей. Собственно передаю ему слово.

HomeLisp – простой, свободно распространяемый Лисп на платформе Windows!


Среди языков программирования, разработанных к настоящему времени, имеется один совершенно уникальный. Это язык Лисп.

Идея, лежащая в основе Лиспа, чрезвычайно красива: все конструкции языка (программы и данные) представляются с помощью единой универсальной структуры – списка. Методология программирования на Лиспе в корне отличается от методологии программирования на традиционных языках (типа Си или Паскаля).

Лисп-программист не разбивает алгоритм на отдельные элементарные шаги, не использует циклы, ветвления, присвоения значений переменным, а строит функцию, решающую поставленную задачу. При этом структура функции почти дословно соответствует математической формулировке решаемой задачи.
Подобная методология сейчас называется функциональным программированием. Лисп – первый функциональный язык программирования и, вероятно, первый язык, который явно приветствовал использование рекурсии.

Языки, появившиеся после Лиспа, превзошли Лисп по изобразительным возможностям… но по соотношению «сила/простота» рекорд Лиспа не побит до сих пор!

Лисп – абсолютно не попсовый, элитарный язык программирования. И не удивительно, что хотя с момента его изобретения Дж. МакКарти прошло уже более 50 лет, Лисп жив по сей день! Далеко не каждому языку суждена столь долгая жизнь, – где сейчас Алгол-60 (которому пророчили большое будущее)? А по Лиспу издаются книги (к сожалению, не на русском языке…); появляются новые и новые реализации Лиспа на разных аппаратных платформах.

Одну из таких простых реализаций Лиспа и предлагает автор этих строк.


HomeLisp (домашний Лисп) – это 32-х битная реализация Лиспа в среде Windows.За основу была взята реализация Лиспа, описанная в книге С.С. Лавров, Г.С. Силагадзе «Автоматическая обработка данных. Язык Лисп и его реализация» М. 1978

HomeLisp является свободно распространяемым программым обеспечением (FreeWare). Допускается свободное копирование как программного обеспечения, так и документации. Изменение программного кода компонентов HomeLisp не допускается. Цитирование документации допускается только с указанием автора.

Авторские права на программный продукт и прилагаемую документацию принадлежат разработчику – Файфелю Борису Леонидовичу. E-mail для связи catstail@narod.ru.

HomeLisp включает в себя следующие независимые компоненты:


1.Среду разработки (IDE), содержащую ядро языка, текстовый редактор, конструктор диалогов (экранный дизайнер), построитель EXE-файлов и скромные средства отладки;
2.COM-библиотеку, позволяющую вызывать Лисп из любой программной среды, поддерживающей COM-автоматизацию (например, из Microsoft Excel), а также два скриптовых «движка», позволяющих писать скрипты на языке Лисп;
3.WEB-компоненту для работы на WEB-сервере IIS, позволяющую построить учебный класс для изучения Лиспа (при этом WEB-компонента инсталлируется только на сервере).

HomeLisp обрабатывает следующие типы данных:


1.целые числа практически неограниченной разрядности;
2.стандартные числа с плавающей точкой;
3.битовые шкалы;
4.строки.

HomeLisp поддерживает функции пользователя трех видов:


1.обычные функции Лиспа (вычисляющие значения аргументов);
2.специальные функции (не вычисляющие значения аргументов);
3.макросы.

К числу объектов, встроенных в ядро HomeLisp относятся:


1.COM-объекты, позволяющие вызывать из среды Лиспа объекты, поддерживающие COM-автоматизацию;
2.Файлы и BLOB-объекты (большие двоичные объекты), позволяющие обрабатывать произвольную двоичную информацию;
3.Графические окна, позволяющие использовать простую графику;
4.Диалоги, позволяющие строить программы с графическим пользовательским интерфейсом;

HomeLisp снабжен подробной документацией, содержащей не только описание всех функций, описание языка “с нуля”, а также приемов программирования на Лиспе (что может оказаться полезным для тех, кто впервые знакомится с языком). Имеется список литературы на руccком языке, включающий и ряд Интернет-ресурсов, посвященных Лиспу.

Скачать HomeLisp

Несколько скринов






Теги:
Хабы:
Всего голосов 63: ↑48 и ↓15+33
Комментарии261

Публикации