Skip to content

andyjost/Sprite

Repository files navigation

1. Overview
-----------

Sprite is an implementation of the Curry programming language
(https://curry.pages.ps.informatik.uni-kiel.de/curry-lang.org/).  It is based
on an evaluation strategy called the Fair Scheme.  You can read about it at
http://web.cecs.pdx.edu/~antoy/homepage/publications/lopstr13/long.pdf.

In addition to command-line tools for compiling and running Curry programs, the
Python API provides access to a Curry interpreter, (JIT) compiler, and runtime.
Curry code modules can thus be imported directly into Python, enabling
hybrid applications that leverage the strengths of both languages.


2. Installation
---------------

For common Linux platforms, all you need to do is run ONE of the commands
below:

  - Automated (no confirmation):

        wget -qO- https://raw.githubusercontent.com/andyjost/Sprite/release/getsprite | sh
        curl -sSL https://raw.githubusercontent.com/andyjost/Sprite/release/getsprite | sh

  - Interactive (confirmation at each step):

        wget -qO- https://raw.githubusercontent.com/andyjost/Sprite/release/getsprite-i | sh
        curl -sSL https://raw.githubusercontent.com/andyjost/Sprite/release/getsprite-i | sh

Sprite will be installed under $HOME/Sprite/install.

These commands may ask for root access to install dependencies using your
platform's package manager (currently, only apt is supported) and Python's
package manger (pip).  If you prefer more control, see the installation guide
in the documentation.


3. Documentation
----------------

Read the documentation at http://web.cecs.pdx.edu/~josta/sprite/.


4. Contact and Bug Reporting
----------------------------

Sprite was developed and is maintained by Andy Jost (andy.m.jost@gmail.com).
Feel free to contact him with questions, bug reports, feature requests, and
other miscellania.  Direct general questions about Curry to the Curry mailing
list (curry@lists.RWTH-Aachen.DE).

If you find a bug, please report it.  The easiest way is to create a minimal
unit test decorated with ``unittest.expectedFailure``.  Further instructions on
developing and running tests can be found under tests/README.  Once you have
written the test, submit a pull request or send the diff by email.


5. Contributing to Sprite
-------------------------

Contributions are welcome!  For more information, see README.contrib.