Home Demo Documentation Download Blog Forum Projects

Dao Programming Language


Dao is a lightweight and optionally typed programming language with many interesting features. It includes features that can make concurrent programming much simpler. It has well designed programming interfaces for easy embedding and extending.

Main features:
  • Optional typing with type inference and static type checking;
  • Object-Oriented Programming (OOP) with classes and interfaces;
  • Code section methods as a better alternative to functional methods;
  • Native support for concurrent programming;
  • Concurrent garbage collection;
  • Support typed coroutines and function decorators;
  • Support closures, anonymous functions and classes;
  • BNF-like syntax macro for defining customized syntax;
  • Designed and implemented as a register-based virtual machine;
  • Portable implementation using standard C;
  • Simple C programming interfaces for easy embedding and extending;
  • LLVM-based Just-In-Time (JIT) compiling;
  • Clang-based tool for automatic wrapping of C/C++ libraries;
  • Released under the Simplified BSD License.
Please see help:dao.feature for a more complete list of summarized features.

Note: the above features are mostly for Dao 1.2!

Try Dao in browser:
Now it is possible to try Dao in your browser without downloading any plugin.
Latest News
Dao has finally become feature complete! (2013-05-18)
view count 76703 times
created at 2009-02-19, 17:46 GMT
modified at 2013-05-21, 23:27 GMT

123 4
5678910 11
121314151617 18
1920212223 24 25
262728293031

fu: Dao has finally become feature complete! After the recent implementation of communication channel for tasklets, deferred blocks and exception ... (May.18,05:46)

fu: A new feature for concurrent programming: tasklet communication channels! I have been looking for ways to improve Dao's support for concurrent programming. The most recent imp ... (May.18,00:35)

fu: Dao now supports Go-style panic/exception handling! I recently looked into the panic/ exception handling in the Go programming language (defer- recover), ... (May.07,02:04)

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