]>
Repositorios git - scryer-prolog.git/log
Mark Thom [Wed, 16 Apr 2025 05:10:02 +0000 (22:10 -0700)]
generalize compare_pstr_segments
Mark Thom [Sun, 13 Apr 2025 01:48:47 +0000 (18:48 -0700)]
ensure '\0' atom is static & never inlined (#2880)
Mark Thom [Sun, 13 Apr 2025 00:32:11 +0000 (17:32 -0700)]
fix root reading of complete strings (#2882)
Mark Thom [Sat, 12 Apr 2025 23:43:51 +0000 (16:43 -0700)]
some cosmetic tweaks
Markus Triska [Sat, 12 Apr 2025 20:54:04 +0000 (22:54 +0200)]
mark done item
Mark Thom [Sat, 12 Apr 2025 07:22:29 +0000 (00:22 -0700)]
correct and simplify compute_pstr_size
Mark Thom [Sat, 12 Apr 2025 06:59:53 +0000 (23:59 -0700)]
correct create_partial_string (#2593)
Mark Thom [Fri, 11 Apr 2025 04:06:44 +0000 (21:06 -0700)]
restore more tabu_list use to compare_term_tests (#2633)
Mark Thom [Fri, 11 Apr 2025 04:03:29 +0000 (21:03 -0700)]
restore tabu_list insertions to PStr-Lis comparisons (#2636)
Mark Thom [Thu, 10 Apr 2025 06:03:28 +0000 (23:03 -0700)]
do not allow strings containing null characters to be inlined (#2848)
Mark Thom [Sun, 6 Apr 2025 19:11:57 +0000 (12:11 -0700)]
move CodeIndex to F64Table-like table
Mark Thom [Sat, 15 Mar 2025 20:19:26 +0000 (13:19 -0700)]
Revert "remove Term"
This reverts commit
3b5879841aedecba5057c70c71da0ba23e5cd84a .
Mark Thom [Sat, 15 Mar 2025 09:10:56 +0000 (02:10 -0700)]
make write_with forward return values, use it to correct partial string handling
Mark Thom [Sat, 15 Mar 2025 09:10:04 +0000 (02:10 -0700)]
read Str focus properly in build_meta_predicate_clause
Mark Thom [Thu, 13 Mar 2025 19:33:37 +0000 (12:33 -0700)]
some fixes in response to miri
bakaq [Sun, 2 Mar 2025 21:51:57 +0000 (18:51 -0300)]
Fix parsing of \x0\ in partial strings
Mark Thom [Tue, 4 Mar 2025 08:17:20 +0000 (00:17 -0800)]
copy partial string blocks properly in all solutions predicates
Mark Thom [Sat, 1 Mar 2025 21:58:50 +0000 (13:58 -0800)]
run cargo fmt
Mark Thom [Sat, 7 Dec 2024 05:47:36 +0000 (21:47 -0800)]
remove pstr_vec
Mark Thom [Tue, 25 Feb 2025 03:54:35 +0000 (19:54 -0800)]
globalize ALIGN_CELL/ALIGN, fix compute_pstr_size
Emilie Burgun [Sun, 29 Dec 2024 22:54:03 +0000 (23:54 +0100)]
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.
Emilie Burgun [Sun, 29 Dec 2024 21:04:40 +0000 (22:04 +0100)]
Fix Heap::drop not accounting for null-initialized HeapInner
Mark Thom [Fri, 15 Nov 2024 05:04:09 +0000 (22:04 -0700)]
dereference clause_clause value, reserve more parser space (#2579)
Mark Thom [Fri, 1 Nov 2024 04:58:29 +0000 (22:58 -0600)]
unmark_cell_bits! in push_literal (#2645)
Mark Thom [Tue, 14 May 2024 00:00:56 +0000 (18:00 -0600)]
introduce bespoke Heap type for in-heap partial strings
Mark Thom [Wed, 31 Jul 2024 20:04:55 +0000 (14:04 -0600)]
variable revision
Mark Thom [Tue, 16 Jul 2024 21:38:22 +0000 (15:38 -0600)]
remove Term
Mark Thom [Mon, 13 May 2024 20:40:09 +0000 (14:40 -0600)]
restore ubuntu testing to ci.yml with rust version 1.77
Mark Thom [Wed, 23 Apr 2025 06:28:19 +0000 (23:28 -0700)]
use loader:strip_subst_module/4 in second module check of retract/1 (#2891, #2893)
Mark Thom [Wed, 23 Apr 2025 05:28:02 +0000 (22:28 -0700)]
Merge pull request #2905 from bakaq/bump-msrv
Bump MSRV and update flake.lock
bakaq [Tue, 22 Apr 2025 20:32:36 +0000 (17:32 -0300)]
Remove Ubuntu 20.04 runner
bakaq [Tue, 22 Apr 2025 20:10:29 +0000 (17:10 -0300)]
Bump MSRV and update flake.lock
Mark Thom [Tue, 22 Apr 2025 05:11:43 +0000 (22:11 -0700)]
Merge pull request #2895 from hakujin/master
Update `libffi` and `libffi-sys` dependencies to fix aarch64 macOS build
Colin King [Sat, 19 Apr 2025 02:40:29 +0000 (21:40 -0500)]
Update `libffi` and `libffi-sys` dependencies to fix aarch64 macOS build
Pulls in latest `libffi` and `libffi-sys` dependencies to fix a
compilation error on aarch64 macOS builds.
Mark Thom [Sun, 13 Apr 2025 04:09:40 +0000 (21:09 -0700)]
Merge pull request #2873 from constraintAutomaton/doc/update-readme-wasm-example
update of the WebAssembly example in README
Mark Thom [Sun, 13 Apr 2025 04:09:20 +0000 (21:09 -0700)]
Merge pull request #2879 from triska/ad4m
enumerate applications, add AD4M by @coasys
Markus Triska [Sat, 12 Apr 2025 07:05:28 +0000 (09:05 +0200)]
enumerate applications, add AD4M by @coasys
constraintAutomaton [Sat, 12 Apr 2025 05:18:00 +0000 (07:18 +0200)]
Example update to use iterable.
constraintAutomaton [Sat, 12 Apr 2025 05:00:14 +0000 (07:00 +0200)]
Merge branch 'master' into doc/update-readme-wasm-example
Mark Thom [Sat, 12 Apr 2025 03:52:45 +0000 (20:52 -0700)]
Merge pull request #2875 from constraintAutomaton/feature/wasm-result-iterator
Make `WasmQueryState` Iterable in JavaScript
Mark Thom [Fri, 11 Apr 2025 05:39:35 +0000 (22:39 -0700)]
mark cyclic lists with ellipses at the head (#2635)
constraintAutomaton [Thu, 10 Apr 2025 17:02:04 +0000 (19:02 +0200)]
Made WasmQueryState an iterable.
Mark Thom [Thu, 10 Apr 2025 15:47:21 +0000 (08:47 -0700)]
Merge pull request #2874 from triska/read_from_chars_instantiated
generalize read_from_chars/2 and read_term_from_chars/3 to allow instantiated Term
Markus Triska [Wed, 9 Apr 2025 20:23:12 +0000 (22:23 +0200)]
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!
constraintAutomaton [Tue, 8 Apr 2025 18:13:02 +0000 (20:13 +0200)]
Fix DOM manipulation to avoid deprecated functions in Sudoku solver example.
constraintAutomaton [Tue, 8 Apr 2025 17:29:34 +0000 (19:29 +0200)]
better identation of the knowledge base.
constraintAutomaton [Tue, 8 Apr 2025 17:17:20 +0000 (19:17 +0200)]
Useless console.log in the example deleted.
constraintAutomaton [Tue, 8 Apr 2025 17:12:27 +0000 (19:12 +0200)]
Update README with working WebAssembly usage example.
Mark Thom [Sun, 6 Apr 2025 22:31:59 +0000 (15:31 -0700)]
Merge pull request #2869 from triska/format_w
ENHANCED: format specifier ~w more faithfully emulates write/1
Markus Triska [Sat, 5 Apr 2025 08:01:22 +0000 (10:01 +0200)]
move ~w to least prominent position, point to more suitable specifiers
In particular, "~q" is a safe better choice.
Markus Triska [Sat, 5 Apr 2025 07:47:29 +0000 (09:47 +0200)]
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
Mark Thom [Tue, 1 Apr 2025 02:49:54 +0000 (19:49 -0700)]
Merge pull request #2861 from averms-forks/update-deps
Update and clean up dependencies.
Mark Thom [Tue, 1 Apr 2025 02:49:46 +0000 (19:49 -0700)]
Merge pull request #2860 from averms-forks/push-spzqsznlnlnm
Use backticks when referencing predicate in docs.
Aman Verma [Mon, 31 Mar 2025 09:03:31 +0000 (04:03 -0500)]
Install correct locked version of iai-callgrind-runner in CI.
Aman Verma [Fri, 28 Mar 2025 19:05:45 +0000 (14:05 -0500)]
Update lexical.
The previous versions of lexical and lexical-core we were using were
subject to the following security advisories:
- https://rustsec.org/advisories/RUSTSEC-2023-0086
- https://rustsec.org/advisories/RUSTSEC-2023-0055
Aman Verma [Fri, 28 Mar 2025 02:11:21 +0000 (21:11 -0500)]
Remove unused deps: regex, assert_cmd, predicates-core.
regex was introduced in commit
9e85be11fecd00b3d0be8b828eb0dd5cfb57e60a
but isn't used anymore.
assert_cmd and predicates-core were introduced in
e1c681fffead4d63caa0d0b902196224b651f465 for tests but aren't used
anymore.
Dependency count in Cargo.lock drops from 428 to 421.
Aman Verma [Fri, 28 Mar 2025 02:02:14 +0000 (21:02 -0500)]
Update ordered-float to 5.0.0.
Aman Verma [Fri, 28 Mar 2025 01:35:01 +0000 (20:35 -0500)]
Update scraper and ego-tree.
This gets rid of 4 dependencies, as verified by the output of
yj -tj < Cargo.lock | jq -c '.package | length'
Previously it was 432, now it is 428.
Aman Verma [Fri, 28 Mar 2025 01:20:46 +0000 (20:20 -0500)]
Bump dependencies except for arcu v0.1.1 and half 2.4.1.
arcu is not updated for reasons laid out in issue #2749.
half is not updated because going to 2.5.0 would require an MSRV bump 1.81.
Previous versions of idna, openssl, and ring were subject to the
following security advisories:
- https://rustsec.org/advisories/RUSTSEC-2025-0009
- https://rustsec.org/advisories/RUSTSEC-2025-0004
- https://rustsec.org/advisories/RUSTSEC-2024-0421
Aman Verma [Thu, 27 Mar 2025 23:49:03 +0000 (18:49 -0500)]
Use backticks when referencing predicate in docs.
Trivial change but this prevents the HTML output from being erroneously italicized.
Mark Thom [Sun, 9 Mar 2025 20:21:25 +0000 (13:21 -0700)]
Merge pull request #2847 from triska/call_with_error_context
ADDED: type pair
Markus Triska [Sat, 8 Mar 2025 13:42:48 +0000 (14:42 +0100)]
ADDED: type pair
Mark Thom [Sat, 8 Mar 2025 08:39:03 +0000 (00:39 -0800)]
Merge pull request #2846 from triska/call_with_error_context
ADDED: call_with_error_context/2
Markus Triska [Sat, 8 Mar 2025 08:12:17 +0000 (09:12 +0100)]
ADDED: call_with_error_context/2
See https://github.com/mthom/scryer-prolog/discussions/2839 for more information.
Mark Thom [Sat, 1 Mar 2025 21:40:09 +0000 (13:40 -0800)]
Merge pull request #2837 from notoria/next
Fix conversion from float to rational
Mark Thom [Sat, 1 Mar 2025 09:45:55 +0000 (01:45 -0800)]
Merge pull request #2836 from triska/format_floats
Correct handling of floats in format/2 and portray_clause/1
Markus Triska [Fri, 28 Feb 2025 07:22:54 +0000 (08:22 +0100)]
FIXED: portray_clause/1 for numbers
Markus Triska [Fri, 28 Feb 2025 07:14:34 +0000 (08:14 +0100)]
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.
notoria [Fri, 28 Feb 2025 07:00:00 +0000 (08:00 +0100)]
Fix conversion from float to rational
Mark Thom [Fri, 28 Feb 2025 05:38:58 +0000 (21:38 -0800)]
Merge pull request #2835 from thierrymarianne/fix-http_open-hanging-on-top-of-main-branch
Prevent http_open/3 from hanging
Mark Thom [Fri, 28 Feb 2025 05:26:40 +0000 (21:26 -0800)]
Merge pull request #2792 from triska/must_be_chars
FIXED: instantiation and type check for string arguments
Mark Thom [Fri, 28 Feb 2025 05:26:20 +0000 (21:26 -0800)]
Merge pull request #2825 from bakaq/wasm_rework
Wasm rework
revue_2_presse [Tue, 25 Feb 2025 19:19:14 +0000 (20:19 +0100)]
Replace futures::executor::block_on with tokio::block_in_place
bakaq [Thu, 20 Feb 2025 03:48:51 +0000 (00:48 -0300)]
Documentation
bakaq [Thu, 20 Feb 2025 03:33:11 +0000 (00:33 -0300)]
Consult modules
bakaq [Thu, 20 Feb 2025 03:12:30 +0000 (00:12 -0300)]
Send pure objects instead of classes
bakaq [Thu, 20 Feb 2025 01:50:41 +0000 (22:50 -0300)]
MachineBuilder constructor
bakaq [Fri, 31 Jan 2025 12:24:39 +0000 (09:24 -0300)]
Rework Wasm interface
bakaq [Fri, 31 Jan 2025 12:24:39 +0000 (09:24 -0300)]
Make Wasm compilable
Mark Thom [Mon, 17 Feb 2025 06:47:49 +0000 (22:47 -0800)]
Merge pull request #2817 from adri326/fix-2815-run_module_predicate-backtrack
Fix backtracking on the topmost predicate triggering UB in run_module_predicate
Mark Thom [Mon, 17 Feb 2025 06:47:34 +0000 (22:47 -0800)]
Merge pull request #2799 from bakaq/callback_streams
Callback streams for use as library
bakaq [Wed, 5 Feb 2025 15:07:28 +0000 (12:07 -0300)]
Add builder style configuration of user input, output and error
bakaq [Fri, 31 Jan 2025 16:14:45 +0000 (13:14 -0300)]
More stream tests
bakaq [Fri, 31 Jan 2025 10:45:13 +0000 (07:45 -0300)]
Disallow null streams in output
bakaq [Fri, 31 Jan 2025 10:23:39 +0000 (07:23 -0300)]
Make input and output stream configuration public
bakaq [Thu, 30 Jan 2025 12:20:28 +0000 (09:20 -0300)]
Configure streams separately
bakaq [Thu, 30 Jan 2025 09:14:38 +0000 (06:14 -0300)]
Refactor UserInput to use channels
bakaq [Wed, 29 Jan 2025 20:09:48 +0000 (17:09 -0300)]
Test for callback streams
bakaq [Wed, 29 Jan 2025 14:35:04 +0000 (11:35 -0300)]
Add input stream channel
bakaq [Tue, 28 Jan 2025 20:58:40 +0000 (17:58 -0300)]
Add callback streams
Mark Thom [Thu, 13 Feb 2025 07:25:21 +0000 (23:25 -0800)]
Merge pull request #2791 from Skgland/patch-1
Expand the build/install section of the readme
Mark Thom [Thu, 13 Feb 2025 07:23:44 +0000 (23:23 -0800)]
Merge pull request #2804 from dnmfarrell/line-count-off-by-one
Line numbers start at 1
Mark Thom [Thu, 13 Feb 2025 07:23:11 +0000 (23:23 -0800)]
Merge pull request #2818 from adri326/stream-cleanup
Fix various issues around close/1 and stream realiasing
Mark Thom [Thu, 13 Feb 2025 07:19:34 +0000 (23:19 -0800)]
Merge pull request #2812 from bakaq/attr_vars_arity_fix
Fix bug in finding arity for verify attributes
Emilie Burgun [Thu, 6 Feb 2025 22:47:22 +0000 (23:47 +0100)]
Test corner cases of stream aliasing
Emilie Burgun [Thu, 6 Feb 2025 21:55:40 +0000 (22:55 +0100)]
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.
Emilie Burgun [Mon, 3 Feb 2025 13:58:04 +0000 (14:58 +0100)]
Fix stream realiasing possibly shadowing other streams.
Emilie Burgun [Mon, 3 Feb 2025 13:26:33 +0000 (14:26 +0100)]
Fix realiased streams causing close/1 to leave a dangling stream
Emilie Burgun [Mon, 3 Feb 2025 13:00:37 +0000 (14:00 +0100)]
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.
Emilie Burgun [Thu, 6 Feb 2025 12:26:16 +0000 (13:26 +0100)]
Document run_module_predicate and handle critical failure in toplevel.pl