Mars 0.2.1

Fixes unbounded stack growth bug, allowing programs to run for arbitrary lengths of time. Adds readline support, lots of new library functions, and fixes many bugs.

Milestone information

Project:
Mars
Series:
trunk
Version:
0.2.1
Released:
 
Registrant:
Matt Giuca
Release registered:
Active:
No. Drivers cannot target bugs and blueprints to this milestone.  

Download RDF metadata

Activities

Assigned to you:
No blueprints or bugs assigned to you.
Assignees:
11 Matt Giuca
Blueprints:
No blueprints are targeted to this milestone.
Bugs:
11 Fix Released

Download files for this release

After you've downloaded a file, you can verify its authenticity using its MD5 sum or signature. (How do I verify a download?)

File Description Downloads
download icon mars_0.2.1_src.tgz (md5) Source tarball 0.2.1 23
last downloaded 48 weeks ago
download icon mars_0.2.1-1_i386.deb (md5) Debian binary package for i386 0.2.1 69
last downloaded 9 weeks ago
Total downloads: 92

Release notes 

Fixes unbounded stack growth bug, allowing programs to run for arbitrary lengths of time. Adds readline support, lots of new library functions, and fixes many bugs.

Changelog 

View the full changelog

* 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.

0 blueprints and 11 bugs targeted

Bug report Importance Assignee Status
408420 #408420 Unbounded stack growth during interpretation 2 Critical Matt Giuca  10 Fix Released
418161 #418161 Interactive: Type variables not bound sometimes 3 High Matt Giuca  10 Fix Released
408296 #408296 Top-level cyclic imports fail 4 Medium Matt Giuca  10 Fix Released
482941 #482941 Interactive: Failed functions should not bind variables 4 Medium Matt Giuca  10 Fix Released
438497 #438497 Syntax error messages don't escape characters 5 Low Matt Giuca  10 Fix Released
438498 #438498 Tokenizer doesn't work on Windows newlines 5 Low Matt Giuca  10 Fix Released
482078 #482078 array_extend should pre-grow the array to avoid multiple regrows 5 Low Matt Giuca  10 Fix Released
483369 #483369 Empty string literal has the wrong type 5 Low Matt Giuca  10 Fix Released
486957 #486957 Search in the importing module's directory, not the current directory 5 Low Matt Giuca  10 Fix Released
486977 #486977 Mars doesn't check if it's opening a directory 5 Low Matt Giuca  10 Fix Released
483955 #483955 Mars lacks readline support 6 Wishlist Matt Giuca  10 Fix Released
This milestone contains Public information
Everyone can see this information.