Factor/Interactive development

Factor has good support for Interactive development. In the tradition of "turtles all the way down" systems such as Smalltalk, Self, and Lisp, the application runs concurrently with the developer tools, and source code changes can be tested without restarting the application.

Stand-alone applications can be deployed, without including the interactive environment.

The interactive environment works together with the Optimizing compiler to ensure that changes to source are reflected as soon as possible, despite any automatic inlining which may have taken place.

A typical workflow with Factor involves an editor running concurrently with the UI. After making changes to a source file in the editor, you switch to the UI listener, and press F2, which runs the refresh-all word. This word reloads changed source files, at which point the changes can be tested interactively in the listener, or by running unit tests.

Since user code runs in the same Factor instance as the development environment, you can also use the inspector and other tools to view and modify application state. The listener instance can remain running for a long time, with many such edit-reload cycles taking place in a single listener session.

A tutorial for practicing this workflow:

Factor can also be used in a more conventional, scripting-language-like manner. If Factor is given a source file name on the command line, it will run the source file instead of starting the UI environment:

This revision created on Mon, 1 Feb 2010 11:18:20 by slava