Adrián Arroyo Calle
076a75d138
Allow comparisons with stream terms
2023-07-04 17:33:48 +02:00
Mark
ab893be418
update tests
2023-07-03 13:18:53 -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
cb25a90250
add iso-conformity-tests.pl to test suite
2023-07-02 11:10:33 -06:00
Mark
a09306c585
check ambiguity of "'" against tail if atom token is about to be quoted
2023-07-02 11:10:33 -06:00
Mark
8140ff9154
always print a space between prefix operator and its operand
2023-07-02 11:10:33 -06:00
Mark
d079a18459
removing residual debugging comments from format.pl
2023-07-02 11:10:25 -06:00
Mark
b0566e4150
use lexer to detect remaining layout in parse_number_from_string ( #1773 )
2023-06-30 17:18:10 -06:00
Markus Triska
31030738a4
remove now unneeded check
2023-06-30 22:14:00 +02:00
Mark
caf84a259e
check that F in needs_bracketing/2 is an atom
2023-06-30 13:45:45 -06:00
Mark
1620824d3a
do not enclose '(' as atom in brackets ( #1487 )
2023-06-30 12:06:07 -06:00
Markus Triska
42282c6e6e
remove unneeded case: only operator definitions should count, not quoting
2023-06-30 18:03:21 +02:00
Markus Triska
a3f8ddd24a
remove subsumed case: F == Value means Arity =:= 0, now considered above
2023-06-30 18:02:43 +02:00
Markus Triska
bfe808a779
shorten needs_bracketing/2
2023-06-30 18:01:54 +02:00
Markus Triska
28065b0565
constrain bracketing to operators with pertaining arity
...
Example:
?- X = -->(a,b,c).
X = -->(a,b,c).
2023-06-30 18:01:17 +02:00
Markus Triska
db972de40c
bracket all operators that are direct operands of (=)/2
...
This addresses #804 .
2023-06-30 08:03:38 +02: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
bb09de1805
fix ReadlineStream peek_char using CharReader
2023-06-29 14:58:15 -06:00
Mark
a6a0cef9fc
read the cell written to by mark_var when needed in compile_is ( #1846 )
2023-06-29 12:58:15 -06:00
Mark
c36bd4dc07
introduce CutPoint heap tag so that they can be offset by call_continuation/1
2023-06-29 12:14:15 -06:00
Mark
58af615dd4
correct and generalize current_predicate/1
2023-06-28 17:31:43 -06:00
Mark
c4b13a2176
unify stack variables to streams in unify_constant ( #1845 )
2023-06-27 17:35:10 -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
16f281e3d1
enable unification of streams to alias atoms ( #1823 )
2023-06-27 12:23:40 -06:00
Mark
b593fffc7d
support module resolution in current_predicate/1 ( #1817 )
2023-06-27 11:08:29 -06:00
Mark
ce890799bc
fix builtin_predicate ( #1819 )
2023-06-27 10:41:15 -06:00
Mark
aa65287c3b
remove tabling attributes in each module's attribute_goals//1 ( #1825 )
2023-06-27 10:31:10 -06:00
Mark
a6522d6317
properly account for partial string offsets in '$skip_max_list' ( #1827 )
2023-06-26 16:36:04 -06:00
Mark
0b45d42912
mark chunk boundary at beginning of disjunct in disjuncts.rs ( #1843 )
2023-06-24 17:18:00 -06:00
Mark
d9829a3606
fix string incompleteness ( #1828 )
2023-06-24 14:12:08 -06:00
Mark
9f209dadd9
fix branch subsumption bug ( #1840 , #1841 )
2023-06-24 10:59:29 -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
Mark
7a188744da
correct code_walker.rs in light of compilation improvements
2023-06-23 16:53:18 -06:00
Mark
7f45ac3f7a
Merge branch 'compiling_disj'
2023-06-23 15:45:04 -06:00
Mark
612861e010
correct reversions after rebase
2023-06-23 14:32:37 -06:00
Mark
fcae0d9fcf
polish perm free list management
2023-06-23 14:11:31 -06:00
Mark
92853a6a12
free local cut variables after cut
2023-06-23 14:11:31 -06:00
Mark
4ad113a6f8
mark is/2 allocated permanent variables as safe, add CompareNumber terms to ClauseType::is_inlined
2023-06-23 14:11:31 -06:00
Mark
d7f5675727
improve call/N implementation ( #1829 )
2023-06-23 14:11:31 -06:00
Mark
4d982d22c1
set_local_value does not make values safe ( #1812 )
2023-06-23 14:11:31 -06:00
Mark
5ed1802f0f
read set_value args from temp regs of put_unsafe_value ( #1812 )
2023-06-23 14:11:31 -06:00
Markus Triska
2716381e7b
FIXED: correct dereferencing in atom_codes/2 and number_codes/2.
...
This addresses #1818 .
Test case:
run :-
length(Ls, L),
portray_clause(L),
maplist(=(X), Ls),
X = Y,
Y = 12,
atom_codes(_, Ls),
false.
2023-06-23 14:11:31 -06:00
Mark
749dedf477
read from machine stack in stackful pre-order iterator ( #1812 )
2023-06-23 14:11:31 -06: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
Mark
e0f49e8f43
optionally read from machine stack in stackful pre-order iterator ( #1812 )
2023-06-23 14:11:31 -06:00
Mark
dae34b6009
affirm integers as rational/1 ( #1810 )
2023-06-23 14:11:31 -06:00