Top Loop

Storm is able to provide interactive top-loops (sometimes called REPL for Read Eval Print Loop) for experimenting with programming languages. Whenever Storm is asked to provide an interactive top-loop, it looks for a function core.<ext>.repl() that is assumed to create an instance of a lang.Repl class that provides the functionality. Storm then handles input and output on behalf of the language, and calls the appropriate members of the Repl class. The Repl class has the following members:

The existence of this interface means that it is possible to write other front-ends that provides interactive execution. For example, it is possible to implement a GUI that submits input to the appropriate top-loop.