Skip to main content

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!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

daot-0.7.4.zip (73.6 kB view details)

Uploaded Source

Built Distributions

daot-0.7.4.win32-py2.6.exe (271.8 kB view details)

Uploaded Source

daot-0.7.4-py2.6.egg (188.9 kB view details)

Uploaded Source

File details

Details for the file daot-0.7.4.zip.

File metadata

  • Download URL: daot-0.7.4.zip
  • Upload date:
  • Size: 73.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for daot-0.7.4.zip
Algorithm Hash digest
SHA256 40a92644f5b9007a7f6cb532ae7fd4542200bf02d920ff68b933f46fbb66808c
MD5 b7476e5eacb258b3e693df318d91845e
BLAKE2b-256 862f3e6ac3b62b704c4486deec598b6a8ce93717e573dd7089144b391a4bd7e2

See more details on using hashes here.

File details

Details for the file daot-0.7.4.win32-py2.6.exe.

File metadata

File hashes

Hashes for daot-0.7.4.win32-py2.6.exe
Algorithm Hash digest
SHA256 38be4ae5ea453c7b7400a0a4386fee59b161499d69d72be832188d31ec0bab66
MD5 04d62efd2bdbb4bcc517fab0fe97cfbe
BLAKE2b-256 1e13849f4200037d280392435dd217cb6b4a03451b095b5039b7a623d724d40f

See more details on using hashes here.

File details

Details for the file daot-0.7.4-py2.6.egg.

File metadata

  • Download URL: daot-0.7.4-py2.6.egg
  • Upload date:
  • Size: 188.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for daot-0.7.4-py2.6.egg
Algorithm Hash digest
SHA256 5ec9c6f959a81eb63bcd9d14452972af8e6482613ebd36e2aca42a925a48a57b
MD5 e2837bfb1f8ea457ad065c7d3e2c0e8a
BLAKE2b-256 5eaddfd17638c8075c1f222d6cdf70391a9c020f6dd21257880d67a97ac53110

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page