This is Dao 0.7.4
============================

What would happen when lisp meets prolog in python?  

Dinpy arises!

Dao is the new generation programming system implemented by a functional logic solver, 
unifying code with data, grammar with program, logic with functional, compiling with running.

------------------
How to use Dao?
------------------

!!! This readme in ReStructureText format does not works in pypi. 
    What's wrong with this(see dao\readme and dao\setup.py)?
    I don't find the reason even after reading pypi tutorial, google and trying a lot ways. 
    If any one know please show me how to fix it (simeon.chaos@gmail.com) and thanks a lot.

See the "get start" in the <http://code.google.com/p/daot/w/list> to get started with dao and dinpy.
See <http://packages.python.org/daot> for document about dao and dinpy. 
See the tests, and you'll get some information about the interface and use cases.

Have a look at running Dinpy in interactive mode in the python shell below::

>>> from dao.dinpy import *

>>> i<<0
0
>>> quote(i/i+i*1)
i/i+i*1
>>> let(i<<1).do[prin(i)]
1
>>> loop(3)[ prin(i), ++i ]
0 1 2
>>> loop [ prin(i), --i]. until(i==0)
3 2 1
>>> when(i!=0).loop[ prin(i), --i]
3 2 1
>>> loop [ prin(i), ++i, iff(i==3) .do[exit] ]
0 1 2
>>> each(i)[0:3].loop[prin(i)]
0 1 2
>>> i << 0
0
>>> loop[ println('outer loop'), loop[ prin('inner loop: '), println(i), ++i, iff(i==3).do[ exit*2 >> 'exit from inner' ] ] ]
outer loop
inner loop:  0
inner loop:  1
inner loop:  2
'exit from inner'
>>> fun.f1(x) == [x+x]
f1
>>> f1(2)
4
>>> letr (f2 << fun(x)[ iff(x<1).do[x].els[f2(x-1)]]) .do [f2(3)]
0

----------------------------
What's new in dao 0.7.4?
----------------------------

*Release date:  2011-11-10

* new in code:
  * quasiquote, unquote, unquote_slicing is implemented.
  * directly evaluate sexpression in solver
  * some builtins for define, set and get global, outer and local var
  * lisp style macro: expand and eval on UserMacro

See the file "news.txt" for what's new in all releases.

-------------------------
Download and install
-------------------------

  You need python 2.6 or higher version to install and run dao. Dao is not tested with python 3.x.

  You can download and install dao from pypi with these method:

* find the place of daot from pypi, download the tarball of daot from <http://code.google.com/p/daot>,unextract it to a single folder, enter the folder in the shell and execute the command::

  python setup.py install

* install by easy_install through the internet directly, with the shell command::

  easy_install dao

* install by easy_install through the internet directly,  with the shell command::

  pip install dao

---------------
Documentation
---------------

See <http://packages.python.org/daot> for document about dao and dinpy. 

See <https://github.com/chaosim/dao/wiki> for wiki about dao and dinpy.

Some old informations can be reached from <http://code.google.com/p/daot>.

-------------
Web sites
-------------

pypi distribution and document: http://pypi.python.org/pypi/daot
 
the project's repository is on github <https://github.com/chaosim/dao>. 

dao groups on google: Group name: daot, Group home page: http://groups.google.com/group/daot, Group email address: daot@googlegroups.com

some old information and related stuff can be reached at <http://code.google.com/p/daot>.

google+ pages for news on dao: https://plus.google.com/112050694070234685790

Come to visit us!

---------
Testing
---------

dao use the nose test framework, the code in dao is tested with many tests.

------------
Bug reports
------------

To report or search for bugs, please goto <https://github.com/chaosim/dao>, or email to simeon.chaos@gmail.com

The source repository is on <https://github.com/chaosim/dao>.

-----------------
Platform notes
-----------------

Dao is developed and tested on Windows XP, Python 2.6.6.

--------------------
License information
---------------------

copyright (c) 2011-2013 Caoxingming(Simeon Chaos, email: simeon.chaos@gmail.com)

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

This software is released under GNU General Public License version 3. 
see license.txt

See the file "license.txt" for information on the history of this
software, terms & conditions for usage, and a DISCLAIMER OF ALL
WARRANTIES.

This dao distribution contains GNU General Public Licensed (GPLed) code.

All trademarks referenced herein are property of their respective holders. 

That's all, folks!