Downloads

The current version of Storm is 0.5.8, released on 2021-06-27. Only the latest release is provided in binary form. Earlier releases have to be compiled from source. All releases are marked in the Git repository by a tag with the name release/<version>.

Release notes for each release are found here or in the annotated release tags in the Git repository.

Binary releases

Binary releases for Windows (32-bit) and Linux (64-bit) are provided below. For each platform, two variants are available depending on which garbage collector is desired.

To run the compiler, simply unpack the archive file and run Storm (Storm.exe on Windows), and the top loop for Basic Storm should start. For more detaled instructions, see Introduction.

For Windows, no external libraries are required (except for dbghelp.dll, which is included with Windows). The Ui library requires Windows 7 or later.

For Linux, the C standard library for GCC 6.2.0 or later is required. For the Ui library, Gtk+ 3.10 or later is required. libpng and libjpeg are also required for proper image decoding, but they are included in the download since there are many incompatible versions of these libraries.

Source releases

The source code (licensed under GNU LGPL version 2.1) is freely available through Git at the following URL:

git clone git://storm-lang.org/storm.git

The repository has a few submodules. To fetch them as well, execute the following commands inside the repository:

git submodule init

git submodule update

If you get an error about an unreachable submodule, don't worry. That repository only contains some test data for the language server which is not required.

To build Storm, you need mymake, available at GitHub or git://storm-lang.org/mymake.git. When you have installed mymake, compiling Storm is just mm release to make a release build. During development, use mm Main or mm Test to build the development version of the main entry point and the test suite respectively.

To specify which garbage collector to use, either edit Gc/Config.h, or compile storm with `mm mps Mainormm smm Main`.

On Linux (Debian), the following packages need to be installed to successfully compile Storm, in addition to Mymake and GCC:

These are not required on Windows, as Storm relies on the corresponding functionality in the Windows API instead of separate libraries.

License

Storm is licensed under the LGPL version 2.1. Note, however, that the MPS release uses the Memory Pool System from Ravenbrook Ltd. which has a separate license. The SMM is licensed under the LGPL version 2.1, just like Storm.

Parts of the libraries, such as the Ui library, may rely on other third party libraries. To check which libraries are used and which licenses apply, type licenses in the Basic Storm top loop, or call core.info.licenses from your code. Note that this only shows loaded libraries. You might want to use the library you are interested in (e.g. by typing help ui) to make sure they are loaded before querying the license information.