Возможности 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, скомпилированные программы могут быть очень сложны для взлома или анализа с помощью дизассемблера.