[EMAIL PROTECTED] wrote:
> Dear all,
> 
> This is just to let you know that the lastest version Dao language is
> released.
> This Dao was previously called Tao, and now is changed to Dao to avoid
> confusion
> with another Tao langauge. There are a number of new features
> implemented in
> this version, of which the most important one is the supporting for
> multi-threaded
> programming. A new concurrent garbage collector is also implemented to
> for the
> multi-threaded interpreter. Now unicode is also supported for string
> manipulation
> and regular expression (regex) matching etc. The algorithm for regex
> matching
> is enhanced with fixing of a few bugs which prevent finding the most
> reasonable
> matching in some case, and allowing reverse matching from the end of
> string.
> The interface for creating Dao plugin in C++ is further simplified and
> matured.
> Of course, many bugs are also fixed. For more information,
> please visite: http://www.xdao.org.
> 
> By the way, a console named DaoConsole with graphical user interface is
> also released.
> 
> With best regards,
> 
> Limin Fu
> 
> -----------------------------
> ChangLog for this release:
> -----------------------------
> 
> + : added
> ! : changed
> * : fixed
> - : removed
> 
> MULTITHREADING:
> +     Multi-threaded programming is supported as a kernel feature of
>       Dao language. Posix thread library is used in the implementation.
>       And the thread API in Dao is similar to that in Posix thread.
>       Parts of the Dao interpreter is re-structured for multithreading.
> +     A novel concurrent garbage collector based on reference counting
>       is implemented to support multithreading.
> +     A upper bound for GC amount is applied to prevent memory "avalanche",
>       where mutators generate garbage faster than GC can collect them.
>       gcmin(), gcmax().
> 
> UNICODE:
> +     UNICODE is supported. String quotated with double quotation symbol
>       is internally represented as Wide Character String(WCS), while string
>       quotated with single quotation symbol is internally represented
>       Multi Bytes String(MBS). Corresponding operations on WCS is also
>       supported.
> 
> REGEX:
> +     Regex reverse matching is supported.
> +     Now internal representation of Regex uses both MBS and WCS for both
>       efficiency and proper matching character class for unicode. When a
>       regex is applied to MBS or WCS, the corresponding representation is
>       used.
> +     Regex datatype is added, a regex pattern can be compiled and stored
>       for later use, by using: define regex: rgx = /\d+\w/;
>       or, rgx = regex( "\\d+\\w" );
> +     New character class abbreviations \u and \U are added for unicode.
> +     Customized character class abbreviations are support. Users can
> define
>       their own character class abbreviations by:
>       define regex: \2 = [WhateverChars];
> !     Algorithm for regex matching is modified to extend matching when
>       possible, and is also modified to match regex group correctly.
> 
> NUMERIC ARRAY:
> +     Specification of precision in numeric array enumeration is supported:
>       [EMAIL PROTECTED] array];
> !     Transpose operator(right operator) is changed from ' to ~.
> -     Function convolute() for numeric arrays is removed.
> 
> EXTENDING AND EMBEDDING:
> +     Some abstract classes are added for supporting easy embedding
>       of Dao interpreter ( the daoMain.cpp source file is an example
>       for embedding ).
> +     Some wrapper classes for Dao data objects are provide in daoType.h
>       to faciliate the using of Dao data objects in plugins or other
>       programs in which Dao is embedded.
> !     A new technique is implemented to allow more tranparent passing
>       data between Dao interpreter and C++ modules. Creation of shadow
>       classes is also supported by the way.
> 
> IO:
> +     Instead of using STL stream classes, new DaoStream classes are
>       added mainly for handling unicode in many places.
> +     For file IO, more open modes such as "rwat" are supported, and
>       more methods such as eof(), seek(), tell() ... are implemented.
>       read() is enhanced such that it can read until meeting EOF.
> 
> OTHERS:
> +     Multi inheritance is supported for OOP. And the passing parameters
>       and calling to parent constructor is simplified.
> +     Negative subindex is supported for string.
> +     Added a feature that allows using Alternate KeyWord (*.akw) to
>       write Dao scripts in non-english languages. The only requirement
>       is the character encoding for the .akw file must be the same as the
>       script files.
> !     Variable scope specification keyword "global" is added; keyword
>       "extern" is remove; keyword "share" is changed to "shared"
> !     Data states are added for constant and frozen data. Now a const
>       data is a really const, and can not be modified anymore. Function
>       freeze() is added to freeze some data structures as well as those
>       are reachable from them, to prevent them from being modified;
>       And defreeze() is added to defreeze them.
> !     The using namespace is simplified(compile(),eval(),source()).
> 
How does Dao compare with Python?  What does Dao permit one to do which 
cannot conveniently be done in Python?

Colin W.
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to