You will recall from "An example interaction with Reversi" on page 116 that we were able to change the shapes of the Reversi game pieces while the application was running simply by providing new definitions in the interactor. Now imagine that you were developing the Reversi application and wanted to interact with it as you coded the sources. The Functional Developer editor allows you to compile pieces of your code and see the results in the running application by using Project > Compile Selection.
In the following example we interact with the Reversi application from an editor window opened on one of the Reversi sources.
board.dylan in the editor by double-clicking it in the reversi project window.
define variable *reversi-piece-shape* = #"circle";
circle to square, so that the line reads:
define variable *reversi-piece-shape* = #"square";
Unlike the interactor, which compiles and executes the code you enter in the context of the paused thread to which the debugger is connected, the editor compiles the code you select in the context of a special interaction thread that it chooses automatically. This prevents unnecessary tampering with user threads.