bakaq
b8ccebbf24
Fix bug in finding arity for verify attributes
2025-02-04 04:11:11 -03:00
Emilie Burgun
7108e87e92
Make Stream::Null behave like /dev/null
2025-02-03 00:12:03 +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
Mark Thom
5a869e8b48
Merge pull request #2777 from adri326/fix-2772-rnd_i-clipping
...
Fix invalid casts in is/2
2025-01-26 23:14:57 -07:00
Emilie Burgun
20735ea34c
Fix integer overflow in >>/2 and <</2
2025-01-27 00:10:47 +01:00
Emilie Burgun
f3a92c6551
Fix min/2 and max/2 returning the cast version of its arguments
...
It now behaves the same way as SWI-Prolog.
2025-01-27 00:06:06 +01:00
Emilie Burgun
e2d1a2b6bc
Fix X is gcd(1, 2 ^ 64) triggering a panic
...
The implementation for gcd/2 would cast the second argument to an isize.
2025-01-27 00:06:06 +01:00
Emilie Burgun
d3361c16d8
Fix round() losing precision on bigints
...
The original issue can be reproduced with `X is round(2 ^ 54 + 1) - 2 ^ 54, X = 1.`
2025-01-27 00:05:30 +01:00
Emilie Burgun
9420c7e41e
Fix rnd_i clipping floats that don't fit in Fixnum
...
Fixes #2772 .
The current implementation of `rnd_i` incorrectly casts `f` (an `f64`)
into an `i64`, before casting it into an `Integer`.
This fixes that issue by using `Integer::try_from(f)` instead,
and failing if `f` is infinite or NaN.
A fixme is left for a future PR to properly handle the resulting errors
in floor/1 and friends (right now they can only be triggered through FFI).
2025-01-27 00:02:04 +01: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
Emilie Burgun
6cedbc33c0
Fix load_context_module triggering unreachable code in unify_atom
2025-01-08 17:57:40 +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
Mark Thom
7e22c12a8d
Merge pull request #2582 from bakaq/rework_library_interface
...
Rework library interface
2024-12-13 21:46:43 -07:00
bakaq
2e910de485
cargo fmt
2024-12-12 06:03:43 -03:00
bakaq
74e3d32ca9
Use Cow<'a,B> for toplevel configuration
2024-12-12 05:59:59 -03:00
bakaq
500a6cdaf1
FIXME in Drop for QueryState
2024-12-12 05:49:52 -03:00
bakaq
17293a5753
Leave residual goals for later
2024-12-12 05:47:01 -03:00
bakaq
a75266c3ce
Derive Default for StreamConfig
2024-12-12 05:47:01 -03:00
bakaq
a92eac919f
Rename lib_machine_tests.rs to tests.rs
2024-12-12 05:46:54 -03:00
bakaq
9265d66f58
Handle errors in QueryState
2024-12-08 20:18:06 -03:00
bakaq
3d3baeed82
Migrate benches
2024-12-08 20:18:06 -03:00
bakaq
e21c772181
Migrate tests to new API
2024-12-08 20:18:06 -03:00
bakaq
2f82c78bc0
Separate lib_machine tests into separate file
2024-12-08 20:18:06 -03:00
bakaq
ec6286ffab
Shrink MVP API surface
2024-12-08 20:18:06 -03:00
bakaq
bb5adba4ef
Rename PrologTerm to Term
2024-12-08 20:18:06 -03:00
bakaq
33d8abfed8
Remove parsed_results.rs
2024-12-08 20:18:06 -03:00
bakaq
d336cbc86a
MachineBuilder
2024-12-08 20:18:06 -03:00
bakaq
79fbd9e90f
Fix Machine links
2024-12-08 20:18:06 -03:00
bakaq
cab61738ad
#[deny(missing_docs)]
2024-12-08 20:18:06 -03:00
bakaq
e6cc408ff2
Document test methods
2024-12-08 20:18:06 -03:00
bakaq
dc8348b843
Add interfaces for QueryState methods
2024-12-08 20:18:06 -03:00
bakaq
cb040dafc1
Docs for Machine and QueryState
2024-12-08 20:18:06 -03:00
bakaq
1375f448a0
LeafAnswer docs and success checking methods
2024-12-08 20:18:06 -03:00
bakaq
0433706db6
More PrologTerm documentation
2024-12-08 20:18:06 -03:00
bakaq
e74fd11b0d
Conjunctions, disjunction, and LeafAnswer to PrologTerm
2024-12-08 20:18:06 -03:00
bakaq
4480e7c066
Associated functions for creating PrologTerm
2024-12-08 20:18:06 -03:00
bakaq
71dec62ce2
Basic docs and non_exhaustive for PrologTerm
2024-12-08 20:18:05 -03:00
bakaq
658e39aae6
Machine and stream config rework
2024-12-08 20:18:05 -03:00
bakaq
29fc55cb28
Rename LeafAnswer
2024-12-08 20:18:05 -03:00
bakaq
8e7dc9dba8
Rename PrologTerm
2024-12-08 20:18:05 -03: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