the dao to programming, lisp meets prolog in python.
Project description
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!
============================
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!