]>
Repositorios git - scryer-prolog.git/log
Adrián Arroyo Calle [Tue, 12 Mar 2024 21:23:12 +0000 (22:23 +0100)]
Website: link release v0.9.4
Mark Thom [Fri, 1 Mar 2024 19:09:16 +0000 (12:09 -0700)]
Merge pull request #2353 from triska/hmac_verification
ENHANCED: Safe HMAC verification, using constant time string comparison.
Markus Triska [Sat, 24 Feb 2024 07:18:38 +0000 (08:18 +0100)]
ENHANCED: Safe HMAC verification, using constant time string comparison.
Without this provision, the expected HMAC can be gathered from timing
differences depending on the position where the strings first diverge,
and hence an attacker can forge an authenticated message by supplying
the gathered HMAC.
Test case, using exp(E) to succeed exactly 2^E times:
exp(E) :-
N is 2^E,
between(1, N, _).
yielding:
?- Options = [algorithm(sha512),hmac([1,2,3])],
Ds = "test",
crypto_data_hash(Ds, H, Options),
phrase((seq(As),seq(Bs)), H),
same_length(Bs, Cs),
maplist(=(a), Cs),
append(As, Cs, H1),
time((exp(10),crypto_data_hash(Ds, H1, Options),false)).
%@ % CPU time: 0.710s, 7_942_187 inferences
%@ % CPU time: 0.713s, 7_942_187 inferences
%@ % CPU time: 0.712s, 7_942_187 inferences
%@ % CPU time: 0.711s, 7_942_187 inferences
%@ % CPU time: 0.710s, 7_942_187 inferences
%@ % CPU time: 0.711s, 7_942_187 inferences
%@ % CPU time: 0.710s, 7_942_187 inferences
?- length(_, L), time((exp(10),crypto_data_hash("test", "3caebd1a0a2647930319a660b7d3642eb380fbd43202f9f6d08aabaa9ba50c39522a12ead10f0423f0af613cbc6fea74ad682ee11f563cc2e735722004fda2ba", [algorithm(sha512),hmac([0,L])]),false)).
%@ % CPU time: 0.733s, 7_878_699 inferences
%@ % CPU time: 0.734s, 7_878_699 inferences
%@ % CPU time: 0.732s, 7_878_699 inferences
%@ % CPU time: 0.733s, 7_878_699 inferences
%@ % CPU time: 0.733s, 7_878_699 inferences
%@ % CPU time: 0.733s, 7_878_699 inferences
%@ % CPU time: 0.733s, 7_878_699 inferences
%@ % CPU time: 0.733s, 7_878_699 inferences
%@ % CPU time: 0.733s, 7_878_699 inferences
%@ % CPU time: 0.733s, 7_878_699 inferences
%@ % CPU time: 0.733s, 7_878_699 inferences
%@ % CPU time: 0.515s, 5_525_404 inferences
%@ error('$interrupt_thrown',repl/0).
Mark Thom [Fri, 1 Mar 2024 00:09:47 +0000 (17:09 -0700)]
Merge pull request #2351 from infogulch/install-current-iai
Install version of iai-callgrind set in Cargo.toml
infogulch [Thu, 29 Feb 2024 23:20:01 +0000 (17:20 -0600)]
Install version of iai-callgrind set in Cargo.toml
Mark [Thu, 29 Feb 2024 23:15:28 +0000 (16:15 -0700)]
make indexer downcast Integers to Fixnums when possible, be slightly more judicious about allocating Integers instead of Fixnums (#2340)
Mark [Thu, 29 Feb 2024 22:12:58 +0000 (15:12 -0700)]
add #2341 test to lib_machine.rs
Mark [Thu, 29 Feb 2024 17:08:08 +0000 (10:08 -0700)]
use scryer-modular-bitfield on github, version bump
Mark [Thu, 29 Feb 2024 03:47:36 +0000 (20:47 -0700)]
fix misuse of TypeError trait while fixing #2345
Mark [Thu, 29 Feb 2024 03:35:38 +0000 (20:35 -0700)]
issue callable type error from dynamic_module_resolution if module is not an atom (#2345)
Mark Thom [Wed, 28 Feb 2024 21:34:54 +0000 (14:34 -0700)]
Merge pull request #2309 from coasys/library-use-case
Iron-out edge cases for library use-case, adding extensive real-world test assertions
Mark Thom [Sat, 24 Feb 2024 21:53:18 +0000 (14:53 -0700)]
Merge pull request #2342 from triska/curve_doc
DOC: Add DocLog comments for reasoning about elliptic curves.
Markus Triska [Sat, 24 Feb 2024 19:30:48 +0000 (20:30 +0100)]
DOC: Add DocLog comments for reasoning about elliptic curves.
Mark Thom [Thu, 22 Feb 2024 21:48:12 +0000 (14:48 -0700)]
Merge pull request #2338 from triska/hmac
ADDED: Hash-based message authentication code (HMAC), using hmac(Key).
Markus Triska [Thu, 22 Feb 2024 19:17:20 +0000 (20:17 +0100)]
ADDED: Hash-based message authentication code (HMAC), using hmac(Key).
Mark Thom [Sun, 18 Feb 2024 17:05:09 +0000 (10:05 -0700)]
Merge pull request #2337 from triska/master
link to newly available paper on analysis of dose-escalation protocols
Markus Triska [Sun, 18 Feb 2024 08:18:41 +0000 (09:18 +0100)]
link to newly available paper on analysis of dose-escalation protocols
Many thanks to @dcnorris for this great application and cooperation!
Bennet Bleßmann [Fri, 16 Feb 2024 23:15:03 +0000 (00:15 +0100)]
fix build of run_iai bench for wasm32
Bennet Bleßmann [Fri, 16 Feb 2024 23:01:10 +0000 (00:01 +0100)]
fix benchmarks being broken for every target except wam32
Bennet Bleßmann [Fri, 16 Feb 2024 22:43:22 +0000 (23:43 +0100)]
cfg out benches for wasm32
Bennet Bleßmann [Fri, 16 Feb 2024 22:18:21 +0000 (23:18 +0100)]
fix compilation of wasm32 test and skip to run wasm32 tests
Bennet Bleßmann [Fri, 16 Feb 2024 21:23:22 +0000 (22:23 +0100)]
undo `continue-on-error`
- currently `continue-on-error` is not shown in a usefull way on failiure see <https://github.com/orgs/community/discussions/15452>
Bennet Bleßmann [Fri, 16 Feb 2024 21:15:32 +0000 (22:15 +0100)]
bump ahash lock to 0.8.7
- fix nightly build
- not bumping to latest aka. 0.8.8 as that has a msrv of 1.72.0 and we are only at 1.70.0
Mark Thom [Mon, 12 Feb 2024 00:33:07 +0000 (17:33 -0700)]
Merge pull request #2327 from triska/char_type
FIXED: char_type/2 for unbound first argument.
Markus Triska [Sun, 11 Feb 2024 21:19:19 +0000 (22:19 +0100)]
FIXED: char_type/2 for unbound first argument.
Surrogate pairs form a gap in valid character codes, see:
https://github.com/mthom/scryer-prolog/issues/2326#issuecomment-
1937864665
Many thanks to @Skgland for the pointer, and to @librarianmage for the
question that spawned this!
This addresses #2326.
Nicolas Luck [Fri, 9 Feb 2024 12:48:45 +0000 (13:48 +0100)]
continue-on-error if target=wasm32 or rust=nightly
Nicolas Luck [Fri, 9 Feb 2024 12:44:37 +0000 (13:44 +0100)]
Reactivate nightly test job with continue-on-error set
Nicolas Luck [Fri, 9 Feb 2024 12:14:06 +0000 (13:14 +0100)]
Use stable Rust for style/report and deactivate nightly x86_64 target in CI
Nicolas Luck [Fri, 9 Feb 2024 11:41:01 +0000 (12:41 +0100)]
Merge branch 'master' into library-use-case
Mark Thom [Fri, 9 Feb 2024 00:38:01 +0000 (17:38 -0700)]
Update src/machine/parsed_results.rs
Co-authored-by: Bennet Bleßmann <[email protected] >
Mark [Thu, 8 Feb 2024 04:46:32 +0000 (21:46 -0700)]
fix tests broken by singleton
Mark Thom [Thu, 8 Feb 2024 01:49:13 +0000 (18:49 -0700)]
Merge pull request #2322 from triska/char_code
ENHANCED: Bi-directional char_code/2, addressing #2321.
Markus Triska [Wed, 7 Feb 2024 19:05:07 +0000 (20:05 +0100)]
ENHANCED: Bidirectional char_type/2, addressing #2321.
Suggested by @librarianmage, many thanks!
Mark Thom [Wed, 7 Feb 2024 01:11:40 +0000 (18:11 -0700)]
Merge pull request #2319 from triska/clpz_t
ADDED: clpz_t/2, generalizing support for use with library(reif)
Markus Triska [Tue, 6 Feb 2024 18:05:29 +0000 (19:05 +0100)]
ADDED: clpz_t/2, generalizing support for use with library(reif)
This was suggested and contributed by @librarianmage in:
https://github.com/mthom/scryer-prolog/issues/2225#issuecomment-
1890801923
Many thanks!
If anyone can find a better predicate name, please let us know any time!
Mark [Thu, 1 Feb 2024 16:31:04 +0000 (09:31 -0700)]
fmt
Mark Thom [Sun, 4 Feb 2024 22:09:13 +0000 (15:09 -0700)]
Merge pull request #2317 from aarroyoc/all-modules-test
Add all_mdoules test and fix library(csv)
Adrián Arroyo Calle [Sun, 4 Feb 2024 20:04:02 +0000 (21:04 +0100)]
Add all_mdoules test and fix library(csv)
Mark [Sat, 3 Feb 2024 18:49:26 +0000 (11:49 -0700)]
fix reverted tests, ensure files are loaded before goals (#2315)
Mark [Sat, 3 Feb 2024 00:04:47 +0000 (17:04 -0700)]
fix broken tests
Mark [Fri, 2 Feb 2024 22:35:00 +0000 (15:35 -0700)]
treat consultation of command line modules as regular goals (#2314)
Mark [Fri, 2 Feb 2024 18:49:02 +0000 (11:49 -0700)]
fmt
Mark [Fri, 2 Feb 2024 17:54:28 +0000 (10:54 -0700)]
load .scryerrc before files and goals (#1775, #2313)
Mark [Thu, 1 Feb 2024 16:26:58 +0000 (09:26 -0700)]
record stub choice point as block
Nicolas Luck [Thu, 1 Feb 2024 13:14:50 +0000 (14:14 +0100)]
Test show problem with nonexistent predicate
Nicolas Luck [Thu, 1 Feb 2024 12:53:21 +0000 (13:53 +0100)]
fmt
Nicolas Luck [Thu, 1 Feb 2024 12:51:37 +0000 (13:51 +0100)]
clippy
Nicolas Luck [Thu, 1 Feb 2024 12:43:51 +0000 (13:43 +0100)]
Fix all orderings in integration assertions
Nicolas Luck [Thu, 1 Feb 2024 12:00:49 +0000 (13:00 +0100)]
Remove test with long program literals, not needed
Nicolas Luck [Thu, 1 Feb 2024 11:59:10 +0000 (12:59 +0100)]
More ordering adjustments
Mark [Thu, 1 Feb 2024 00:32:32 +0000 (17:32 -0700)]
fix style errors
Mark [Thu, 1 Feb 2024 00:30:13 +0000 (17:30 -0700)]
index stub choice point correctly
Nicolas Luck [Wed, 31 Jan 2024 14:03:28 +0000 (15:03 +0100)]
Extract failing assertion as single test case
Nicolas Luck [Tue, 30 Jan 2024 11:54:12 +0000 (12:54 +0100)]
Adjust some first result orderings in integration assertions
Mark [Mon, 29 Jan 2024 22:06:56 +0000 (15:06 -0700)]
check for True or False Query Resolution unconditionally
Nicolas Luck [Mon, 29 Jan 2024 17:44:20 +0000 (18:44 +0100)]
fmt
Nicolas Luck [Mon, 29 Jan 2024 15:49:03 +0000 (16:49 +0100)]
Add more test cases to differentiate usage of discontiguous
Nicolas Luck [Mon, 29 Jan 2024 14:26:06 +0000 (15:26 +0100)]
Minimal reproduction of faulty behaviour seen in integration tests
Nicolas Luck [Fri, 26 Jan 2024 16:21:47 +0000 (17:21 +0100)]
Merge branch 'master' into library-use-case
Nicolas Luck [Fri, 26 Jan 2024 16:18:57 +0000 (17:18 +0100)]
Add expected results to integration test
Results are logs of what we get with old toplevel-based version of lib_machine. These are also congruent with what our tests logged out based on SWI.
Mark [Fri, 26 Jan 2024 06:59:54 +0000 (23:59 -0700)]
scan registers of instructions leading to verify_attributes interrupt to find the number of registers to save (#2307)
Mark [Fri, 26 Jan 2024 06:25:06 +0000 (23:25 -0700)]
add non chunk traversing cut family instructions to is_head_instr (#2307)
Mark Thom [Thu, 25 Jan 2024 21:17:18 +0000 (14:17 -0700)]
Merge pull request #2308 from triska/small_format_improvements
Small format improvements
Markus Triska [Thu, 25 Jan 2024 20:33:27 +0000 (21:33 +0100)]
update answers using latest toplevel output
Markus Triska [Thu, 25 Jan 2024 20:31:08 +0000 (21:31 +0100)]
rely on recently improved argument indexing for determinism
This is possible as of
4fd37335f576240c25dfbfe6e70441aff166c60e .
Mark [Thu, 25 Jan 2024 19:37:46 +0000 (12:37 -0700)]
move call_residue_vars/2 from atts.pl to iso_ext.pl
Mark [Thu, 25 Jan 2024 19:34:21 +0000 (12:34 -0700)]
don't mark temp variables as safe through argument_to_value (#2307)
Mark Thom [Tue, 23 Jan 2024 22:22:17 +0000 (15:22 -0700)]
Merge pull request #2306 from triska/dcg_representation
No longer use (->)//2 in library(clpb)
Mark Thom [Tue, 23 Jan 2024 20:50:17 +0000 (13:50 -0700)]
Merge pull request #2305 from mthom/dependabot/cargo/h2-0.3.24
Bump h2 from 0.3.22 to 0.3.24
Markus Triska [Tue, 23 Jan 2024 20:43:34 +0000 (21:43 +0100)]
improve error context
Source: https://github.com/mthom/scryer-prolog/issues/2304#issuecomment-
1906434756
Markus Triska [Tue, 23 Jan 2024 20:40:50 +0000 (21:40 +0100)]
no longer use (->)//2, since it is implementation defined
This addresses #2304.
dependabot[bot] [Tue, 23 Jan 2024 18:20:39 +0000 (18:20 +0000)]
Bump h2 from 0.3.22 to 0.3.24
Bumps [h2](https://github.com/hyperium/h2) from 0.3.22 to 0.3.24.
- [Release notes](https://github.com/hyperium/h2/releases)
- [Changelog](https://github.com/hyperium/h2/blob/v0.3.24/CHANGELOG.md)
- [Commits](https://github.com/hyperium/h2/compare/v0.3.22...v0.3.24)
---
updated-dependencies:
- dependency-name: h2
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <[email protected] >
Mark Thom [Tue, 23 Jan 2024 18:19:53 +0000 (11:19 -0700)]
Merge pull request #2303 from mthom/dependabot/cargo/shlex-1.3.0
Bump shlex from 1.2.0 to 1.3.0
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.