Concatenative language
Concatenative topics
Concatenative meta
Other languages
Meta
[[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. - Source code can be evaluated and loaded in the listener: [[https://docs.factorcode.org/content/article-ui-listener.html]] - Reloading code: [[http://docs.factorcode.org/content/article-vocabs.refresh.html]] - Class instance updating: [[http://docs.factorcode.org/content/article-tuple-redefinition.html]] - Listener-based development tools: [[http://docs.factorcode.org/content/article-handbook-tools-reference.html]] - Graphical development tools: [[http://docs.factorcode.org/content/article-ui-tools.html]] Stand-alone applications can be deployed, without including the UI environment. - [[Factor/Deployment]] Factor can also be used as a scripting language. If Factor is given a source file name on the command line, it will run the source file instead of starting the UI environment: - [[http://docs.factorcode.org/content/article-cli.html]] The interactive environment works together with the [[Factor/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 [[Factor/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: - [[http://docs.factorcode.org/content/article-first-program.html]]
Describe this revision:
Save