//! An easily embeddable, futures-friendly logic engine.
//!
//! If you want to understand more about this implementation, see
//! [How to replace failure by a list of successes](http://dl.acm.org/citation.cfm?id=5280.5288)
//! by Philip Wadler. This code does not follow that paper exactly (since we can encounter errors
//! during resolution), but the general approach is the same.
extern crate failure;
extern crate frunk;
extern crate futures;
extern crate lalrpop_util;
extern crate lazy_static;
extern crate regex;
pub
lalrpop_mod!;
pub use ;
pub use ;
pub use Env;
pub use Subst;