The Mist Programming Language

Mist is (going to be) a high-level programming language that is comfortable to use for software engineers, designed to work together with a verifying compiler, capable of automatic formal verification of programs. Compatibility with other programming languages is of secondary concern. Rather, Mist will be designed as the most productive and elegant programming language possible.

In technical terms, Mist is an imperative programming language, with plans to expand into the object oriented and functional paradigms. But its most noteworthy aspect is the integrated assertion framework. The hope is that the compiler may, in the near future, generate formal proofs of correctness (eliminating the need for most runtime checks) and exploit programmer-provided assertions for optimization of the code.

The compiler is being developed on Google Code. It is free software, released under the GNU GPL v3. You are encouraged to join the project. Since much of the detail of Mist has not been decided upon yet, good ideas from the community may still have great impact on the design. Use the discussion group to voice your ideas, opinions and/or comments. You may also leave comments in the various sections of this website, like the wiki and the issue tracker.


Right now, it is a very new project, and it has not yet been officially announced. We are not ready yet. There is already a compiler for Mist 0.1, but the 0.1 language is quite limited. Those interested may download the Mist 0.1 specification and the source-code. For information on how to build the compiler, visit the MistCompiler page. Do note that Mist 0.2 is being written from scratch. We have learned from the mistakes we made in the design of Mist 0.1. These mistakes will be documented in due course.

The project is on the back burner right now, since I am the only person working on it, and there are now other demands on my time. There are, however, many (perhaps too many) plans for the future of Mist. Pages with information on future versions are continuously being added to the wiki, and development of version 0.2 of the compiler is underway. At the moment of writing this, the new code is undergoing basic preparations before being released into the svn.

Download this file (mist-extended-abstract.pdf)mist-extended-abstract.pdf103 Kb