道语言

English(英文)
ChangeLog
主页
文档
下载
软件许可
邮件列表
论坛
常见问题



SourceForge Logo

Support This Project

ChangeLog of Tao Language


+ : added ! : changed * : fixed - : removed Release: tao_0.9.0-1_beta(By Fu Limin): * Fixed a bug in dereferencing before assignment in class methods. Release: tao_0.9.0_beta(By Fu Limin): ! 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. Release: tao_0.8.5_beta(By Fu Limin): + A new technique is implemented for dynamic loading of C/C++ modules. + New classes are added to re-organizing the structure of interpreter, including classes for arithmetic computation and class for garbage recycling etc. + Namespace features and dynamic creation of classes and subroutines. + More internal functions are implemented, including var.type(),compile(), array.replace(),array.cat(),hash.keys() and hash.values() etc. + File IO object type is added. + Constant, shared, external variables are supported. ! Recursive function is re-implemented. * A bug is fixed in arithmetic computation. * A bug is fixed in matrix subindexing. * A bug is fixed in print cyclic structure. * A bug is fixed in array.erase(). ============================================ 2005-01-08: Changing of name: Yuan >>> Tao ============================================ Release: yuan_0.7.8_beta(By Fu Limin): + Numeric data types such matrix, complex number and matrix. + Different ways of declaring and initializing matrix. + Flexible matrix slicing and sub-indexing. + Matrix and complex arithmetic computation such as addition, substraction and multiplication etc. + Matrix algorithms: LU decomposition and inverse. + Multi-assignment such as: [a,b]=[c,d]; or [a,b]=func(); ! Arithmetic computations (in general). ! Array manipulation (sub-indexing and assignment). * A bug in hash declaration by enumeration. * A bug in printing array variables. Release: yuan_0.7.5_beta(By Fu Limin): 1. Some parts is modified to handle compiling and running time errors. 2. A simple XML parser using an interface similar to the SAX (Simple API for XML) is implemented and embeded into the Yuan interpreter. This interface can be used in Yuan script directly. 3. Small changes: (a) now Yuan script module can be imported with keyword "import"; (b) loop control "break" and "continue" is implemented; (c) shared variables can be declared with keyword "share"; (d) system call can be invoked by "system()". Release: yuan_0.7.0_beta(By Fu Limin): 1. A new reference counting based garbage collector is implemented based on an algorithm similar to what D.F. Bacon and V.T. Rajan proposed for Synchronous Cycle Collection. 2. A number of bugs are fixed, including bugs in regular expression matching. 3. Sample source codes are included. Release: yuan_0.6.8_devel(By Fu Limin): 1. Part of internal structure of the interpreter is changed to allow more flexible ways of variable declaration and assignment. 2. Now class constructors can take parameters, and the parameters can be passed to the parent classes in a similar way as in C++. 3. Standard Input is enabled. Release: yuan_0.6.5_devel(By Fu Limin): 1. New way of object construction from Yuan class is implemented. It is more efficient in time and memory. 2. A kind of Garbage Collection feature called Local Garbage Recycling is implemented. 3. Re-implementation for passing parameters. Now the parameters are passed into subroutines by references. 4. Re-implementation for accessing class data members from method members. Accessing by references. 5. Correction of the algoritm for string regular expression pattern matching. Release: yuan_0.6.0_devel(By Fu Limin, Sep.08, 2004): 1. A new Strategy for arithmetic, string and other computations is implemented. It is more flexible but a little slower than before. 2. All data types representation is changed to references of objects. 3. Operations are mainly based on references. Except in assignment where when two references for numerics or two references for strings meet, the value is copied. 4. More operations for arrays such "append", "insert" and "erase" etc. are implemented.
Release: yuan_0.5.5_devel(By Fu Limin, Aug.26, 2004): 1. Some improvements in airithmetic and string computations. 2. More functionalities(but still basic) for string regular expression matching(Aug.6-10). 3. Dynamic loading of C/C++ library in Linux is enabled(Aug.6-10). 4. Dynamic loading of C/C++ library in Windows is enabled(Aug.21-24).
Release: yuan_0.5.0_devel(By Fu Limin, Aug.03, 2004): 1. Basic Arithmetic computations. 2. Basic String operations. 3. Basic array and hash data types. 4. Reentrant functions. 5. Basic class inheritance. 6. Basic file IO.
From the beginning of May 2004, Fu Limin started to design and implement Tao Language, which is initially named as Yuan Language.

网站维护者:傅利民
版权所有(C) 2004-2005, 傅利民.
Email: fu [dot] limin [dot] tao [at] gmail [dot] com