Commit Graph

215 Commits

Author SHA1 Message Date
Markus Triska
c0df8cb578 update answer to use the latest toplevel improvements 2020-04-19 19:18:47 +02:00
Markus Triska
450591d5a9 ENHANCED: the toplevel interaction now supports RETURN as a synonym for "."
This is made possible due to the recent improvements by @notoria.
2020-04-18 14:16:46 -06:00
Markus Triska
e8091d8add update the toplevel description, incorporating the latest changes 2020-04-18 14:16:40 -06:00
Markus Triska
786f0b5ca2 incorporate the latest improvements in the description of partial strings
As of 6e4b76a3b4, the use of
partial_string/3 can be replaced by (=)/2 in this example.
2020-04-12 20:46:22 +02:00
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