Deploy tool caveats
Factor handbook » Developer tools » Application deployment

Prev:Deploy tool implementation

Behavior of boa
In deployed applications, the boa word does not verify that the parameters on the stack satisfy the tuple's slot declarations, if any. This reduces deploy image size but can make bugs harder to track down. Make sure your program is fully debugged before deployment.

Behavior of execute(
Similarly, the execute( word does not check word stack effects in deployed applications, since stack effects are stripped out, and so it behaves exactly like execute-effect-unsafe.

Behavior of call-next-method
The call-next-method word does not check if the input is of the right type in deployed applications.

Error reporting
If the deploy-reflection level in the configuration is low enough, the debugger is stripped out, and error messages can be rather cryptic. Increase the reflection level to get readable error messages.

Choosing the right deploy flags
Finding the correct deploy flags is a trial and error process; you must find a tradeoff between deployed image size and correctness. If your program uses dynamic language features, you may need to elect to strip out fewer subsystems in order to have full functionality.