Adrián Arroyo Calle
a72632ae85
Manage Float and Double FFI types in structs
2024-06-06 22:18:17 +02:00
Mark Thom
070f1e8dfa
more generally consider NEGATIVE_SIGN a non-op term ( #2401 )
2024-05-13 14:37:44 -06:00
Mark Thom
42a0d686a5
Merge pull request #2393 from mthom/unsafe_improvements
...
Improve use of unsafe Rust in arena.rs (#2391 )
2024-04-29 16:17:14 -06:00
Mark Thom
79bc2d9c68
remove 1.70 version CI job
2024-04-29 15:40:05 -06:00
Mark Thom
f3eea6302d
delay instantiation errors on lists in phrase/3 until runtime ( #1665 , #2396 )
2024-04-29 15:28:17 -06:00
Mark Thom
bcfa0219e2
detect External indices more generally in internalize_constant ( #2395 )
2024-04-29 14:23:14 -06:00
Mark Thom
5e1effc69a
fix failing clippy checks, remove unnecessary code
2024-04-25 20:05:22 -06:00
Mark Thom
be23c74b17
fix wasm tests in unsafe_improvements branch
2024-04-24 21:21:25 -06:00
Mark Thom
8fe1c206d3
bump required rust version for use of newly introduced macros
2024-04-24 20:33:42 -06:00
Mark Thom
a6157a926d
improve use of unsafe Rust in arena.rs ( #2391 )
2024-04-24 20:28:06 -06:00
Mark Thom
9837187183
add nth_partial_strings_tests for bugs raised in #1827 , #2381
2024-04-10 15:50:24 -06:00
Mark Thom
c2657cce37
use common test_framework module for several test suites
2024-04-10 15:47:31 -06:00
Mark Thom
7d6109feca
fix char_offset values in add_pstr_offset_chars ( #2381 )
2024-04-10 15:46:11 -06:00
Mark Thom
cf14b222f2
fix skip_max_list crash on bigint max_steps ( #2382 )
2024-04-09 18:57:53 -06:00
Mark Thom
238343f389
add max_steps to PStr offset ( #2381 )
2024-04-09 18:40:08 -06:00
Mark Thom
77e90ca725
correct offsets around max_steps in skip_max_list ( #2381 )
2024-04-09 15:58:23 -06:00
Mark Thom
f734c273ca
Merge pull request #2379 from aarroyoc/scryer-prolog-meetup-2024
...
website: add Scryer Prolog Meetup 2024 banner
2024-04-07 18:10:54 -06:00
Adrián Arroyo Calle
e23e5203de
website: add Scryer Prolog Meetup 2024 banner
2024-04-07 19:44:13 +02:00
Mark Thom
a2dd189241
add Scryer Prolog Meetup 2024 to README
2024-04-05 12:29:02 -06:00
Mark Thom
0ed4e41000
Merge pull request #2376 from mthom/dependabot/cargo/h2-0.3.26
...
Bump h2 from 0.3.24 to 0.3.26
2024-04-05 11:19:50 -06:00
dependabot[bot]
352919862f
Bump h2 from 0.3.24 to 0.3.26
...
Bumps [h2](https://github.com/hyperium/h2 ) from 0.3.24 to 0.3.26.
- [Release notes](https://github.com/hyperium/h2/releases )
- [Changelog](https://github.com/hyperium/h2/blob/v0.3.26/CHANGELOG.md )
- [Commits](https://github.com/hyperium/h2/compare/v0.3.24...v0.3.26 )
---
updated-dependencies:
- dependency-name: h2
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-05 16:18:08 +00:00
Mark Thom
aab6567750
treat Utf8Error::valid_up_to as an offset form self.pos, which it is ( #2374 )
2024-04-03 15:29:29 -06:00
Mark Thom
ea9e24f214
Merge pull request #2367 from triska/dcg_meta_predicates
...
ADDED: meta_predicate/1 declarations for (',')//2 and (;)//2
2024-03-26 15:21:37 -06:00
Mark
40fc4f9392
correct offset retrieval in add_pstr_chars_and_step ( #2370 )
2024-03-25 12:47:45 -06:00
Markus Triska
795a7c690d
ADDED: meta_predicate/1 declarations for (',')//2 and (;)//2
...
This addresses #2366 .
2024-03-21 22:14:40 +01:00
Mark Thom
2fdbb94c79
Merge pull request #2363 from triska/compile_format
...
ENHANCED: Partial evaluation of format_//2 and related constructs
2024-03-20 18:52:08 -06:00
Markus Triska
767d90d5e7
ENHANCED: further partial evaluation for the common control sequence ~d
2024-03-20 21:10:14 +01:00
Markus Triska
bc04790fd5
extend partial evaluation to computing lengths when statically possible
2024-03-20 21:10:14 +01:00
Markus Triska
58f7c94e74
goal expansion for format/2 and format/3
...
In this way, we benefit from partial evaluation of format strings.
2024-03-20 21:10:14 +01:00
Markus Triska
8af29c200d
strengthen type check
2024-03-20 21:10:10 +01:00
Markus Triska
1db6bff890
ENHANCED: Partial evaluation of format_//2.
...
This moves analysis of the format string to compilation time when
possible, so that parsing it at run time is no longer necessary.
2024-03-20 20:59:43 +01:00
Mark
0292cb73d3
expand_call_goals/3 should expand meta-predicate subgoals ( #2361 )
2024-03-19 17:12:26 -06:00
Mark Thom
7b33eafbb0
Merge pull request #2358 from triska/octet_documentation
...
Documentation improvements for encoding(octet) option in several predicates
2024-03-16 19:56:49 -06:00
Markus Triska
ee60c463c8
indicate deprecated functionality
2024-03-16 21:23:12 +01:00
Markus Triska
e1a6b5eb03
DOC: Un-document the ability to use bytes with encoding(octet).
...
This usage is now considered deprecated. Use strings instead for
greater efficiency and type consistency in your applications.
This functionality is a candidate for removal in a future commit.
2024-03-16 20:37:06 +01:00
Markus Triska
4ebdd97ad3
DOC: Improve descriptions to make clear what encoding(octet) means.
...
In particular, octet does *not* mean that the input is a list of
Prolog bytes in the sense of "integers between 0..255", but that the
character codes are used directly as byte values.
2024-03-16 20:36:22 +01:00
Mark
6f7f979c05
don't skip to end of pstr in CommaSeparatedCharList token variant ( #2356 )
2024-03-12 18:37:03 -06:00
Mark Thom
ca8e280b4c
Merge pull request #2357 from aarroyoc/update-website-0.9.4
...
Website: link release v0.9.4
2024-03-12 16:46:31 -06:00
Adrián Arroyo Calle
b26e8b0e34
Website: link release v0.9.4
2024-03-12 22:23:12 +01:00
Mark
df41eb1870
recompile original terms from compile_clause for term to term expansions ( #2236 )
2024-03-01 18:57:01 -07:00
Mark Thom
90c602f867
Merge pull request #2354 from triska/side_channel
...
explain potential side-channel attacks due to compact string representation
2024-03-01 16:11:22 -07:00
Markus Triska
6b8a679a51
explain potential side-channel attacks due to compact string representation
...
This legitimate concern was already raised by @infogulch in:
https://github.com/mthom/scryer-prolog/issues/1309#issuecomment-1080028854
Thank you a lot!
2024-03-01 22:03:57 +01:00
Mark Thom
8b16a0e1f6
Merge pull request #2353 from triska/hmac_verification
...
ENHANCED: Safe HMAC verification, using constant time string comparison.
2024-03-01 12:09:16 -07:00
Markus Triska
ec251b254c
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).
2024-03-01 18:59:48 +01:00
Mark Thom
e0c8163211
Merge pull request #2351 from infogulch/install-current-iai
...
Install version of iai-callgrind set in Cargo.toml
2024-02-29 17:09:47 -07:00
infogulch
01f757c940
Install version of iai-callgrind set in Cargo.toml
2024-02-29 17:32:44 -06:00
Mark
42f4827854
make indexer downcast Integers to Fixnums when possible, be slightly more judicious about allocating Integers instead of Fixnums ( #2340 )
2024-02-29 16:15:28 -07:00
Mark
f2d3779fa9
add #2341 test to lib_machine.rs
2024-02-29 15:12:58 -07:00
Mark
b70f121e46
use scryer-modular-bitfield on github, version bump
CI / build-test (ubuntu-22.04, true, stable, x86_64-unknown-linux-gnu) (push) Has been cancelled
CI / build-test (windows-latest, true, stable, x86_64-pc-windows-msvc) (push) Has been cancelled
CI / logtalk-test (push) Has been cancelled
CI / style (push) Has been cancelled
CI / build-test (--no-default-features, ubuntu-22.04, true, nightly, wasm32-unknown-unknown, --no-run --no-default-features) (push) Has been cancelled
CI / build-test (macos-11, true, stable, x86_64-apple-darwin) (push) Has been cancelled
CI / build-test (ubuntu-20.04, true, stable, x86_64-unknown-linux-gnu) (push) Has been cancelled
CI / build-test (ubuntu-22.04, 1.70, x86_64-unknown-linux-gnu) (push) Has been cancelled
CI / build-test (ubuntu-22.04, beta, x86_64-unknown-linux-gnu) (push) Has been cancelled
CI / build-test (ubuntu-22.04, nightly, x86_64-unknown-linux-gnu) (push) Has been cancelled
CI / build-test (ubuntu-22.04, true, stable, i686-unknown-linux-gnu) (push) Has been cancelled
CI / report (push) Has been cancelled
CI / release (push) Has been cancelled
Docker Publish / build (push) Has been cancelled
v0.9.4
2024-02-29 10:08:14 -07:00
Mark
641765858f
fix misuse of TypeError trait while fixing #2345
2024-02-28 20:47:36 -07:00