Commit Graph

211 Commits

Author SHA1 Message Date
Markus Triska
fac6d54986 extend description of strings and partial strings
Also, explain in more detail what this feature means to Prolog
application programmers, and the strategic direction of Scryer.
2020-04-08 21:07:00 +02:00
Mark Thom
6299d41cda mark clp(X) item as completed, restore clp(Z) library description 2020-04-05 21:26:27 -03:00
Markus Triska
8b1df2e9ca ADDED: CLP(ℤ), Constraint Logic Programming over Integers
library(clpz) implements declarative integer arithmetic.

The most important predicates for reasoning about integers are:

    (#=)/2    equality
    (#\=)/2   disequality
    (#<)/2    less than
    (#>)/2    greater than
    (#=<)/2   less than or equal to
    (#>=)/2   greater than or equal to

In addition, the library provides several global constraints, such as
all_distinct/1 and global_cardinality/2, and reification predicates
that reflect the truth values of constraints into integer variables.

Enumeration predicates such label/1 and labeling/2 can be used to
search for solutions over finite domains.

Almost all Prolog programs also reason about integers. Therefore, I
recommend to add this library to your .scryerrc configuration file so
that declarative integer arithmetic is available in all your programs.

More information about CLP(ℤ):

    https://www.metalevel.at/prolog/clpz

Enjoy!
2020-04-06 01:59:41 +02:00
Markus Triska
b9561ec8db update toplevel interaction 2020-03-17 17:42:57 +01:00
Markus Triska
e2a4854bcf include a short overview of notable libraries 2020-03-15 11:43:32 +01:00
Mark Thom
23e833c69e update README.md 2020-03-08 18:02:06 -06:00
Mark Thom
b2cf6a6ea8 update README 2020-02-29 15:23:48 -07:00
Mark Thom
1d79e22468 mention rustup.rs in README (#261) 2020-02-23 13:22:56 -07:00
Mark Thom
b2e50b42a3 rename non_iso.pl to iso_ext.pl (#265) 2020-02-22 00:58:37 -07:00
Mark Thom
a2a4c78c9a update README 2020-02-19 21:38:19 -07:00
Mark Thom
554b08a7d2 version bump, README.md tweak 2020-02-04 17:47:57 -07:00
Mark Thom
62b41ddb93 remove tabling/SLG resolution from nice-to-have list 2020-02-02 22:34:54 -07:00
Mark Thom
d83c5cf5f1 add tabling library, update README, make Cargo.toml non-local 2020-02-02 22:24:48 -07:00
Mark Thom
668c9489c9 update README 2020-01-26 20:19:44 -07:00
Mark Thom
3bf1cbbe6c push of preliminary delimited continuations library cont.pl (#136) 2019-12-20 22:27:49 -07:00
Mark Thom
52488b875a add predicates to lists.pl 2019-12-01 19:30:40 -07:00
Mark Thom
9c9c484ee4 add copy_term/3 (#232) 2019-11-29 00:44:23 -07:00
Anton Kochkov
c0a49b6a66 Fix README formatting 2019-11-19 18:48:46 +08:00
Mark Thom
e656e7fbae add sign/1 (#216) and gcd/2 (#217) as evaluable functors, update the README 2019-10-27 13:05:05 -06:00
Mark Thom
2eea0528b1 remove all mention of [clear] from the README 2019-10-26 01:35:26 -06:00
Mark Thom
1b1879a6fa fix attributed variables bug causing weighted_maximum/3 example to omit a variable binding 2019-10-20 14:50:46 -06:00
Mark Thom
b12ba338df remove readline_compat_rs reference from README 2019-10-02 11:33:28 -06:00
Mark Thom
9df14cf890 add use_module/{1,2} as full fledged predicates 2019-09-30 10:26:29 -06:00
Mark Thom
380aae85bd add wam_instructions/2 to render predicate instructions as lists of functors 2019-09-22 16:06:50 -06:00
Mark Thom
2c880b2bc0 address issues #143, #150, #155 2019-09-02 16:53:31 -04:00
Mark Thom
07412b9d34 add fail predicate 2019-06-20 20:59:27 -04:00
Mark Thom
d5223b9bbd fix min/1, max/1 2019-05-13 18:11:27 -04:00
Mark Thom
59ab4cd67c process float/1 and pi/0 2019-05-12 22:21:29 -04:00
Mark Thom
f344150322 revamp evaluable functors, add missing evaluable functors 2019-05-12 20:14:00 -04:00
Mark Thom
d09aeb4125 update README 2019-04-30 20:56:18 -06:00
Mark Thom
3fd274c583 add remaining atomic term processing builtins, rename (=@=)/2 to variant/2, address issue #133 2019-04-30 20:55:53 -06:00
Mark Thom
14d629492d add unify_with_occurs_check/2 2019-04-28 22:23:34 -06:00
Mark Thom
d066765248 add subsumes_term/2 2019-04-28 14:48:12 -06:00
Mark Thom
6be03a7f7a add number_chars/2 2019-04-28 14:36:38 -06:00
Mark Thom
0579ad6cfa update README.md 2019-04-07 10:09:01 -06:00
Mark Thom
4bd9908b89 resolve conformity test #138 (issue #52) 2019-04-07 10:07:17 -06:00
Mark Thom
68f89b32b8 update README 2019-04-06 17:50:50 -06:00
Mark Thom
e3e6f926c7 add atom_length/2, atom_chars/2, atom_codes/2 2019-04-05 23:00:53 -06:00
Mark Thom
272b4f6d8d add current_op/3 2019-04-05 21:25:49 -06:00
Paulo Moura
785d8d28e3 add de facto standard forall/2 predicate as a built-in predicate 2019-04-03 11:58:29 +01:00
The Fox in the Shell
0dc0081ad5 README: Use checkboxes to track item completion in Phase 2 2019-04-01 19:01:04 +02:00
Mark Thom
0aefcf7eae add op/3 to builtin predicates 2019-03-30 18:14:47 -06:00
Mark Thom
33b581effc enable an option to disable readline 2019-03-21 19:46:42 -06:00
Mark Thom
cd683c7f3d update readline instructions in README, dependence on readline_rs_compat with new library search paths 2019-03-17 19:22:36 -06:00
Mark Thom
179bede1db update version and README 2019-03-17 18:11:08 -06:00
Mark Thom
fd703c3610 make toplevel more consistent with answers, depend on readline package without renaming. 2019-03-17 17:49:51 -06:00
Mark Thom
1ce8d90627 add halt/0 2019-03-17 14:38:55 -06:00
Mark Thom
2fad1c724c use the readline library at toplevel 2019-03-16 19:12:06 -06:00
Mark Thom
bc0f0719fb update README 2019-03-13 09:29:28 -06:00
Mark Thom
0eb2fb3d90 add non-backtrackable and backtrackable global variables 2019-03-13 00:16:57 -06:00