Возможности BEE Lisp

Компиляция автономных EXE файлов

BEE Lisp позволяет создавать автономные EXE файлы, не требующие для своего исполнения интерпретатора.

BEE Lisp, в отличии от других Lisp-систем, позволяет разработчику строить автономные исполняемые модули, благодаря чему отпадает необходимость поставлять вместе с программным продуктом сам компилятор – это выгодно отличает BEE Lisp от ряда аналогов.

Компилятор позволяет строить как EXE, так и DLL модули. Последние можно использовать совместно с программами, написанными на других языках программирования. Язык Lisp довольно сложен для компиляции, в силу особенностей синтаксиса, однако нам удалось найти технические решения, позволившие сохранить все традиционные особенности Lisp, выгодно отличающие его (динамичность, полиморфность) от императивных языков, и построить надежный компилятор.

Таким образом, Вы получаете мощь языка Lisp и автономность программ, характерную для императивных языков, а так же сможете использовать возможности операционной системы.

Взаимодействие с API Windows из BEE Lisp приложений

BEE Lisp приложения могут вызывать любые API функции операционной системы, это позволяет создавать приложения любой сложности, включая GUI приложения, с оконными процедурами, написанными целиком на Lisp. А так же приложения, использующие операции с файлами, объектами синхронизации, многопоточные приложения и другие.

Большинство Lisp-систем поставляются с большим количеством библиотек, часто пугающих пользователей своей «монструозностью» и неповоротливостью. Новичков в Lisp такое положение часто отпугивает – «сколько всего нужно еще изучить!», думают они. Однако зачем поставлять библиотеки вместе с компилятором, если вся необходимая функциональность есть в операционной системе?

Поэтому BEE Lisp содержит в себе простой механизм взаимодействия непосредственно с функциями операционной системы. Используйте привычные возможности API Windows в ваших Lisp программах, вместо изучения большого количества «новых» библиотек, дублирующих его.

Программисты С++ в особенности оценят это достоинство – именно им чаще всего приходится использовать Windows API. Благодаря этому механизму Вы получаете привычный для вас доступ к механизмам работы с файлами, можете писать оконные, сетевые (только коммерческая версия) и другие приложения.

Ничто не мешает вам так же использовать в Lisp-программе динамически подгружаемые библиотеки, которые вы разработали на других языках – не нужно переписывать ту функциональность, которую Вы когда то уже писали – просто используйте ваш старый код прямо из BEE Lisp.

Взаимодействие с DLL библиотеками из BEE Lisp приложений и наоборот

BEE Lisp приложения могут использовать DLL библиотеки, скомпилированные любым компилятором. Таким образом, вы можете использовать SDK, созданные для С++, Delphi, Java, C#, Python и других языков.


Возможность создания DLL библиотек на BEE Lisp

BEE Lisp позволяет создавать DLL библиотеки, которые затем могут быть использованы программами, написанными, как на самом BEE Lisp так и на других языках, таких как С++, Java, C#, Python или Delphi.

У вас есть разработка на С++, C# , Delphi и прочих языках? Вы хотите добавить в нее функционал, который проще всего написать именно на Lisp?

Дерзайте! Пишите функционал на Lisp и используйте его из вашей программы. Стройте динамически подгружаемые библиотеки на Lisp и используйте их в ваших приложениях. Если часть программы удобнее написать на C++ (C#, Java, Python или Delphi), а часть на Lisp – не нужно писать ее целиком на Lisp. Пишите на Lisp ту часть, которую удобнее написать именно на Lisp. Смешивайте языки разработки в удобных для Вас комбинациях – BEE Lisp создан для этого!

Расширяемость

Благодаря COM-архитектуре, любой компонент компилятора может быть заменен – например, ничто не мешает Вам заменить лексический анализатор Lisp на свой собственный, адаптировав компилятор, например, под свой национальный язык.

Кроме того, Вы можете программно взаимодействовать с любым компонентом компилятора (лексический анализатор, генератор кода) через COM-интерфейсы, например, для создания собственной интегрированной среды разработки на BEE Lisp.

Открытые, документированные интерфейсы лексического анализатора и синтакисчески-управляемого генератора кода позволят Вам интегрировать компилятор в Ваш собственный продукт. Научить вашу программу «понимать» Lisp просто благодаря компонентной архитектуре компилятора.

Хотите добавить к компилятору внешний препроцессор?

Напишите свой синтаксический анализатор «поверх» старого – предоставьте такой же интерфейс и компилятор не заметит разницы. Расширяйте функционал как вам удобно!

Защищённость BEE Lisp файлов

Благодаря особенностям компилятора и языка Lisp, скомпилированные программы могут быть очень сложны для взлома или анализа с помощью дизассемблера.