BEE Lisp compiler Features
Stand-alone EXE files compilation
BEE Lisp allows you to create stand alone EXE files that require no interpreter to
execute.
In contrast with other Lisp systems BEE Lisp allows developer to build
independent executable modules so there is no need to deliver a compiler with
your software product. It favorably distinguishes BEE Lisp from a number of
analogues.
The compiler allows you to build both EXE and DLL modules. DLL modules can be used
together with programs written in other programming languages. Lisp is compound
for compilation by reason of syntax features, however we managed to find
technical solutions that made our compiler to keep all traditional features of Lisp
advantageously distinguishing it (dynamism and polymorphism) from imperative
languages and as a result, we have made a reliable compiler.
Thereby, you receive power of the lisp language and stand-alone nature of C++ programs.
Interaction with Windows from BEE Lisp applications
BEE Lisp applications can invoke any of operating system API functions so that you may
create applications of any complexity, including GUI applications,with
Window procedures developed entirely in Lisp. Your applications
may use file IO API , synchronization objects, such as mutexes and events, multiline
threads, etc.
The majority of Lisp systems are provided with a considerable quantity of libraries
often frightening users by its large size and slowness. Newbies
who studies Lisp usually afraid of it - , they
think. Why do we need to deliver additional libraries with the compiler, if all
necessary functionality is already present in the operating system?
Well, we don't if we are BEE Lisp programmers!
Therefore, BEE Lisp provides simple mechanism for interaction directly with
operating system functions. Use habitual possibilities of Windows API in your
Lisp programs, instead of studying a considerable amount of the "new"
libraries which duplicate Windows API.
C++ programmers in particular will note this advantage - they have to use
Windows API quite often. Because of this mechanism you can get access to
file I/O functions, can write GUI, can support network (only commercial
version) and so on.
Nothing constrains you in using dynamically loadable libraries, which you have
developed in other language, in your Lisp program - it is not necessary to
copy that functionality which you already wrote - just use your old code
directly from BEE Lisp.
Interaction with DLL libraries from BEE Lisp applications
BEE Lisp applications can use DLL libraries compiled by any compiler. That's
why you can use SDK created for C++, Delphi, Java, C#, Python and other
languages.
Creating DLL files in BEE Lisp
BEE Lisp allows to create DLL libraries which can be used by your programs
written, both in BEE Lisp and in other languages, such as C++, Java, C#, Python
or Delphi.
Do you have a development in C++, C#, Delphi and other languages? Do you want to
add functionality that is most easier to write on Lisp?
Go ahead! Write that functionality in Lisp and use it in your C++ program. Build dynamically loaded libraries in Lisp and use them in your applications. If it is more convenient to write a part of the program in C ++ (C#, Java, Python or Delphi), and a part in Lisp - it is not necessary to write it entirely in Lisp. Write in Lisp that part, which is more convenient to write in Lisp. Mix development languages in combinations convenient for you - BEE Lisp was created for this purpose!
Extensibility
Because of COM architecture, any component of the compiler can be replaced - for
example nothing prevents you from replacing native lexical parser of Lisp with
your own, having adapted the compiler, for example, for the national language.
Besides, you can programmatically cooperate with any component of the compiler
(the lexical parser, the code generator) through COM interfaces, for example,
to create integrated development environment for BEE Lisp of your own.
Open, documented interfaces of the lexical parser and the
syntaxically-driven code generator will allow you to integrate the compiler into
your own product. Teaching your program to "understand" Lisp becomes really
simple because of component architecture of the compiler.
Do you want to add an external preprocessor to the compiler?
Write the syntaxically-driven parser to replace the old one - just support the same interface
and the compiler will not notice a substitution. Expand functionality as you
like conveniently!
Security of BEE Lisp files
BEE Lisp Compiler and the Lisp language itself makes compiled
programs very difficult to crack or to reverse engineer.