]>
Repositorios git - scryer-prolog.git/log
dependabot[bot] [Mon, 22 Jan 2024 21:53:43 +0000 (21:53 +0000)]
Bump shlex from 1.2.0 to 1.3.0
Bumps [shlex](https://github.com/comex/rust-shlex) from 1.2.0 to 1.3.0.
- [Changelog](https://github.com/comex/rust-shlex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/comex/rust-shlex/commits)
---
updated-dependencies:
- dependency-name: shlex
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <[email protected] >
Mark Thom [Mon, 22 Jan 2024 07:26:23 +0000 (00:26 -0700)]
Merge pull request #2302 from triska/dcg_representation
Throw representation errors for unsupported DCG grammar control constructs
Markus Triska [Sun, 21 Jan 2024 21:53:22 +0000 (22:53 +0100)]
use newly available false//0
Markus Triska [Sun, 21 Jan 2024 21:50:36 +0000 (22:50 +0100)]
no longer use (->)//2, since it is implementation dependent
Markus Triska [Sat, 20 Jan 2024 10:02:54 +0000 (11:02 +0100)]
remove checks that are now no longer needed due to representation errors
Markus Triska [Sat, 20 Jan 2024 09:33:24 +0000 (10:33 +0100)]
ENHANCED: Throw representation errors for DCG bodies that use unsupported constructs.
This addresses #2285.
Markus Triska [Sat, 20 Jan 2024 09:24:57 +0000 (10:24 +0100)]
MODIFIED: (->)/2 in DCGs is now only supported in the context of if-then-else.
That is, ( If -> Then ; Else ) is still supported, but ( If -> Then ) not.
Mark Thom [Fri, 19 Jan 2024 17:18:59 +0000 (10:18 -0700)]
Merge pull request #2301 from aarroyoc/docs-copy-term-3
Move copy_term/3 to library(iso_ext)
Mark Thom [Fri, 19 Jan 2024 17:15:35 +0000 (10:15 -0700)]
Merge pull request #2300 from aarroyoc/fix-2298
Throw error in call_residue_vars/2
Adrián Arroyo Calle [Fri, 19 Jan 2024 16:33:45 +0000 (17:33 +0100)]
Move copy_term/3 to library(iso_ext)
Adrián Arroyo Calle [Fri, 19 Jan 2024 15:58:26 +0000 (16:58 +0100)]
Throw error in call_residue_vars/2
Mark [Wed, 17 Jan 2024 04:50:53 +0000 (21:50 -0700)]
add better no op detection in char_reader.rs (#2297)
Mark [Sun, 14 Jan 2024 22:07:33 +0000 (15:07 -0700)]
add #2293 tests, advance continuable HeapPStrIters away from unpacked compounds (#2293)
Mark [Sat, 13 Jan 2024 19:01:20 +0000 (12:01 -0700)]
fix additional tests, make better use of existing code (#2293)
Mark [Sat, 13 Jan 2024 05:01:01 +0000 (22:01 -0700)]
fix additional tests (#2293)
Mark [Fri, 12 Jan 2024 20:58:46 +0000 (13:58 -0700)]
add missing CStr branch to unify_partial_string (#2293)
Mark Thom [Thu, 11 Jan 2024 18:56:10 +0000 (11:56 -0700)]
Merge pull request #2276 from triska/hophrase
ADDED: Support for higher-order non-terminals phrase//[2,3]
Mark Thom [Wed, 10 Jan 2024 19:13:14 +0000 (12:13 -0700)]
Merge pull request #2281 from bakaq/miri
Initial Miri support
bakaq [Tue, 9 Jan 2024 05:37:38 +0000 (02:37 -0300)]
Make "cargo miri test" actually run
Mark [Tue, 9 Jan 2024 01:12:19 +0000 (18:12 -0700)]
fix cargo fmt --check
Mark Thom [Tue, 9 Jan 2024 00:39:18 +0000 (17:39 -0700)]
Merge pull request #2280 from notoria/clpz
Special case for `(^)/2`
Mark [Tue, 9 Jan 2024 00:36:41 +0000 (17:36 -0700)]
check for PStr in eager stackful preorder iterator before adding tail of PStrOffset (#2272)
notoria [Mon, 8 Jan 2024 20:50:02 +0000 (21:50 +0100)]
Special case for `(^)/2`
The only solutions for `Z #= X^Z` are `X = Z, X in -1\/1`. Also helps
avoid big numbers.
Mark Thom [Mon, 8 Jan 2024 01:59:38 +0000 (18:59 -0700)]
Merge pull request #2278 from notoria/clpz
Small fixes for `CLP(ℤ)`
Mark Thom [Mon, 8 Jan 2024 01:59:18 +0000 (18:59 -0700)]
Merge pull request #2277 from triska/master
Correct arithmetic disequalities accidentally broken in
f5d9a67f3688ec9bb08dd3add05614552e082555
notoria [Sun, 7 Jan 2024 19:19:40 +0000 (20:19 +0100)]
Fix bound computation in `(^)/2`
?- A in 0..1, B in-1..0, A^2 #= B.
false. % unexpected.
?- A^2 #= B, A in 0..1, B in-1..0.
A = 0, B = 0.
notoria [Sun, 7 Jan 2024 19:15:28 +0000 (20:15 +0100)]
Remove `min/2` and `max/2` when possible
?- A #= min(A,B).
clpz:(B#>=A), clpz:(A#=min(A,B)). % unexpected.
?- A #= min(A,0).
clpz:(A in inf..0), clpz:(A#=min(A,0)). % unexpected.
notoria [Sun, 7 Jan 2024 19:14:32 +0000 (20:14 +0100)]
Fix `min/2` and `max/2`
?- X in 0..1, Y in 2..4, Z #= max(X,Y).
clpz:(X in 0..1), clpz:(Z#=max(X,Y)), clpz:(Z in 2..4), clpz:(Z#>=Y), clpz:(Y in 2..4). % unexpected.
?- X in 0..1, Y in 2..4, Z #= max(Y,X).
Y = Z, clpz:(X in 0..1), clpz:(Y in 2..4).
Markus Triska [Sun, 7 Jan 2024 08:31:33 +0000 (09:31 +0100)]
Correct arithmetic inequalities accidentally broken in
f5d9a67f3688ec9bb08dd3add05614552e082555 .
Example:
?- X #>= Y.
%@ clpz:(X#>=Y).
Mark Thom [Sat, 6 Jan 2024 22:52:53 +0000 (15:52 -0700)]
Merge pull request #2264 from Skgland/fix-os-argv-1
Fix os:argv/1 in case the raw args contain multiple `--`
Markus Triska [Sat, 6 Jan 2024 08:21:22 +0000 (09:21 +0100)]
ADDED: Support for higher-order non-terminals phrase//[2,3]
These non-terminals take a grammar rule body and additional arguments
as arguments. These arguments are appended to the first argument.
A key motivation for the introduction of these non-terminals is found
in the discussion and sample code provided by @bakaq in:
https://github.com/mthom/scryer-prolog/discussions/2260
In this way, portable higher-order DCG programming is possible while
keeping the logical grammar rule expansion implementation dependent.
Example:
?- phrase(phrase('.', a, []), Cs).
Cs = "a".
Mark Thom [Fri, 5 Jan 2024 19:33:05 +0000 (12:33 -0700)]
Merge pull request #2275 from triska/master
Prevent assertion of clauses for (-->)/2 when DCGs are enabled.
Markus Triska [Fri, 5 Jan 2024 17:50:08 +0000 (18:50 +0100)]
Prevent assertion of clauses for (-->)/2 when DCGs are enabled.
This addresses #1508.
Mark [Thu, 4 Jan 2024 20:56:57 +0000 (13:56 -0700)]
fix cargo --fmt check error
Mark [Thu, 4 Jan 2024 20:53:46 +0000 (13:53 -0700)]
add missing permission error in compile_assert (#2271)
Mark [Thu, 4 Jan 2024 20:14:50 +0000 (13:14 -0700)]
fix acceptance of invalid syntax, update iso_conformity_tests.pl (#2270)
Skgland [Thu, 4 Jan 2024 18:26:10 +0000 (19:26 +0100)]
simplify os:argv/1 fix
Skgland [Thu, 4 Jan 2024 17:14:32 +0000 (18:14 +0100)]
use once to limit solutions instead of cut
Skgland [Thu, 4 Jan 2024 17:12:38 +0000 (18:12 +0100)]
add another test case for os:argv/1
Mark Thom [Wed, 3 Jan 2024 22:40:48 +0000 (15:40 -0700)]
Merge pull request #2269 from aarroyoc/fix-2267
Use reqwest async and use futures::executor
Mark Thom [Wed, 3 Jan 2024 21:52:34 +0000 (14:52 -0700)]
Merge pull request #2268 from aarroyoc/docs-toplevel
Small fixes in documentation and toplevel.pl
Adrián Arroyo Calle [Wed, 3 Jan 2024 21:43:22 +0000 (22:43 +0100)]
Use reqwest async and use futures::executor
Adrián Arroyo Calle [Wed, 3 Jan 2024 18:52:50 +0000 (19:52 +0100)]
Small fixes in documentation and toplevel.pl
Skgland [Tue, 2 Jan 2024 20:43:38 +0000 (21:43 +0100)]
fix `os:argv(V)` not completing
Skgland [Tue, 2 Jan 2024 19:54:37 +0000 (20:54 +0100)]
fix os:argv
Skgland [Tue, 2 Jan 2024 19:48:38 +0000 (20:48 +0100)]
cover both args ending in `--` and args not ending in `--` for `os:argv/1` test
Skgland [Tue, 2 Jan 2024 19:27:14 +0000 (20:27 +0100)]
remove unnecessary `true`
Skgland [Tue, 2 Jan 2024 19:23:53 +0000 (20:23 +0100)]
cover trailing `--` and `os:argv([])` in os_argv test
Skgland [Tue, 2 Jan 2024 18:55:27 +0000 (19:55 +0100)]
fix os:argv/1
Skgland [Tue, 2 Jan 2024 18:51:09 +0000 (19:51 +0100)]
add failing test for os:argv issue
See https://github.com/mthom/scryer-prolog/pull/2263#issuecomment-
1874400820
Mark [Tue, 2 Jan 2024 18:34:38 +0000 (11:34 -0700)]
expand module names in transitive goals (#2255)
Mark [Tue, 2 Jan 2024 17:08:00 +0000 (10:08 -0700)]
fix cargo fmt --check
Mark [Tue, 2 Jan 2024 17:06:07 +0000 (10:06 -0700)]
mark anonymous variables in compile_is_call (#2257)
Mark Thom [Tue, 2 Jan 2024 16:19:10 +0000 (09:19 -0700)]
Merge pull request #2263 from aarroyoc/docs-toplevel
Move argv/1 to library(os)
Mark Thom [Tue, 2 Jan 2024 16:18:42 +0000 (09:18 -0700)]
Merge pull request #2262 from triska/faster_global_cardinality
ENHANCED: Suspend propagation during filtering in global_cardinality/2.
Adrián Arroyo Calle [Tue, 2 Jan 2024 12:16:11 +0000 (13:16 +0100)]
Move argv/1 to library(os)
Markus Triska [Mon, 1 Jan 2024 09:26:42 +0000 (10:26 +0100)]
ENHANCED: Suspend propagation during filtering in global_cardinality/2.
This allows subsequently invoked constraints to take the entire
filtering results into account, instead of being invoked when the
obtained information is not yet entirely used.
The SICStus-style attributed variables mechanism of Scryer Prolog
automatically prevents very subtle interaction problems that can arise
in systems that do not give all variables that are involved in a
unification an opportunity to schedule their propagators.
An example of such a subtle interaction is:
?- tuples_in([[A,C,B]], [[3,1,3],[4,2,4]]),
global_cardinality([A,B,D], [3-1,4-2]),
A = 4.
A = 4 causes pgcc_check/1 and pgcc/2 to be queued in the fast and slow
queue, respectively. In the fast queue, there is also rel_tuple/2,
which is worked off after gcc_check/1 and simultaneously instantiates
both C and B (to 2 and 4, respectively). Instantiation of C schedules
do_queue//0 from verify_attributes/3. Note that C does not participate
in the global_cardinality/2 constraint.
Critically, B also gets an opportunity to schedule its propagators in
this case, so another gcc_check/1 is run before gcc_global/2!
Mark Thom [Mon, 1 Jan 2024 07:33:58 +0000 (00:33 -0700)]
Merge pull request #2259 from bakaq/comment_warnings
Emit warnings as Prolog comments
Mark Thom [Mon, 1 Jan 2024 07:33:36 +0000 (00:33 -0700)]
Merge pull request #2258 from triska/faster_scalar_product
ENHANCED: Suspend propagation during filtering in scalar product constraints.
bakaq [Sat, 30 Dec 2023 20:39:20 +0000 (17:39 -0300)]
Emit warnings as Prolog comments
Markus Triska [Sat, 30 Dec 2023 09:30:25 +0000 (10:30 +0100)]
ENHANCED: Suspend propagation during filtering in scalar product constraints.
This allows subsequently invoked constraints to take the entire
filtering results into account, instead of being invoked when the
obtained information is not yet entirely used.
It speeds up programs such as the one in:
https://github.com/triska/clpz/issues/26
Mark Thom [Fri, 29 Dec 2023 20:10:19 +0000 (13:10 -0700)]
Merge pull request #2252 from aarroyoc/bump-versions
Update ring and bump versions in Cargo.lock
Mark Thom [Fri, 29 Dec 2023 17:40:19 +0000 (10:40 -0700)]
Merge pull request #2254 from bakaq/issue_1404
Parse as much of a list as possible as a partial string
Mark [Fri, 29 Dec 2023 17:11:39 +0000 (10:11 -0700)]
check that Target is an atom in scoped_clause_to_evacuable (#2248)
Adrián Arroyo Calle [Wed, 27 Dec 2023 21:15:27 +0000 (22:15 +0100)]
Update ring and bump versions in Cargo.lock
bakaq [Thu, 28 Dec 2023 17:58:23 +0000 (14:58 -0300)]
Parse as much of a list as possible as a partial string #1404
Mark Thom [Thu, 28 Dec 2023 00:37:42 +0000 (17:37 -0700)]
Merge pull request #2251 from triska/crrl_ed25519
improve structure, naming and explanation of PKCS#8v2 encoding
Markus Triska [Wed, 27 Dec 2023 20:12:52 +0000 (21:12 +0100)]
improve structure, naming and explanation of PKCS#8v2 encoding
Mark [Tue, 26 Dec 2023 19:30:46 +0000 (12:30 -0700)]
throw errors from char_reader.rs and get_n_chars when reading bad UTF8 data (#2244)
Mark Thom [Tue, 26 Dec 2023 17:09:08 +0000 (10:09 -0700)]
Merge pull request #2245 from triska/crrl_ed25519
ENHANCED: Use crrl for
Ed25519 signing and signature verification.
Markus Triska [Tue, 26 Dec 2023 06:24:18 +0000 (07:24 +0100)]
ENHANCED: Use crrl for
Ed25519 signing and signature verification.
The main motivation for this change is the introduction of the newly
available predicate ed25519_seed_keypair/2, allowing to generate a key
pair from a given seed. In this way, a key pair can be dynamically
generated from (for example) a password, using crypto_password_hash/3
in combination with crypto_data_hkdf/4 to generate the seed. The
advantage of this method is that the private key need not be stored at
all anywhere.
It is not possible to add a corresponding feature to ring, since it is
closed as "not planned": https://github.com/briansmith/ring/issues/1003
I also used this opportunity to move more of the logic to Prolog. We
now have total control of the key pair representation, and I also
changed the representation to conform to the PKCS#8 v2 standard,
something that only later ring versions do, while still being
backwards compatible with tools that produce a wrong representation
including earlier ring versions.
Another great advantage we get from this change is that the
Ed25519
predicates now also run on the 32-bit and WASM versions of Scryer.
Mark Thom [Fri, 22 Dec 2023 16:53:40 +0000 (09:53 -0700)]
Merge pull request #2243 from bakaq/issue_2241
Fix anonymous attributed variables not showing in toplevel
Mark Thom [Fri, 22 Dec 2023 16:52:56 +0000 (09:52 -0700)]
Merge pull request #2242 from triska/starting
explain starting Scryer Prolog
bakaq [Fri, 22 Dec 2023 16:07:09 +0000 (13:07 -0300)]
Fix anonymous attributed variables not showing in toplevel #2241
Markus Triska [Fri, 22 Dec 2023 07:29:28 +0000 (08:29 +0100)]
explain starting Scryer Prolog
Mark [Thu, 21 Dec 2023 19:14:12 +0000 (12:14 -0700)]
fix off-by-one error caused logtalk test to crash
Mark [Thu, 21 Dec 2023 17:24:01 +0000 (10:24 -0700)]
fix cargo fmt --check
Mark [Thu, 21 Dec 2023 03:45:11 +0000 (20:45 -0700)]
restore [o|i]ip zeroing to trust and fix '$get_clause_p'/3 (#2238)
Mark Thom [Wed, 20 Dec 2023 20:42:46 +0000 (13:42 -0700)]
Merge pull request #2218 from bakaq/when
Add when/2 and when_si/2
Mark [Mon, 18 Dec 2023 22:21:30 +0000 (15:21 -0700)]
clamp lower_bound_of_target_clause index (#840)
Mark [Mon, 18 Dec 2023 21:57:22 +0000 (14:57 -0700)]
don't replace undefined module predicates (#2232)
Mark [Mon, 18 Dec 2023 20:26:36 +0000 (13:26 -0700)]
fix retraction of local dynamic predicates (#2215, #2232)
Mark [Mon, 18 Dec 2023 16:52:46 +0000 (09:52 -0700)]
fix '$get_clause_p' whose old implementation was broken by the introduction
of lookahead indexing
Mark [Fri, 15 Dec 2023 17:10:09 +0000 (10:10 -0700)]
improve performance of lower_bound_of_target_clause (#1598)
Mark Thom [Mon, 18 Dec 2023 03:20:50 +0000 (20:20 -0700)]
Merge pull request #2233 from aarroyoc/fix-functor-2214
Throw ValidType::Atom error in functor
Mark Thom [Mon, 18 Dec 2023 03:20:41 +0000 (20:20 -0700)]
Merge pull request #2229 from aarroyoc/fix-backslash-docs
Fix backslash docs
Adrián Arroyo Calle [Sun, 17 Dec 2023 11:38:46 +0000 (12:38 +0100)]
Throw ValidType::Atom error in functor
Adrián Arroyo Calle [Sat, 16 Dec 2023 18:01:39 +0000 (19:01 +0100)]
Fix backslash docs
Mark Thom [Fri, 15 Dec 2023 18:33:03 +0000 (11:33 -0700)]
Merge pull request #2226 from mthom/dependabot/cargo/zerocopy-0.7.31
Bump zerocopy from 0.7.25 to 0.7.31
Mark [Fri, 15 Dec 2023 07:42:58 +0000 (00:42 -0700)]
Revert "improve performance of lower_bound_of_target_clause (#1598)"
This reverts commit
8938331915c53e34be8f98002fe8d56d8b7ada08 .
Mark [Fri, 15 Dec 2023 07:39:29 +0000 (00:39 -0700)]
improve performance of lower_bound_of_target_clause (#1598)
dependabot[bot] [Fri, 15 Dec 2023 03:52:00 +0000 (03:52 +0000)]
Bump zerocopy from 0.7.25 to 0.7.31
Bumps [zerocopy](https://github.com/google/zerocopy) from 0.7.25 to 0.7.31.
- [Release notes](https://github.com/google/zerocopy/releases)
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md)
- [Commits](https://github.com/google/zerocopy/compare/v0.7.25...v0.7.31)
---
updated-dependencies:
- dependency-name: zerocopy
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <[email protected] >
Mark [Wed, 13 Dec 2023 18:49:16 +0000 (11:49 -0700)]
fix use of copy_term/3 for attribute goals in toplevel (#888, #2057, #2217)
Mark [Mon, 11 Dec 2023 22:17:02 +0000 (15:17 -0700)]
fix cargo style failure
Mark [Mon, 11 Dec 2023 21:38:20 +0000 (14:38 -0700)]
dereference port address in socket_server_open (#2222)
Mark [Mon, 11 Dec 2023 20:29:22 +0000 (13:29 -0700)]
restore print_tcp_listener in printer (#2221)
bakaq [Mon, 11 Dec 2023 15:28:59 +0000 (12:28 -0300)]
Tests for when/2 and solved bug
bakaq [Sun, 10 Dec 2023 23:55:50 +0000 (20:55 -0300)]
Add when/2 and when_si/2
Mark Thom [Wed, 6 Dec 2023 20:45:46 +0000 (13:45 -0700)]
Merge pull request #2207 from infogulch/ci-build-before-test
CI: Make test step output easier to read
Mark Thom [Wed, 6 Dec 2023 20:27:14 +0000 (13:27 -0700)]
Merge pull request #2211 from Skgland/file-based-cli-tests
fix missing .pl file for singleton test case and move .pl files under `<testcase>.in/`