-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmainpage.dox
More file actions
56 lines (53 loc) · 1.71 KB
/
Copy pathmainpage.dox
File metadata and controls
56 lines (53 loc) · 1.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# pl_search_cpp Documentation
/**
*
* @mainpage pl_search_cpp Documentation
*
* @section intro Introduction
*
* pl_search_cpp is a C++ library that approximates Prolog predicates using a continuation-passing style.
* It provides a framework for defining and executing Prolog-like predicates, including support for
* backtracking, choice points, and unification. Its intended use is to support
* backtrack search in a wide range of problem domains, not as a pathway to a Prolog
* implementation.
*
* @section features Features
*
*
* * Prolog-like predicates
* * Continuation-passing style execution
* * Backtracking
* * Unification of terms
* * Support for variables, integers, floats, atoms, and C-like lists as well as user defined term types.
*
*
* @section usage Usage
*
* To use the pl_search_cpp library, include the necessary headers in your project and link against the library.
*
*
* @code
* #include "pl_search/term.hpp"
* #include "pl_search/pvar.hpp"
* #include "pl_search/pint.hpp"
* #include "pl_search/pfloat.hpp"
* #include "pl_search/patom.hpp"
* #include "pl_search/clist.hpp"
* #include "pl_search/trail.hpp"
* #include "pl_search/pred.hpp"
* #include "pl_search/typedefs.hpp"
* @endcode
*
* @section examples Examples
* The examples directory contains the following examples of using the library.
* * A solver for the SEND+MORE=MONEY puzzle (`send_more_money.cpp`).
* * An example of a user defined Term type (`prolog_list.hpp`).
* * An implementation of the Prolog append predicate using the above type (`append_pred.hpp`).
* * A main program ( `prolog_list.cpp`) that exercises the definitions above.
*
* @section license License
*
* This project is licensed under the MIT License - see the LICENSE file for details.
*
*
*/