Dear all,

I am glad to announce in this forum that the lastest version of a new
scripting language Tao has come
out. Welcome to try it out!

=======================
Here are some details:
=======================

==========
Summary:
==========
Tao is an object-oriented scripting language with dynamic-typing
variables supporting complex data structures. It has powerful text
processing ability such as string regular expression matching. It
provides built-in numerical data types such as complex number and
multi-dimensional numeric array, and their corresponding operations
and computations are very convenient in Tao. It can be easily extended
with C++, through a simple and transparent interface.

===============
Key Features:
===============
1. Object-oriented ( syntax slightly similar to C++ ).
2. String regular expression with syntax support ( similar to Perl ).
3. Numeric types and their operations ( slightly similar to Matlab ).
4. Extendable with C++ through a simple and transparent interface.

================
ChangeLog:
================
+ : added
! : changed
* : fixed
- : removed

Release: tao_0.9.0_beta:

! Matrix type is generalized to numeric array supporting arbitrary
dimensions and different precisions including byte, short, int, float
and double. Many operations are also provided for numeric array.

+ Some convenient and powerful built-in functions are implemented to
manipulate numeric arrays, including numarray(), apply(), noapply()
and which() etc. Basic mathematical functions are also supported for
numeric arrays.

+ A feature called transient variable is implemented for convenient
parameter passing in some situations.

+ Some "magic" functions which may take expressions with transient
variables as parameters to do some computions on arrays and numeric
arrays without explicit looping and subindexing. These functions
include numarray(), apply() and noapply() for numeric array; iterate()
and iterget() for normal array; and which() for both.

+ Some C++ types are provided for transparent passing Tao types to C++
modules, so that only two C++ header files("taoCpptype.h" &
"taoPlugin.h") are required to develop C++ modules loadable by Tao
without linking to any additional libraries.

! The base class for TaoPlugin is changed from TaoBase to TcBase, so
that the developing of Tao plugins only requires another header file
"taoCpptype.h".

+ Basic string operations such as substring, insert, replace and erase
by subindexing. And a few functions are added such as number(), pack()
and unpack().

+ Added string regular expression matching for alternate and grouping
such as /(\d|\w)(@1:\D|\c)/.

+ Substring substitution by regular expressions.

! Embedding expression in regular expressions is changed.

+ More convenient subindexing is supported for array and hash.

+ Local variables.

+ yield statement to use routine as generator.

+ Many operators such composite assignment (+=, -=, *=, /=,etc.), type
comparision operators(=?,!?), right operators( .#,.@,.%, etc.)

+ eval(): evaluate a block of codes represented as a string.

+ Loop control: for(e1,e2,e3), logic control: e1 ? e1:e2; 

+ Other functions such as repeat(), about(), import(), load(), time(),
astime() and asctime() etc.

! Many changes including keywords: sub->routine, continue->skip.
commenting symbols are also changed.

* Some bugs fixed.

===============
Download:
http://prdownloads.sourceforge.net/taoscript/tao_0_9_0_beta.tar.gz?download

Document:
http://taoscript.sourceforge.net/An_Introduction_to_Tao_Language.pdf

HomePage:
http://taoscript.sourceforge.net

Contact:
Limin Fu: fu [dot] limin [dot] tao [at] gmail [dot] com