What is Mist?
Mist is a project to implement a variant of the Smalltalk programming language. Unlike conventional Smalltalk implementations, Mist is not implemented using a virtual machine. Mist will be self supporting, written almost entirely in itself, without the typical dependency on a VM written in C. The project is open-source (MIT license).
Recent Mist talk: Martin gave a talk, “Classes in the Mist,” at the STIC conference in Phoenix, June 12. There was some new design information in this talk, like the unification of traits and classes into composable classes and the result that class inheritance goes away. The video of this talk will, hopefully, be available on the videos page when the conference organizers get done editing and uploading it.
“Objects in the Mist” talk video: This video, from Argentina’s 2012 Smalltalks conference, is now available on the videos page. This is the most complete information about Mist currently available. It’s even better than reading the code, because it has a lot of information about code that hasn’t been written yet.
Mist will compile to an intermediate language called Fog. Fog compiles to x86_64 machine code. Until Mist becomes self-supporting, it is being bootstrapped through the Pharo implementation of Smalltalk.
Code status: Simple Fog programs are compiling and being written to ELF executables which run on 64-bit Linux. The disassembler will disassemble anything Fog will compile. Mist’s native assembler has been replaced with the AsmJit assembler, and AsmJit is currently being enhanced to handle cross-method linking. Moving the bootstrap from Pharo 1.4 to Pharo 2.0 is also in the near future.
Community status: Documentation (largely in the form of this website) is being worked on, and added here periodically. The mailing list is up and running.
The Mist project was started by Martin McClure, who is still the primary designer and coder. For other contributors, see the current list of approved committers. A project goal is to attract a wider variety of contributors as the project matures.
Mailing list: The primary area for Mist community discussion is the mailing list.
The code to be loaded into Pharo 1.4 is in Filetree format, on Github: https://github.com/martinmcclure/mist
Instructions on how to install Mist is on the wiki.
If you want to follow commits and merges, star the repository from your Github account. If you want to contribute to the project, great! See the contributors page for information on the distribution agreement, and ask for more information on the mailing list.