|
|
Label: ♦english
♦news
fu
created at Sunday, 2009-09-20, 05:14:38
fu
modified at Sunday, 2009-09-20, 05:23:40
11 Replies, 4156 Hits
Hi,
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 . Document Download P.S. the modules and DaoStudio for this version of Dao will be released shortly after. Source URL:
http://www.daovm.net/space/dao/thread/167
Comments
atai commented at Monday, 2009-09-21, 22:04:36
Congregulation on the new release!
I did not see "continue" as an alias for "skip." I hope it is just an omission...
atai commented at Monday, 2009-09-21, 22:05:18
Just curious...
fu commented at Monday, 2009-09-21, 22:45:15
It was supported as an alias. I will update the documentation to mentions this. Thank you.
fu commented at Monday, 2009-09-21, 22:49:01
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:)
ybabel commented at Tuesday, 2009-09-22, 15:25:11
Congratulations, I hope Dao will gain a wider audience, it deserve it.
fu commented at Tuesday, 2009-09-22, 18:04:05
Maybe it is about time to promote it with more efforts.
ybabel commented at Wednesday, 2009-09-23, 11:17:22
ybabel modified at Wednesday, 2009-09-23, 11:24:23
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.
fu commented at Saturday, 2009-09-26, 07:08:48
I will try to make more announcements after releasing more modules/library bindings. Any ideas for promoting Dao are wanted!
atai commented at Tuesday, 2009-09-29, 07:31:06
on this site advogato.org
which is a common gathering site for Free Software/Open Source developers
atai commented at Tuesday, 2009-09-29, 07:31:07
on this site advogato.org
which is a common gathering site for Free Software/Open Source developers
fu commented at Wednesday, 2009-09-30, 02:22:59
I will try to write something. Maybe it will introduce something like the development motivation, language features and simple examples.
|
fu: Fixed and updated There was a minor bug in storing returned value in the DaoVmProcess structure. Now it is fixed and up ... (Sep.07,23:43) klabim: ... Ok, I found it. It can be so easy by reading the documentation :- ). I have overseen the keyword glob ... (Aug.21,18:09) klabim: returning a string from function to c++ code! Hi, I run in some trouble while calling a dao function from the c++ code. The dao function should re ... (Sep.07,19:44) klabim: sharing vars between scripts Hi, how can I share a variable between 2 scripts in an embedded environment? For example: script 1: ... (Aug.21,17:55) |