Runtimes
LispWorks can build your desktop or server application as an executable or (on most platforms) as a dynamic library or DLL.
LispWorks for Mobile Runtime builds your program as a (non-GUI) library which you can incorporate into an Android or iOS app.
This process is called 'delivery' and the generated image is a 'delivered application' or 'runtime'.
Benefits
LispWorks runtimes are:
- Smaller, because delivery removes unused code.
- Faster, because delivery optimizes some code, and because the smaller size reduces paging.
- Free of license fees on most platforms.
Products including delivery
LispWorks HobbyistDV Edition, LispWorks Professional Edition and LispWorks Enterprise Edition all include delivery. You do not pay runtime license fees. This applies to LispWorks for Windows, LispWorks for x86/x86_64 Linux, LispWorks for ARM Linux, LispWorks for Macintosh, LispWorks for x86/x64 Solaris and LispWorks for FreeBSD.
LispWorks for Mobile Runtime includes delivery. Actually that is its only function: you develop your program using desktop LispWorks. You do not pay runtime license fees. This applies to LispWorks for Android Runtime and LispWorks for iOS Runtime.
Platforms supporting delivery
LispWorks can build executables for the platform it runs on. Dynamic libraries can be built on Microsoft Windows (.dll), Macintosh (.dylib), x86/x86_64 Linux, ARM Linux, x86/x64 Solaris and FreeBSD (.so). There is no cross-platform delivery capability targeting desktop platforms. You need at least one LispWorks development license for each target platform.
LispWorks for Mobile Runtime creates a (non-GUI) library for Android or iOS. You include this Lisp runtime in a suitable project to build an Android or iOS app.
System requirements for runtimes
Your desktop/server runtime runs on any system that LispWorks itself supports. The runtime may also support older hardware: see the full processor and software requirements for details.
Runtimes created by LispWorks for Mobile Runtime run on ARM hardware. See the full processor and software requirements for details.
What is removed?
Delivery removes code which is not used by your application.
Also, the following general Lisp development functionality is forcibly removed:
compile-file
save-image
deliver
- The graphical LispWorks IDE
Architecture of runtime images
32-bit LispWorks generates 32-bit code and runtimes. 64-bit LispWorks generates 64-bit code and runtimes.
Therefore to create both 32-bit and 64-bit variants of your runtime application you will need licenses for both 32-bit LispWorks and 64-bit LispWorks.
Size of runtime images
A 32-bit 'Hello World' console application can be as small as 3-4MB on disk, depending on platform. A graphical 'Hello World' built with CAPI is about 2MB larger.
A 64-bit 'Hello World' console application can be as small as 6.5-7.5MB on disk, depending on platform. A graphical 'Hello World' built with CAPI is about 3MB larger.
How you generate a runtime
First you develop, test and debug your program using LispWorks. At this stage all the features of Common Lisp and the LispWorks development tools are available to you.
Then you create a script which loads your compiled program and calls the function deliver
, and you run this script in a fresh LispWorks session. See the Delivery User Guide for full documentation.
You can use the Application Builder tool to simplify this process.
Further Information
If you need further information about LispWorks Application Delivery, please send an email to .