Mark
e529e7ba21
improve goal expansion and (',') interpretation error handling
2023-07-20 14:27:10 -06:00
Mark
4fd247f881
check for unexpected EOF in get_to_eof ( #1897 )
2023-07-19 17:13:47 -06:00
Mark
14646074be
remove failing append choicepoint in atom_concat/3 special case ( #1893 )
2023-07-18 14:44:02 -06:00
Mark Thom
1ba040c24d
Merge pull request #1885 from mthom/setof_bagof_fixes
...
Fix group_by_variants/4 and keysort in setof/3
2023-07-18 12:35:10 -06:00
Mark
db43d461b9
catch errors thrown from tabling Worker ( #1526 , #1888 )
2023-07-18 12:10:27 -06:00
Mark
42a50474da
remove read/{1,2} as a builtin, write read options upon EOF, throw better domain errors in parse_read_term_options/2
2023-07-17 16:45:03 -06:00
Mark
5a7da721cd
add read_term_from_chars/3 ( #637 )
2023-07-15 11:20:20 -06:00
Mark
ff5e9a793b
add unknown flag to set_prolog_flag and current_prolog_flag
2023-07-14 19:10:10 -06:00
Mark
101d0548db
fix group_by_variants/4 and keysort in setof/3 ( #1440 , #1856 )
2023-07-14 18:52:29 -06:00
Markus Triska
9590d5200c
ADDED: countall/2, for compatibility with GNU Prolog.
...
Example:
?- countall(member(X, "abc"), N).
N = 3.
2023-07-13 23:08:13 +02:00
Markus Triska
814ce2d672
ENHANCED: improved determinism of member/2
...
Example:
?- member(X, "abc").
%@ X = a
%@ ; X = b
%@ ; X = c.
This addresses #750 .
2023-07-12 14:39:08 -06:00
Mark Thom
fd70d8975b
Merge pull request #1832 from aarroyoc/http-fixes
...
Multiple fixes for http libraries
2023-07-06 16:30:56 -06:00
Mark
483e4568a2
add scc_block to MachineState to avoid SCC cleanup terms being deallocated too early ( #1427 )
2023-07-06 11:20:49 -06:00
Mark
5ffdd2d91a
shrink scope of control_entry_point catch, add CutPoint tag to printer
2023-07-05 14:50:49 -06:00
Mark
9cdad087ef
add double_quotes write option for printing to strings, enable it at toplevel
2023-07-03 12:09:05 -06:00
Mark
d079a18459
removing residual debugging comments from format.pl
2023-07-02 11:10:25 -06:00
Adrián Arroyo Calle
330e9ba4ef
Multiple fixes for http libraries
...
* use reqwest for http_open (still uses Hyper underneath)
* use Hyper 1.0.0-rc3 for server
* Modify all internal handling of server
2023-06-29 23:43:37 +02:00
Mark
58af615dd4
correct and generalize current_predicate/1
2023-06-28 17:31:43 -06:00
Mark
039fffb339
better detect syntax errors in lexer.rs ( #1771 )
2023-06-27 16:39:20 -06:00
Markus Triska
ceb276b249
use copy_term_nat/2
2023-06-27 22:37:23 +02:00
Mark
b593fffc7d
support module resolution in current_predicate/1 ( #1817 )
2023-06-27 11:08:29 -06:00
Mark
aa65287c3b
remove tabling attributes in each module's attribute_goals//1 ( #1825 )
2023-06-27 10:31:10 -06:00
Markus Triska
9bc3757a9e
another case of "read" --> "get", for an only internally used predicate
2023-06-24 11:48:28 +02:00
Markus Triska
18d0a74f23
MODIFIED: read_line_to_chars/3 is now called get_line_to_chars/3
...
This is for consistency with other I/O predicates, where "read" always
indicates Prolog terms. Please adjust your programs accordingly.
2023-06-24 11:47:32 +02:00
notoria
911c49c43f
Compute correctly the domain of the remainder
2023-06-23 14:11:31 -06:00
notoria
770a682d8b
Don't add variable
...
?- Z #= 0, Z #= X mod Y.
Z = 0, clpz:(_A*Y#=X), clpz:(Y in inf.. -1\/1..sup) % Unexpected.
The expected result:
Z = 0, clpz:(X mod Y#=0), clpz:(Y in inf.. -1\/1..sup).
2023-06-23 14:11:31 -06:00
notoria
73ca37ecca
Remove and move comments
2023-06-23 14:11:31 -06:00
Markus Triska
97bd778745
FIXED: correctly reset counter in reset_gensym/2 ( #1807 )
...
Many thanks to @infradig for detecting this issue and suggesting this
correction!
2023-06-23 14:11:31 -06:00
Markus Triska
43df2e2649
shorten gensym/2
2023-06-23 14:11:31 -06:00
Markus Triska
86beb222ae
rely on first instantiated argument indexing in the definitions of foldl/N
...
This allows shorter and more natural definitions.
2023-06-23 14:11:31 -06:00
Mark
0e583d620a
implement new disjunction compilation
2023-06-23 14:11:31 -06:00
Mark Thom
942095baa7
remove GetLevelAndUnify and replace it with GetCutPoint
2023-06-23 14:11:30 -06:00
Mark
c5a3ec3ba8
fix current_predicate/1 ( #1761 )
2023-04-24 23:23:27 -06:00
Markus Triska
2a1b8f37ec
remove residual goal for ground BDD
...
Example:
?- sat(X).
X = 1.
2023-04-23 09:23:00 +02:00
Mark
f35298a227
add and document inlined_instructions/2 to/in diag.pl ( #1791 )
2023-04-22 18:38:49 -06:00
Markus Triska
8b7281fad0
ADDED: dif_si/2
...
Source: https://stackoverflow.com/questions/20223390/prolog-a-person-is-a-sibling-of-himself
In Scryer Prolog, this is actually not needed, since Scryer Prolog provides
dif/2 in library(dif). However, it is still useful to provide dif_si/2 for two reasons:
1) to more easily port code from systems where only dif_si/2 is available
2) to provide correct disequality in other systems that adopt this library
2023-04-23 00:37:14 +02:00
Adrián Arroyo Calle
4b882c465c
library(charsio): add to_upper and to_lower
2023-04-18 18:58:09 +02:00
Markus Triska
5763a4b9df
FIXED: propagation for ground tuples
...
Example:
?- tuples_in([[A,A]],[[0,1],[2,0]]).
false.
See https://github.com/triska/clpz/issues/22 .
2023-04-13 23:39:45 +02:00
Markus Triska
5dce7d9075
FIXED: enforce equality also for ground elements in tuples
...
Example:
?- tuples_in([[A,B]], [[1,2],[3,4]]),
tuples_in([[A,B]], [[3,2]]).
false.
See https://github.com/SWI-Prolog/swipl-devel/issues/1160 .
2023-04-11 22:33:19 +02:00
Markus Triska
f08f539768
do not create attributed variables for ground tuples
2023-04-11 21:26:18 +02:00
Markus Triska
be45672e22
actually disable and reenable the queue
2023-04-11 21:26:18 +02:00
Markus Triska
94efb9ffe3
remove no longer needed clpz_relation attributes
2023-04-11 21:26:18 +02:00
Markus Triska
fd1e902492
do not leave an attribute when (re-)enabling a queue
2023-04-11 21:14:18 +02:00
Mark Thom
4ee6a7bfb8
add '$unattributed_var' builtin ( #1758 )
2023-03-18 23:08:38 -06:00
Markus Triska
01285f12c3
remove no longer needed queue attributes after propagation
2023-03-15 21:17:06 +01:00
Markus Triska
cd586aab8c
show remaining queue/2 attributes as residual goals
...
This lets us verify that all attributes are correctly removed earlier.
2023-03-15 19:56:02 +01:00
Mark Thom
4da646252b
Revert "correct call_residue_vars/3 using new copy_term_3 ( #1239 )"
...
This reverts commit 9b35a316c9 .
2023-03-14 21:34:49 -06:00
Mark Thom
cc8bb38abc
Revert "use new call_residue_vars/2 in toplevel.pl ( #847 )"
...
This reverts commit 04ba9bc11a .
2023-03-14 21:34:48 -06:00
Mark Thom
04ba9bc11a
use new call_residue_vars/2 in toplevel.pl ( #847 )
2023-03-12 17:56:54 -06:00
Mark Thom
9b35a316c9
correct call_residue_vars/3 using new copy_term_3 ( #1239 )
2023-03-12 17:56:54 -06:00