Bennet Bleßmann
ae3019d923
fix unecessary reference/dereference
2025-07-31 21:46:51 +02:00
Bennet Bleßmann
8cc74b2af7
fix clippy::uninlined_format_args
2025-07-31 21:26:08 +02:00
Mark Thom
9b293cf1b6
detect end_of_file before end_of_stream in get_char ( #2990 )
2025-07-22 20:39:52 -07:00
Mark Thom
e303e5a805
correct number_chars ( #2976 )
2025-07-07 22:44:05 -07:00
Mark Thom
762b63e1f4
use granular hierarchical locks in offset_table.rs
2025-07-07 22:44:02 -07:00
Mark Thom
1332611f83
use OffsetTableImpl without synchronization by default
2025-07-07 22:39:47 -07:00
Bennet Bleßmann
725def07cd
fix crash when loading html
2025-07-07 22:39:47 -07:00
Bennet Bleßmann
cbdd0fbf15
make Fixnum::build_with harder to accidentally misuse
...
change trait bound order for better
2025-07-07 22:39:34 -07:00
Mark Thom
d6b6eda77d
fix cont function crashes ( #2920 )
2025-07-07 22:38:12 -07:00
Mark Thom
4e0493474e
replace deprecated unify_complete_string call with allocate_cstr
2025-07-07 22:38:12 -07:00
Markus Triska
d51cbd67e0
ENHANCED: partial_string/3 no longer creates atoms
...
As a consequence, resulting strings are now quickly reclaimed on
backtracking.
This addresses #2912 .
Test case:
:- use_module(library(iso_ext)).
:- use_module(library(lists)).
ab(a).
ab(b).
Sample query:
?- length(Ls, 1_000_000),
maplist(ab, Ls),
partial_string(Ls, Es0, []),
Es0 == Ls.
Ls = "aaaaaaaaaaaaaaaaaaa ...", Es0 = "aaaaaaaaaaaaaaaaaaa ..."
; Ls = "aaaaaaaaaaaaaaaaaaa ...", Es0 = "aaaaaaaaaaaaaaaaaaa ..."
; Ls = "aaaaaaaaaaaaaaaaaaa ...", Es0 = "aaaaaaaaaaaaaaaaaaa ..."
; Ls = "aaaaaaaaaaaaaaaaaaa ...", Es0 = "aaaaaaaaaaaaaaaaaaa ..."
; Ls = "aaaaaaaaaaaaaaaaaaa ...", Es0 = "aaaaaaaaaaaaaaaaaaa ..."
; ... .
running in constant memory.
2025-07-07 22:38:12 -07:00
Mark Thom
706ffe7ad9
fix functor! size calculations around indexing_code_ptr
2025-07-07 22:38:12 -07:00
Mark Thom
e20363b462
correct create_partial_string ( #2593 )
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
fadcfb966e
copy partial string blocks properly in all solutions predicates
2025-07-07 22:02:27 -07:00
Mark Thom
ae4d12a123
remove pstr_vec
2025-07-07 22:02:27 -07:00
Mark Thom
c0f72704ec
introduce bespoke Heap type for in-heap partial strings
2025-07-07 21:59:50 -07:00
Mark Thom
1ef681bd21
remove Term
2025-07-07 21:54:08 -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
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
revue_2_presse
5d468d3e19
Replace futures::executor::block_on with tokio::block_in_place
2025-02-25 20:31:19 +01:00
Emilie Burgun
d8213e29c5
Fix set_output/1 and set_input/1 not updating the alias
...
Before this change, the following set of queries would behave incorrectly:
```
?- open("/tmp/out.log", write, S), set_output(S).
prints(""), write("/tmp/out.log", "S = stream(...)").
?- write(user_output, hello).
prints("hello"), unexpected.
prints(""), write("/tmp/out.log", "hello"). % Expected, but not found.
```
Now, `set_output/1` and `set_input/1` properly bind the `user_output` and
`user_input` aliases, making the queries above behave as expected.
2025-02-06 23:01:38 +01:00
Emilie Burgun
949d316773
Fix realiased streams causing close/1 to leave a dangling stream
2025-02-06 23:00:00 +01:00
Emilie Burgun
0cf46d3ec4
Encapsulate accesses to IndexStore::streams and ::stream_aliases
...
These two fields are able to hold `Stream` instances, which predicates like `close/1`
expect to be managed properly for their correctness. To ensure that this is the case,
I have removed direct accesses to those two fields, so that they can be properly managed
in one place.
2025-02-06 23:00:00 +01:00
Emilie Burgun
fdc35f8b40
Fix UB caused by interactions with null streams
2025-02-03 00:08:37 +01:00
Emilie Burgun
2fe7b55343
Fix close/1 messing up stream_aliases when user_input or user_output aren't set to Stdin and Stdout
2025-02-03 00:07:39 +01:00
bakaq
590d0daa24
Fix clippy warnings
2025-01-28 16:49:41 -03:00
Emilie Burgun
b76bdd75e4
Fix #2725 by calling load_context/1 in the unspecified branch of strip_module/3
...
This fixes #2725 , by making it so that `strip_module(Pred, M, P), call(M:P)`
doesn't throw an `instanciation_error` when `Pred` isn't in the form `module:predicate`.
Now, `strip_module(hello, M, P)` will call `load_context(M)`, which unifies `M`
with the topmost module (or `user`).
Two new test cases are added: issue2725.pl, which tests the minimal case id(X) --> X.
and the strip_module(P, M, _), call(M:P) scenario, and module_resolution,
which tests the behavior of strip_module in a few scenarios.
2025-01-12 14:08:28 +01:00
Mark Thom
afc7b74bbd
qualify module quantification errors better ( #2685 )
2024-12-25 12:25:01 -08:00
Mark Thom
d287095e61
style corrections
2024-12-25 12:25:01 -08:00
Mark Thom
555dff5bad
leave variable modules uninstantiated ( #2685 )
2024-12-19 20:20:29 -08:00
notoria
8cde3f8ce3
Add '$random_integer'/3
2024-12-08 20:00:00 +01:00
Javier Sagredo
8e5ddebddb
Ignore KeyEventKind::Release events when reading a char
2024-12-04 00:05:10 +01:00
Mark Thom
ff03432624
admit YF in current_op/3 ( #2639 )
2024-11-14 22:41:43 -07:00
Mark Thom
9785a04b3a
Merge pull request #2596 from Skgland/issue-2588
...
fix issue #2588
2024-10-05 22:12:45 -06:00
Bennet Bleßmann
e9f03c89a6
fix issue #2588
2024-10-04 19:25:34 +02:00
bakaq
3bc1885606
Fix not compiling without hostname feature
2024-09-29 16:51:11 -03:00
bakaq
16734ec7e4
Fix Clippy
2024-09-06 21:34:49 -03:00
Bennet Bleßmann
409f56ea37
use an enum for OpDesc spec
2024-08-05 21:25:36 +02:00
Bennet Bleßmann
260c52adec
replace select by scrape
...
- the latter appears better maintained and more up to date
- removes some dupplicate/outdated transitive deps
2024-08-04 02:35:36 +02:00
Bennet Bleßmann
b1f057b67d
resolve problems from deps upgrade
...
- downgrade reqwest to 0.11.27
- fixes problems with missmatched transitive dependencies between it and warp, mainly http
- replace deprecated ripemd160 with ripemd (as specified in the formers readme)
- indexmap: replace deprecated remove with functionally identical swap_remove
2024-08-04 01:57:25 +02:00
Mark Thom
eaa95293e4
Merge pull request #2439 from Skgland/miri
...
Some cleanup and miri fixes
2024-07-22 13:40:57 -06:00
Bennet Bleßmann
1b19ae81d5
wrap Payloads that are dropped eraly in ManuallyDrop
2024-07-07 15:58:31 +02:00
Bennet Bleßmann
1d66f91a41
replace ref_thread_local::ref_thread_local! with std::thread_local!
...
removes `ref_thread_local` which was still at 0.0.0 released October 2018 while latest 0.1.1 was released mid November 2021
fixes libraries.rs UB
2024-07-06 17:18:26 +02:00
Adrián Arroyo Calle
08a9f7c068
Fix at_end_of_stream/1 for http read stream
2024-07-06 16:00:50 +02:00
Bennet Bleßmann
285f11ccdc
add associated Payload type to ArenaAllocated
2024-07-06 15:37:08 +02:00
Mark Thom
5e1effc69a
fix failing clippy checks, remove unnecessary code
2024-04-25 20:05:22 -06:00