The Mitchell Programming Language

Mitchell is both a programming language and a compiler. This is the page for both the programming language and the reference compiler of the same name. The language definition itself pulls elements from the world of functional programming (for example, centered around expressions instead of declarations) but still bears some syntactic resemblance to other languages you've seen before. It still contains if-then-else, case, and function constructs. However, all looping is done through recursion.

The source distribution kit includes the current language definition, runtime library, documentation, and the reference compiler. The main focus of this system is to be a bootstrapping compiler. That is, the compiler and runtime will eventually be written in mitchell itself. I make no guarantees as to the stability of the feature set - features will be added and removed as needed to meet this bootstrapping goal. The only guarantee is that the source distribution will behave as documented in the included definition.

Features of the mitchell language include:


License:

Mitchell is distributed under the terms of the GPL. A copy of this license is provided in the COPYING file of the source distribution.


Current status:

mitchell is currently undergoing a rewrite in a new implementation language. It's being implemented in SML/NJ mainly because I enjoy that language and was looking for a reason to get back into writing in it. The rewrite is up to the semantic analysis phase right now.


Documentation:


Releases:

The current release is mitchell preview 5, aimed at people who just want to see what mitchell is going to look like when it's all done. Note the current status paragraph above.

Click here for Mitchell releases

© 2001 - 2011 Chris Lumens