README.markdown @ 9995687a24c8 default tip

Merge pull request #17 from bd339/master

Make push-logic-frame-with work with nonlocal exits and multiple values
author Steve Losh <steve@stevelosh.com>
date Mon, 21 Dec 2020 20:51:12 -0500
parents e5916bc47786
children (none)
    ,--,--'
    `- | ,-. ,-,-. ,-. ,-. ,-. ,-. ,-. ,-. ,-.
     , | |-' | | | | | |-' |   ,-| | | |   |-'
     `-' `-' ' ' ' |-' `-' '   `-^ ' ' `-' `-'
                   |
                   '

Temperance is a logic programming library for Common Lisp.

**Temperance is still in development, don't actually try to use this for
anything important yet.**

![I don't know what that means](https://i.imgur.com/EWPGAHa.gif)

Temperance is an implementation of the [Warren Abstract Machine][wam] in Common
Lisp, designed to let you write Lispy Prolog.  Its main goals are:

* Be fast.
* Implement a decent subset of vanilla Prolog.
* Execute quickly.
* Interop back and forth with Common Lisp.
* Don't be slow.

Temperance was made with [General Game Playing][ggp] in mind (hence the focus on
performance), but should be useful for anything you might normally use Prolog
for.

[wam]: https://en.wikipedia.org/wiki/Warren_Abstract_Machine
[ggp]: https://en.wikipedia.org/wiki/General_game_playing

* **License:** MIT
* **Documentation:** <https://docs.stevelosh.com/temperance/>
* **Mercurial:** <https://hg.stevelosh.com/temperance/>
* **Git:** <https://github.com/sjl/temperance/>