|
|
 |
 |
 |
|
 |
 |
|
 |
|
|
|
Bach220 16 Feb 04
- Classes much improved. Instances may now be placed in a sequence without losing their identity, so constructs like seq[idx].memb work
- ‘method tags’ allow the specifying the class that a method is bound to. EX:
method :Point:origin()
- Two new operators && and &&= perform an append.
- New operator !! may be used in place of clone()
- Functions that return a sequence may now be indexed.
- printf style functions now understand a new format specifier %V to convert an object into a standardized string representation.
- A string statement outputs its string to stdout (for CGI)
- Both string statements and literal strings can evaluate embedded Bach expressions.
- Negative indexes may be used to reference from the ens of a sequence.
- Two new scope modifiers, public and private replace the old global which is now a synonym for public .
- Variables default to private ; defs and classes default to public .
Bach215 25 Dec 03
- New built-in function _is_() checks if sequence is instance of class.
- semicolon (‘;’) starts a line comment.
- Bugfix -- class members which are sequences now initialize to an empty string instead of zero.
- Better remainder() algorithm (I think).
- coroutine removed -- defs and methods become coroutines if yield is used.
Bach214 15 Dec 03
- Classes containing multiple copies of another class now work properly.
- Indexing a member now works (class.member[n])
- Class members are now typechecked
- Sequence elements may be accessed as class instances with a new bit of syntax:
pointlist[3]:Point.x
- type has been renamed to vartype (‘type’ is too useful to the user).
- A library math.b has been split off from bach.b.
- Added built-in functions abs(), min_max(), and mean().
- Added statistics fcts variance(), absdev(), stddev(), skew() and kurtosis().
- Error printout highlights the error line number.
.
|
|
|
 |
|
|