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/>