Other versions: 1.0

Change picture:

Choose file:

What's new in Dao 1.1 (released on 2009-09-19)

New features:
  1. Some built-in methods for functional programming (such as map(), reduce() etc.);
  2. Some built-in functional style methods for data construction (such as string(), list() etc.)
  3. Some math functions are also supported as built-in functions;
  4. Enhanced switch-case statement;
  5. New do{}while() statement;
  6. Tail call optimization;
  7. Type checking operators: ?=, ?<, and the associated VM instruction DVM_CHECK;
  8. Operation asserting operator: ??, to check if the last operation is successful, and/or provide an alternative if not successful;
  9. Automatic inheritance of constructors from single parent class/cdata;
  10. DaoVmSpace_AddVirtualFile(), and daoMainv.c to support packing script files into the Dao interpreter executable.
  11. Parameter passing by reference, and constant parameters;


Important enhancement and changes:
  1. Keywords for declaring local/global constant, variables, instance variables;
  2. Class definition: class body no longer allows statements;
  3. Syntax for operator overloading;
  4. Proper parsing >> in type names, and >= after type names, such as: list<list<int>>, a : list<int>= {} ;
  5. Storage for local variables as references;
  6. Decreased GC frequency to greatly decrease the GC overhead for singel threaded version;
  7. Improved GC by freeing more data directly, and by add tuple type to GC scanning process;
  8. Reduced tuple creation when possible;
  9. Revised type and function preparation methods for loading C modules;
  10. Some C/C++ interface functions are moved from type DaoVmSpace to DaoNameSpace;
  11. math.rand(), math.rand_gaussian() now take a parameter which is multiply to the standard distribution (even and normal);
  12. Constant number literal should now use 'D' to mark double precision instead of using double '0';
  13. "stdio" is changed to "io", and "stdio" is kept as an alias to "io" for compatiblity;
  14. "stdlib" is changed to "std", and "stdlib" is kept as an alias to "std" for compatiblity;
  15. "stdio.print/printf/println" are changed to "io.write/writef/writeln", aliases are kept for compatiblity;
  16. Passing parameter as references for simple data types is back;
  17. Now max() and min() methods of list and array return a tuple to include the value and index; And for list, a larger range of types are allowed for comparison;
  18. Improved cast to tuples;
  19. Disabled duplication of C functions, and disable data copying for parameters passed to C functions;

There are also a number of bug fixings. The autobind.dao tool is also improved.
view count 1411 times
created at 2009-03-06, 13:47 GMT
modified at 2009-09-20, 02:15 GMT

12 3
456789 10
111213141516 17
181920212223 24
2526272829 30 31

fu: Many thanks (Jul.04,04:29)

klabim: fixed Hi, great, now my test works now :- ). (Jun.30,17:51)

Nightwalker: Few suggestions (Jul.03,14:37)

This site is powered by Dao
Copyright (C) 2009,2010, daovm.net.
Webmaster: admin@daovm.net