Mark Thom
549a26dd03
restore more tabu_list use to compare_term_tests ( #2633 )
2025-07-07 22:38:12 -07:00
Mark Thom
8981ab72d1
restore tabu_list insertions to PStr-Lis comparisons ( #2636 )
2025-07-07 22:38:12 -07:00
Mark Thom
98dae9aecc
do not allow strings containing null characters to be inlined ( #2848 )
2025-07-07 22:38:12 -07:00
Mark Thom
22080f3787
move CodeIndex to F64Table-like table
2025-07-07 22:38:12 -07:00
Mark Thom
9e1e99f961
Revert "remove Term"
...
This reverts commit 3b5879841aedecba5057c70c71da0ba23e5cd84a.
2025-07-07 22:38:10 -07:00
Mark Thom
eef7b06919
make write_with forward return values, use it to correct partial string handling
2025-07-07 22:02:27 -07:00
Mark Thom
2ad870c740
read Str focus properly in build_meta_predicate_clause
2025-07-07 22:02:27 -07:00
Mark Thom
3dee07f648
some fixes in response to miri
2025-07-07 22:02:27 -07:00
bakaq
9daf016d63
Fix parsing of \x0\ in partial strings
2025-07-07 22:02:27 -07:00
Mark Thom
fadcfb966e
copy partial string blocks properly in all solutions predicates
2025-07-07 22:02:27 -07:00
Mark Thom
57f76169fd
run cargo fmt
2025-07-07 22:02:27 -07:00
Mark Thom
ae4d12a123
remove pstr_vec
2025-07-07 22:02:27 -07:00
Mark Thom
3c85ef2724
globalize ALIGN_CELL/ALIGN, fix compute_pstr_size
2025-07-07 21:59:50 -07:00
Emilie Burgun
15f1320d05
Fix allocate_pstr randomly refusing to properly allocate memory
...
This one was a toughie: it turns out that using `ptr::align_of()`` was
a bad idea, since the buffer in `Heap` itself is not aligned to
`Heap::heap_cell_alignment()`, so `ptr::align_of()` would sometimes
return lower values than expected.
That made for an heisenbug: if the alignment of the heap happened to be 4,
then the bug wouldn't trigger.
2025-07-07 21:59:50 -07:00
Emilie Burgun
7b357ba84d
Fix Heap::drop not accounting for null-initialized HeapInner
2025-07-07 21:59:50 -07:00
Mark Thom
c0cd371056
dereference clause_clause value, reserve more parser space ( #2579 )
2025-07-07 21:59:50 -07:00
Mark Thom
79be0c0625
unmark_cell_bits! in push_literal ( #2645 )
2025-07-07 21:59:50 -07:00
Mark Thom
c0f72704ec
introduce bespoke Heap type for in-heap partial strings
2025-07-07 21:59:50 -07:00
Mark Thom
f7bbdfe73a
variable revision
2025-07-07 21:54:08 -07:00
Mark Thom
1ef681bd21
remove Term
2025-07-07 21:54:08 -07:00
Mark Thom
a69303dc93
throw syntax error after parsing infinite floats ( #2998 )
2025-07-07 21:30:04 -07:00
Mark Thom
778068129f
don't skip '.' char in parse_number_from_string ( #2997 )
2025-07-07 21:28:07 -07:00
Mark Thom
ce56b5ed6b
modify number_token to produce partial lexing results ( #2986 )
2025-07-05 00:58:28 -07:00
Mark Thom
8e01eea440
be more careful about concatenating '.' in parse_number_from_string ( #2986 )
2025-07-01 18:40:49 -07:00
Mark Thom
1cf5de8f5c
Merge pull request #2970 from notoria/clpz
...
Make `(mod)/2` stronger in CLP(Z)
2025-06-16 21:02:38 -07:00
Markus Triska
17377064cf
use nonterminal indicators, correct meta_predicate/1 for higher-order phrase//N
...
Noted by @UWN in https://github.com/mthom/scryer-prolog/discussions/2872 .
Many thanks!
2025-06-14 22:47:29 +02:00
notoria
4b480a7eab
Strengthened (mod)/2 in CLP(Z)
...
?- 8 #= -1 mod #Y.
clpz:(Y in 9..sup), clpz:(-1 mod#Y#=8). % unexpected
Expected: Y = 9
?- 8 #= -12 mod #Y.
clpz:(Y in 9..sup), clpz:(-12 mod#Y#=8). % unexpected
Expected `Y` with finite domain
2025-05-25 13:39:31 +02:00
notoria
4a6f86591c
Strengthened (mod)/2 in CLP(Z)
...
?- 0 #= 2 mod #Y.
clpz:(Y in inf.. -1\/1..sup), clpz:(2 mod#Y#=0). % unexpected
Expected: clpz:(Y in-2.. -1\/1..2), clpz:(2 mod Y#=0)
2025-05-25 13:38:56 +02:00
notoria
37ac5bb3c1
Strengthened (mod)/2 in CLP(Z)
...
?- Z = 8, X = 9, #Z #= #X mod #Y.
Z = 8, X = 9, clpz:(Y in 9..sup), clpz:(9 mod#Y#=8). % unexpected
Expected: false
2025-05-25 13:37:28 +02:00
Dan Rose
9456517bed
Remove obsolete compatibility for Rust<1.80
2025-05-22 14:00:42 -05:00
Mark Thom
8f514ce419
Merge pull request #2955 from rotu/radical-cockroach
...
Remove xor as a builtin infix operator
2025-05-19 22:47:41 -07:00
Dan Rose
e40125ff3a
Document when/2 Condition
2025-05-18 16:46:28 -05:00
Dan Rose
b767e4de25
xor is not a standard operator
2025-05-13 20:32:59 -05:00
bakaq
ca173873af
Update dependencies and fix breaking changes in libffi-sys and arcu
2025-05-13 19:53:13 -03:00
Mark Thom
a42a88a2c9
Merge pull request #2802 from adri326/null-stream-safety
...
Fix UB when interacting with Stream::Null(_)
2025-05-01 17:35:30 -07:00
Mark Thom
90f4716cc3
Merge branch 'null-stream-safety' of https://github.com/adri326/scryer-prolog into adri326-null-stream-safety
2025-04-29 23:32:48 -07:00
Mark Thom
3a6289324e
Merge pull request #2901 from matteob8/patch-1
...
Update http_server.pl
2025-04-29 21:41:07 -07:00
Mark Thom
f496abbbef
use loader:strip_subst_module/4 in second module check of retract/1 ( #2891 , #2893 )
2025-04-22 23:28:19 -07:00
matteob8
00a44921db
Update http_server.pl
...
changed top/0 to the more meaningful run/0 name.
2025-04-21 20:54:43 +02:00
matteob8
d79bc199b3
Update http_server.pl
...
Avoid overwriting of predicate and made explicit reference to the loading of library(http/http_server).
2025-04-21 19:13:20 +02:00
Mark Thom
2c8041250d
Merge pull request #2875 from constraintAutomaton/feature/wasm-result-iterator
...
Make `WasmQueryState` Iterable in JavaScript
2025-04-11 20:52:45 -07:00
Mark Thom
1b22c89211
mark cyclic lists with ellipses at the head ( #2635 )
2025-04-10 22:40:13 -07:00
constraintAutomaton
4e207fc34a
Made WasmQueryState an iterable.
2025-04-10 19:02:04 +02:00
Markus Triska
ba9fed3eae
generalize read_from_chars/2 and read_term_from_chars/3 to allow instantiated Term
...
This addresses part of #2871 , raised by @haijinSk. Many thanks!
2025-04-10 08:18:23 +02:00
Markus Triska
14c8fc3e34
move ~w to least prominent position, point to more suitable specifiers
...
In particular, "~q" is a safe better choice.
2025-04-05 10:01:22 +02:00
Markus Triska
3d60094330
ENHANCED: format specifier ~w more faithfully emulates write/1
...
In particular, variables now start with "_".
Example:
?- format("~w", [X]).
%@ _A true.
Found thanks to a discussion initiated by @haijinSk:
https://github.com/mthom/scryer-prolog/discussions/2863
2025-04-05 09:58:06 +02:00
Aman Verma
a45a1f6197
Use backticks when referencing predicate in docs.
...
Trivial change but this prevents the HTML output from being erroneously italicized.
2025-03-27 18:56:38 -05:00
Markus Triska
57bf1ec39b
ADDED: type pair
2025-03-08 14:42:48 +01:00
Markus Triska
32d91449b5
ADDED: call_with_error_context/2
...
See https://github.com/mthom/scryer-prolog/discussions/2839 for more information.
2025-03-08 09:12:17 +01:00
Mark Thom
3799974b82
Merge pull request #2837 from notoria/next
...
Fix conversion from float to rational
2025-03-01 13:40:09 -08:00