functional logic solver and compiler
Latest commit 0365be0 Nov 26, 2015 cxm01 cxm01 reorganize daonode folders


Dao is a functional logic solver, unifying code with data, grammar with program, logic with functional, compiling with running. Daonode is a porting, rewriting and upgrading from python to coffeecript(so just javscript) of the dao project. What would happen when lisp meets prolog in javascript?

###what's new in 0.2.0

  • now daonode can compile expression(similar to lisp's sexpression) to javascript.
  • stuffs in /lib is for the compiler
  • Currently no document is written for the comiler, please refer to the document for the interpreter.
  • original stuffs for the solver is moved to /lib/interpreter, and they still work.
  • all tests is moved /test
  • add .travis.yml and use for Continuous integration, see


See for documents for daonode. The annotated coffeescript source is in the daonode/doc. See the tests, and you'll get some information about the api and use cases. Some old documents is on (out of date).

Web sites

the project's repository is on github some old information and related stuff can be reached at pypi distribution and document:>,, dao groups on google: Group name: daot, Group home page:, Group email address: google+ pages for news on dao:


daonode uses the nodeunit test framework, see the folder "test"

Bug reports

To report or search for bugs, please goto, or email to

Platform notes

daonode is developed and tested on Windows 7, node.js 0.10.0, coffeescript 1.6.2.