By default, launching Storm
Storm from the command line launches the REPL (i.e. an interactive
session) for Basic Storm. This behavior can be changed by using different command-line flags, or by
passing files or directories as parameters. Storm will try to run code from any files specified
directly (see below).
To start a REPL of another language, pass
-l <language>. For example:
Storm -l bs to start the
Basic Storm REPL. This can also be used to force starting the REPL if another option would cause
something else to happen.
To pass a string to the REPL of a language, use the flag
-c. For example:
Storm -l bs -c 1+2 sends
1+2 to the Basic Storm REPL. This flag can of course be used without the
To run a single function, use the
-f flag. This function may not take any parameters, and not all
return types are supported. Example:
Storm -f foo.main.
To specify a root path, use
-r. For example:
StormMain -r root/ launches Storm with
the root directory. The default root directory depends on your system. If you have Storm installed
in your system, it resides in
/usr/share/storm on most systems. Otherwise, it is the
directory relative to the directory of the executable file.
It is also possible to import specific directories into the package tree. This is done with the
-i takes one parameter, the name of a file or directory to be imported. This file
is placed in a package with the same name as the file or directory. For example
Storm -i myfile.bs
will import the contents of
myfile.bs into the package
myfile. If you wish to specify the
location of the imports, use
-I <package> <file> instead. For example:
-I mypkg myfile.bs
imports the file into
mypkg instead. Both
-I works with both files and
directories. These flags do not alter the default behavior, so unless you specify something else, a
REPL is still launched.
Any options without a preceding flag are treated the same as
-i (i.e. as the names of files or
directories), with one important difference: Storm will try to execute the function
these imports if they exist. So, to run the function
main in the file
myprogram.bs, one can type
Storm myprogram.bs. To launch the REPL in this context, either type
storm -i myprogram.bs or
storm myprogram.bs -l bs.