Moto 0.20.0 Release

David Hakim <dhakim-Gkm/TONP9n1Wk0Htik3J/[email protected]> Thu, 17 Jul 2003 23:39:57 -0400
Newsgroups gmane.comp.lang.moto.devel,gmane.comp.lang.moto.user
Message-ID <[email protected]>
	Moto 0.20.0 has been released and can be downloaded from 
http://www.projectmoto.org/download.moto. This release adds support for 
Operator Overloading in Moto! Overloaded operators may be declared in 
moto extensions and used inside Moto programs allowing programmers to 
write more compact, readable, and most importantly fun code! Perl 
programmers may now comfortably write foo["bar"] = "baz", while C++ 
purists enjoy the pleasure of intersecting sets with the * operator.

Instead of this:

Object o = stab.get("foo");
vector.put(27,"foo");

You can now write this:

Object o = stab["foo"];
vector[27] = "foo";

This release was developed almost entirely by Stefano Corsi! Be sure to 
send your thanks and rave reviews to him personally on the moto mailing 
lists!

To demonstrate this new feature many newly overloaded operators are 
included in the codex util extension.

Function lookup performance has also been dramatically improved leading 
to better performance in interpreted mode.

Here are the full release notes :

New Features
  Added support for extension authors to overload operators in moto 
(Stefano!)
  Added set operation functions (and operators) to StringSet and IntSet
  Added overloaded operators (+ += ++ - -= -- eq ne lt lte gt gte [])
  Added [] and + operators for class String (in place for code in 
motoX.c)
  Added [] operator for class Vector
  Added [] operator for class SymbolTable
  Added ++ operator for class Enumeration
  NEWS and ChangeLog file updated

Bugs Fixed
  Fixed a bug that would cause a parse error when someone tried to 
instantiate an empty array in-line
  Improved performance of interpreter with new version of 
moto_createMotonameForFn
  Calling macros that call macros with arguments of the same name will 
no longer cause an infinite loop in motopp
  Fixed a bug in the codex.http extension that caused length to be used 
for text fields to specify  the max length attribute (as opposed to the 
value passed for maxlength)
   Fixed a bug that caused compilation of motoc pages can fail in a 
variety of ways due to the use of buf_printf when generating code that 
ammounted to more than 4096 characters in one statement