Pysistence is a project that seeks to make functional programming in python easier.

FAQ
~~~~~

**Why the name pysistence?**

The project is named pysistence because most of the data structures it
implements are *persistent*.  This doesn't mean persistent in the sense that
they are stored in a database or the file system.  Rather, it means the data
structures may only be modified by copying.  Where possible, these data
structures will re-use existing implementations without copying everything.

**Where can I learn more about persistent data structures?**

Here are some resouces:

 * `Developing for Developers:  Persistent data structures <http://blogs.msdn.com/devdev/archive/2005/11/08/490480.aspx>`_
 * `Persistent data structures (wikipedia) <http://en.wikipedia.org/wiki/Persistent_data_structure>`_

Or if you're *really* brave:

 * `Making Data Structures Persistent <http://www.cs.cmu.edu/~sleator/papers/another-persistence.pdf>`_
 * `Purely Functional Data Structures <http://www.cs.cmu.edu/~rwh/theses/okasaki.pdf>`_


Download
=========

You may download the current release of Pysistence from our `PyPI page <http://pypi.python.org/pypi/pysistence/>`_.  You may also use easy_install to install pysistence::

    sudo easy_install pysistence

If you have Mercurial installed, you can use the following command to check out Pysistence::

    hg clone http://bitbucket.org/jasbaker/pysistence/

Note that you do need `setuptools <http://pypi.python.org/pypi/setuptools>` or `distribute <http://pypi.python.org/pypi/distribute>` for the next step::

    python setup.py install

If you're brave, you can try using pysistence's experimental C extension::

    python setup.py install --with-cext


Developers & Community
=======================

Visit `Pysistence's bitbucket page <http://bitbucket.org/jasbaker/pysistence/>`_
to get more info and view the wiki.

You may also visit our `Google Group <http://groups.google.com/group/pysistence>`_ for more info.
