( @(user) ) Login/Signup Logout
The Dao Programming Language
for Scripting and Computing

Home Documentation Download Blog Forum Projects Demo
Label: ♦english ♦news

[167] Dao 1.1 is finally released


Dao 1.1 has just been released. This release introduced several new features, important syntax changes and significant efficiency improvements, as well as a number of bug fixings.

The major new feature is the support of functional style programming by some built-in methods. Along with these functional methods, several data creation methods and built-in math functions are also supported as built-in functions. Another functional programming related new feature is the support of tail call elimination.

This release introduced 3 new operators for type checking and operation asserting: ?= (type equal), ?< (type belong) and ?? (operation assertion). And it introduced another way for type casting: var::(type). A new looping structure do{}while() is also introduced.

Another new feature is the support of virtual files stored as byte arrays to allow packing script files into the Dao executable. This could be useful if one want to distribute a program in a single file, or if one does not want to release the source codes.

Major syntax changes include data storage keywords to declare local/global/member constants and variables, instead of using one or a combination of "my", "const" and "global", now all declaration can be done with single keyword based on the context of use. Another major syntax change is the class definition, now class body is used only for declarations without executable codes. The syntax is even more close to that of C++0x.

A previous experimental feature, parameter passing by reference, is back in a new form based on a slight change of internal data storage method. With this new change, constant parameter is also supported to disallow a parameter to be modified in a Dao function.

There have also been several implementation improvements which are mostly Garbage Collection (GC) and typing system related. Such as the using of reference count information to elimination unnecessary creation of tuples, as well as free some data as soon as possible. For single threaded Dao VM, the GC frequency has been reasonably reduced, resulting great efficiency improvement in some cases. The handling of methods of generic types such as list, map and array has been improved to reduce type checking in function call.

The C interfaces have also been re-structured in more reasonable way, which makes extending and embedding even easier. There are also some minor changes in a few methods of some built-in types.

This release has fixed a good number of bugs (new and old), and should be more robust than previous releases.

The main limitation of this release is that it does not support asynchronous function call and message passing interface, which might be dropped out in the future.

More detailed documentation of the changes can be found at What's new in Dao 1.1 .


P.S. the modules and DaoStudio for this version of Dao will be released shortly after.
Congregulation on the new release!
I did not see "continue" as an alias for "skip." I hope it is just an omission...
Just curious...
It was supported as an alias. I will update the documentation to mentions this. Thank you.
But based on a previous version of Dao. I was thinking to upgrade it to the latest version, but I didn't manage to find enough time. Maybe I will do it before the next release:)
Congratulations, I hope Dao will gain a wider audience, it deserve it.
Maybe it is about time to promote it with more efforts.
Some sites where to talk about it : http://plnews.org/ was actively maintained some time ago but seems less active right now http://lambda-the-ultimate.org/ very high level with many researcher on PL http://freshmeat.net/ to gain audience maybe sourceforge too ... ?

I have seen your post in Lua mailing list ;-) http://lua-users.org/lists/lua-l/2009-09/msg00567.html
You should had one important thing : clean code and design !!! This is why I have been interested by DAO at first. You were the only one with an internal AST !!! That means a great potential for the language.
I will try to make more announcements after releasing more modules/library bindings. Any ideas for promoting Dao are wanted!
on this site advogato.org
which is a common gathering site for Free Software/Open Source developers
on this site advogato.org
which is a common gathering site for Free Software/Open Source developers
I will try to write something. Maybe it will introduce something like the development motivation, language features and simple examples.

Change picture:

Choose file:
Visitor Map This site is powered by Dao
Copyright (C) 2009-2013, daovm.net.
Webmaster: admin at daovm dot net