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
Markus Triska
b8526e0510
FIXED: portray_clause/1 for numbers
2025-02-28 08:41:19 +01:00
Markus Triska
2d4fcf9714
correct handling of floats with N digits (~f and ~Nf)
...
This addresses #2771 . Many thanks to @tmerr for reporting the issue!
The code was posted by @UWN in:
https://github.com/mthom/scryer-prolog/discussions/2805
Many thanks! With additional inputs by @adri326 and @notoria, who also
posted interesting approaches which could help to increase precision
in cases that are currently not ideally handled. Thank you all!
Please see the issue and discussion for more information.
2025-02-28 08:40:53 +01:00
notoria
4f3843742c
Fix conversion from float to rational
2025-02-28 08:00:00 +01:00
Mark Thom
a0e3283d64
Merge pull request #2835 from thierrymarianne/fix-http_open-hanging-on-top-of-main-branch
...
Prevent http_open/3 from hanging
2025-02-27 21:38:58 -08:00
Mark Thom
c9a0f3332e
Merge pull request #2792 from triska/must_be_chars
...
FIXED: instantiation and type check for string arguments
2025-02-27 21:26:40 -08:00
revue_2_presse
5d468d3e19
Replace futures::executor::block_on with tokio::block_in_place
2025-02-25 20:31:19 +01:00
bakaq
080a4fed03
Documentation
2025-02-20 01:04:38 -03:00
bakaq
3b89c1124d
Consult modules
2025-02-20 01:04:38 -03:00
bakaq
236ed93c6c
Send pure objects instead of classes
2025-02-20 01:04:38 -03:00
bakaq
cea8e6b1c9
MachineBuilder constructor
2025-02-20 01:04:38 -03:00
bakaq
93e804eeaa
Rework Wasm interface
2025-02-20 01:04:38 -03:00
Mark Thom
4fc4152eac
Merge pull request #2817 from adri326/fix-2815-run_module_predicate-backtrack
...
Fix backtracking on the topmost predicate triggering UB in run_module_predicate
2025-02-16 22:47:49 -08:00
bakaq
3fc5709c50
Add builder style configuration of user input, output and error
2025-02-16 04:04:48 -03:00
bakaq
28926486e0
More stream tests
2025-02-16 04:04:48 -03:00
bakaq
ad211d5e05
Disallow null streams in output
2025-02-16 04:04:48 -03:00
bakaq
5386c183d2
Make input and output stream configuration public
2025-02-16 04:04:48 -03:00
bakaq
0a2457943e
Configure streams separately
2025-02-16 04:04:48 -03:00
bakaq
baae1dca15
Refactor UserInput to use channels
2025-02-16 04:04:48 -03:00
bakaq
4e032c8a28
Test for callback streams
2025-02-16 04:04:48 -03:00
bakaq
7a6620b52d
Add input stream channel
2025-02-16 04:04:48 -03:00
bakaq
dd6533e76c
Add callback streams
2025-02-16 03:52:52 -03:00
Mark Thom
c77ea48fbd
Merge pull request #2804 from dnmfarrell/line-count-off-by-one
...
Line numbers start at 1
2025-02-12 23:23:44 -08:00
Mark Thom
35c1880937
Merge pull request #2818 from adri326/stream-cleanup
...
Fix various issues around close/1 and stream realiasing
2025-02-12 23:23:11 -08:00
Emilie Burgun
f45b0bcfe8
Remove redundant alias resolution in at_end_of_stream/1, add corresponding tests for null streams
...
Also fixed at_end_of_stream/0 leaving a choicepoint.
2025-02-07 15:05:01 +01:00
Emilie Burgun
8966e175f1
[fixup] return that reading from a null stream wrote 0 bytes to the buffer
2025-02-07 14:35:27 +01:00
Emilie Burgun
2a218f34b9
Test corner cases of stream aliasing
2025-02-06 23:47:22 +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
7f2ce57ba7
Fix stream realiasing possibly shadowing other streams.
2025-02-06 23:01:33 +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
e68ac8347f
Document run_module_predicate and handle critical failure in toplevel.pl
2025-02-06 13:36:23 +01:00
Emilie Burgun
d4bf52e82c
Disable test_run_module_predicate_throw under miri and support rustc < 1.83
2025-02-06 10:37:54 +01:00