* Fixed unbounded stack growth during interpretation. Programs can now run for arbitrary lengths of time.
* Interactive: Added readline support (proper command-line editing and completion). Mars now depends upon the GNU Readline library.
* Rather than searching the current directory for imports, searches the directory the initial module is located in. This makes multi-module programs possible, without having to run them from the current directory or add them to MARSPATH.
* Cyclic imports now work properly (previously failed if the top-level module was involved in an import cycle).
* Mars now allows source files with DOS/Windows newlines.
* New built-in functions: array_add, array_remove, __impure_array_delete (also added array_delete to 'impure' module).
* New prelude functions (based on the Haskell prelude): id, const, min, max, filter, foldl1, foldr1, minimum, maximum, index, elem, range, array_filter, array_foldl1, array_foldr1, array_elem, array_range.
* New prelude constants: false and true.
* No longer searches for the Prelude in the current directory.
* String literals now have type Array(Int), not Array(a) (minor bugfix).
* Interactive: Fixed interactively-assigned variables sometimes losing part of their type, causing them to be usable where they shouldn't, and also strange type errors.
* Interactive: Fixed exception associated with assigning an error expression to a variable, and then reading the variable's value.
* __impure_array_extend pre-grows the array to the full size, to avoid multiple regrows.
* Fixed syntax error messages with special or non-ASCII characters.
* Now fails correctly if given a directory name on the command line.