Home Lisp //

Архив за February, 2010

Главная

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

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

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

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

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

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

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

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

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

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

Авторские права на программный продукт и прилагаемую документацию принадлежат разработчику – Файфелю Борису Леонидовичу

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

Среду разработки (IDE), содержащую ядро языка, текстовый редактор, конструктор диалогов (экранный дизайнер), построитель EXE-файлов и скромные средства отладки;

COM-библиотеку, позволяющую вызывать Лисп из любой программной среды, поддерживающей COM-автоматизацию (например, из Microsoft Excel), а также два скриптовых «движка», позволяющих писать скрипты на языке Лисп;

WEB-компоненту для работы на WEB-сервере IIS, позволяющую построить учебный класс для изучения Лиспа (при этом WEB-компонента инсталлируется только на сервере).

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

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

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

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

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

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

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

Скачать HomeLisp 1.11.1