]>
Repositorios git - scryer-prolog.git/log
Skgland [Mon, 27 Apr 2026 20:54:36 +0000 (22:54 +0200)]
cleanup
- fix some warnings and mark others as expected
- make use of the msrv bump to 1.93.1 and cleanup compat and workarounds
Skgland [Mon, 27 Apr 2026 20:53:05 +0000 (22:53 +0200)]
check individual features in CI
Skgland [Sat, 25 Apr 2026 19:17:48 +0000 (21:17 +0200)]
make crypto depending on ring optional
Mark Thom [Sun, 24 May 2026 19:27:00 +0000 (13:27 -0600)]
Merge pull request #3290 from abmclin/bump-rustyline-version-18
bump `Rust` version to 1.93.1 and bump `rustyline` to version 18.0.0
Mark Thom [Sun, 24 May 2026 19:22:33 +0000 (13:22 -0600)]
Merge pull request #3338 from drzv/master
Use make-process to call imagemagick in showterm.el
Mark Thom [Sun, 24 May 2026 19:22:00 +0000 (13:22 -0600)]
Merge pull request #3312 from Skgland/big-endian-miri
run miri for a big-endian target
Skgland [Sun, 24 May 2026 17:02:59 +0000 (19:02 +0200)]
configure linker via env var insread of .cargo/config.toml
someone might already have a .cargo/config.toml
Skgland [Sun, 24 May 2026 17:02:23 +0000 (19:02 +0200)]
fix missing description
Github documentation states that it is a required field and my linter complained
https://docs.github.com/en/actions/reference/workflows-and-actions/metadata-syntax#description
Skgland [Mon, 27 Apr 2026 19:33:08 +0000 (21:33 +0200)]
add a feature for things that are simple to cross-compile
Skgland [Sat, 25 Apr 2026 22:17:33 +0000 (00:17 +0200)]
fix miri not being passed the target
Skgland [Sat, 25 Apr 2026 19:41:59 +0000 (21:41 +0200)]
fix ci and setup cross-compilation
Skgland [Sat, 25 Apr 2026 19:27:03 +0000 (21:27 +0200)]
add miri CI for a big endian target
Mark Thom [Sun, 24 May 2026 00:27:50 +0000 (18:27 -0600)]
Merge pull request #3311 from Skgland/cleanup2
some cleanup and fixes
Mark Thom [Sat, 23 May 2026 15:51:22 +0000 (09:51 -0600)]
Merge pull request #3333 from 0nkery/lazy-lock
replace lazy_static macro with std::sync::LazyLock
Mark Thom [Sat, 23 May 2026 15:51:06 +0000 (09:51 -0600)]
Merge pull request #3345 from triska/meetups
link to Scryer Prolog Meetup 2026 page and its announcement
Markus Triska [Sat, 23 May 2026 08:14:15 +0000 (10:14 +0200)]
link to Scryer Prolog Meetup 2026 page and its announcement
Mark Thom [Sat, 23 May 2026 05:04:05 +0000 (23:04 -0600)]
Merge pull request #3336 from 0nkery/fix-between-doc
fix var mode in between/3 documentation
Mark Thom [Sat, 23 May 2026 04:56:13 +0000 (22:56 -0600)]
Merge pull request #3334 from Skgland/stable-order
use BTree{Map,Set} to ensure a stable order based on the key/entry
Mark Thom [Sat, 23 May 2026 04:53:49 +0000 (22:53 -0600)]
Merge pull request #3328 from Skgland/update-libffi
upgrade libffi dependency
Mark Thom [Sat, 23 May 2026 04:52:27 +0000 (22:52 -0600)]
Merge pull request #3316 from josd/master
Improve CharReader buffering
Mark Thom [Sat, 23 May 2026 04:45:39 +0000 (22:45 -0600)]
Merge pull request #3323 from triska/VATmiraal
add link to VATmiraal, https://vatmiraal.be
drzv [Thu, 14 May 2026 19:10:05 +0000 (19:10 +0000)]
Call ImageMagick with make-process. Redirect stderr to separate buffer
Dmitrii Shlagov [Thu, 14 May 2026 14:25:33 +0000 (16:25 +0200)]
fix var mode in between/3 documentation
Skgland [Wed, 13 May 2026 22:50:37 +0000 (00:50 +0200)]
use BTree{Map,Set} to ensure a stable order based on the key/entry even if filesystem enumeration order changes
this should help with reproducibility
Dmitrii Shlagov [Tue, 12 May 2026 15:14:19 +0000 (17:14 +0200)]
roll back gitignore changes
Dmitry Shlagoff [Tue, 12 May 2026 14:12:33 +0000 (16:12 +0200)]
remove redundant closure
Dmitry Shlagoff [Tue, 12 May 2026 13:39:35 +0000 (15:39 +0200)]
replace lazy_static macro with std::sync::LazyLock
Skgland [Fri, 8 May 2026 20:36:41 +0000 (22:36 +0200)]
upgrade libffi dependency
Alexander McLin [Tue, 5 May 2026 13:58:05 +0000 (09:58 -0400)]
Bump Cargo.toml `rust-version` to `1.93.1`
MSRV discussion settled on `1.93.1` to align with upcoming Debian stable releases
Markus Triska [Sun, 3 May 2026 09:00:14 +0000 (11:00 +0200)]
explanation of product
See posting by @constraintAutomaton at:
https://github.com/mthom/scryer-prolog/pull/3323#issuecomment-
4365798844
Many thanks!
Markus Triska [Sun, 3 May 2026 07:51:42 +0000 (09:51 +0200)]
add link to VATmiraal, https://vatmiraal.be
josd [Sun, 26 Apr 2026 11:42:41 +0000 (13:42 +0200)]
Improve CharReader buffering
Skgland [Sat, 25 Apr 2026 14:39:53 +0000 (16:39 +0200)]
fix ArenaPtr payload offset logic
the old logic would be incorrect if the payload has higher alignment than the ArenaHeader i.e. when there is padding between the ArenaHeader and the Payload
Skgland [Wed, 22 Apr 2026 21:22:27 +0000 (23:22 +0200)]
don't erase ptr type early when construction a Cons HeapCellValue
rather than passing an address as usize pass the ArenaHeader pointer
similarly don't return a u8 ptr but use a ArenaHeader pointer instead
Don't convert the pointer to a ConsPtr by going through native endian
bytes in between.
We are exploiting the fact that the 3 least significant bytes are zero
for pointer to types of alignment 8 and we expect these to line up with
the f, m, and tag field at the end of the ConsPtr struct, but using
native endiannes for this would only work on big endian systems.
Skgland [Wed, 22 Apr 2026 20:42:35 +0000 (22:42 +0200)]
fix unused import warning on windows
Skgland [Fri, 17 Apr 2026 23:29:28 +0000 (01:29 +0200)]
fix large enum variant size difference warning of PermVarAllocation
by wrapping BranchNumber in an Arc.
PermVarAllocation::Done had size 208 and is now down to 32.
A Box rather than an Arc would be smaller, but it looks like BranchNumber/BranchDesignator are clones a bunch so I expect it to be beneficial to reduce allocations both of the Box itself as well as its content.
Skgland [Fri, 17 Apr 2026 19:48:53 +0000 (21:48 +0200)]
remove unused HeapCellValueView
it is identical to HeapCellValueTag
Mark Thom [Tue, 21 Apr 2026 23:22:38 +0000 (16:22 -0700)]
replace tabs with spaces
Mark Thom [Tue, 21 Apr 2026 23:02:55 +0000 (16:02 -0700)]
dereference compare_term_test args down from stack (#3286, #3295)
Mark Thom [Tue, 21 Apr 2026 22:02:14 +0000 (15:02 -0700)]
replace tabs with spaces
Mark Thom [Tue, 21 Apr 2026 21:31:53 +0000 (14:31 -0700)]
take Lis index from rd in copy_var (#3298)
Mark Thom [Sun, 19 Apr 2026 00:20:03 +0000 (18:20 -0600)]
Merge pull request #3269 from no382001/quads
fix library paths and module qualification in quadtests.pl
Mark Thom [Sun, 19 Apr 2026 00:17:18 +0000 (18:17 -0600)]
Merge pull request #3293 from danilp-id/http_server_test
http_server test + unignore http_open_hanging
Mark Thom [Sun, 19 Apr 2026 00:16:53 +0000 (18:16 -0600)]
Merge pull request #3274 from no382001/issue3262
fix read/1 on non-TTY stdin blocking until newline
Mark Thom [Sun, 19 Apr 2026 00:16:00 +0000 (18:16 -0600)]
Merge pull request #3291 from Skgland/update-actions
Update actions
Danil Platonov [Mon, 13 Apr 2026 02:32:40 +0000 (19:32 -0700)]
cargo fmt
Danil Platonov [Mon, 13 Apr 2026 02:29:39 +0000 (19:29 -0700)]
pass scryer path through stream instead of env var
Danil Platonov [Sat, 11 Apr 2026 15:59:01 +0000 (08:59 -0700)]
http server test, and also unignore http client test
Skgland [Fri, 10 Apr 2026 22:06:13 +0000 (00:06 +0200)]
update pyTooling/Actions/
[email protected] -> pyTooling/Actions/
[email protected]
Skgland [Fri, 10 Apr 2026 21:59:59 +0000 (23:59 +0200)]
Skgland [Fri, 10 Apr 2026 20:57:13 +0000 (22:57 +0200)]
pin 3rd-party actions
following githubs recommendations[^3rd-p-a] to use full-length commit SHA for 3rd-party actions
setup dependabot to help keep dependencies up-to-date
[^3rd-p-a]: https://docs.github.com/en/actions/reference/security/secure-use#using-third-party-actions
Skgland [Fri, 10 Apr 2026 21:22:09 +0000 (23:22 +0200)]
update docker/build-push-action@v6 -> docker/build-push-action@v7
Skgland [Fri, 10 Apr 2026 21:20:39 +0000 (23:20 +0200)]
update docker/metadata-action@v5 -> docker/metadata-action@v6
Skgland [Fri, 10 Apr 2026 21:19:08 +0000 (23:19 +0200)]
update docker/login-action@v3 -> docker/login-action@v4
Skgland [Fri, 10 Apr 2026 21:18:20 +0000 (23:18 +0200)]
update docker/setup-buildx-action@v3 -> docker/setup-buildx-action@v4
Skgland [Fri, 10 Apr 2026 21:16:58 +0000 (23:16 +0200)]
update actions/download-artifact@v4 -> actions/download-artifact@v8
Skgland [Fri, 10 Apr 2026 21:13:46 +0000 (23:13 +0200)]
update actions/upload-artifact@v4 -> actions/upload-artifact@v7
Skgland [Fri, 10 Apr 2026 21:10:23 +0000 (23:10 +0200)]
update actions/checkout@v4 -> actions/checkout@v6
Mark Thom [Thu, 9 Apr 2026 04:18:32 +0000 (22:18 -0600)]
Merge pull request #3276 from Skgland/cleanup
remove unused file
Alexander McLin [Mon, 6 Apr 2026 00:43:38 +0000 (20:43 -0400)]
bump `rustyline` to version 18.0.0
Fixes regression discovered on Linux after upgrading `rustyline` to 17.0.2; `SIGINT` not handled as expected, breaking ability to interrupt nontermination in `scryer`.
This was due to a change in `rustyline`'s `SIGINT` behavior since version 16 and corrected in version 18.
Mark Thom [Sat, 4 Apr 2026 19:06:11 +0000 (13:06 -0600)]
Merge pull request #3273 from no382001/issue2914
fix panic in current_prolog_flag/2 when arguments are the same variable
Mark Thom [Sat, 4 Apr 2026 18:28:35 +0000 (12:28 -0600)]
Merge pull request #3271 from abmclin/update_rustyline
Resolves issue 2694 by updating rustyline to 17.0.2
Mark Thom [Sat, 4 Apr 2026 18:02:29 +0000 (12:02 -0600)]
Merge pull request #3266 from Skgland/perf-issue-3265
perf improvements for 3265
Skgland [Thu, 2 Apr 2026 21:29:47 +0000 (23:29 +0200)]
remove unused file
no382001 [Tue, 31 Mar 2026 19:13:40 +0000 (21:13 +0200)]
restructure based on suggestion
Co-authored-by: Bennet Bleßmann <[email protected] >
no382001 [Tue, 31 Mar 2026 12:40:20 +0000 (14:40 +0200)]
fix read/1 on non-TTY stdin blocking until newline #3262
no382001 [Tue, 31 Mar 2026 07:48:23 +0000 (09:48 +0200)]
fix panic in current_prolog_flag/2 when arguments are the same variable
Alexander McLin [Sun, 29 Mar 2026 18:49:51 +0000 (14:49 -0400)]
Resolves issue 2694 by updating rustyline to 17.0.2
Skgland [Fri, 27 Mar 2026 21:00:54 +0000 (22:00 +0100)]
use checked_add to prevent silent overflow
no382001 [Fri, 27 Mar 2026 16:33:57 +0000 (17:33 +0100)]
fix library paths and module qualification in quadtests.pl
Skgland [Sat, 21 Mar 2026 17:58:40 +0000 (18:58 +0100)]
hint to the compiler/branch-predictor that
we expect p to be in bound
if we are suffiently certain that p can never be oob
unsafe get_unchecked could be used to
eliminate bounds checking all together
which should improve performance further.
Skgland [Sat, 21 Mar 2026 13:24:13 +0000 (14:24 +0100)]
run rustfmt
Skgland [Sat, 21 Mar 2026 13:20:11 +0000 (14:20 +0100)]
adjust interrupt handling
we used to spend ~5.8% of the time on getting the next value of the 0..INSTRUCTIONS_PER_INTERRUPT_POLL iterator
increment on Wrapping<u8> now only takes ~0.58 of the time
Skgland [Sat, 21 Mar 2026 12:36:40 +0000 (13:36 +0100)]
switch from Integer to u128
- u128 is only 16 bytes instead of 24
- incrementing u128 does not involve heap allocations
- u128 should be sufficent
it would take more than 2 sextilion years to overflow if we would be incrementing it every tick at 5GHz
i.e. 2^128-1 / 5 GHz / 60 / 60 / 24 / 356 > 2 sextilion
before this ~3.2% of the execution time of the program in https://github.com/mthom/scryer-prolog/issues/3265#issuecomment-
4103176469 was spend in the increment_call_count function, after this change it's down to 0.3%
Mark Thom [Fri, 20 Mar 2026 06:36:58 +0000 (23:36 -0700)]
Merge pull request #3243 from danilp-id/master
fix http stream not being closed fully
Mark Thom [Wed, 18 Mar 2026 06:58:04 +0000 (23:58 -0700)]
Merge pull request #3257 from triska/include
ISO: Implement the include/1 directive
Markus Triska [Mon, 16 Mar 2026 06:36:55 +0000 (07:36 +0100)]
retain error context (load/1) when using :- D.
Mark Thom [Sun, 15 Mar 2026 05:46:03 +0000 (22:46 -0700)]
Merge pull request #3258 from no382001/fix_load_xml/3
load_xml was returning a single term instead of a list of nodes
no382001 [Tue, 3 Mar 2026 11:34:31 +0000 (12:34 +0100)]
load_xml was returning a single term instead of a list of nodes
Mark Thom [Tue, 10 Mar 2026 05:09:40 +0000 (22:09 -0700)]
Merge pull request #3234 from fusiongyro/patch-1
Fixed a typo in the documentation for atom_codes/2
Mark Thom [Tue, 10 Mar 2026 05:09:09 +0000 (22:09 -0700)]
Merge pull request #3232 from triska/not_si
ADDED: not_si/1
Mark Thom [Tue, 10 Mar 2026 05:08:28 +0000 (22:08 -0700)]
Merge pull request #3252 from Skgland/towards-a-crate-without-syn@1
replace custom modular_bitfields fork with update upstream
Mark Thom [Tue, 10 Mar 2026 05:07:03 +0000 (22:07 -0700)]
Merge pull request #3241 from Skgland/parse-error-improvements
change `ParserError` type
Mark Thom [Tue, 10 Mar 2026 05:06:33 +0000 (22:06 -0700)]
Merge pull request #3189 from Skgland/fix-function_casts_as_integer
fix `function_casts_as_integer` warning
Mark Thom [Tue, 10 Mar 2026 03:56:04 +0000 (20:56 -0700)]
Merge pull request #3260 from thierrymarianne/dealing-with-invalid-utf8-string
handle invalid UTF-8 string
Markus Triska [Sat, 7 Mar 2026 08:37:30 +0000 (09:37 +0100)]
ENHANCED: support quads in included files
Suggested by @dcnorris, many thanks!
https://github.com/mthom/scryer-prolog/issues/634#issuecomment-
4003451420
Thierry Marianne [Thu, 5 Mar 2026 08:02:59 +0000 (09:02 +0100)]
add documentation
Signed-off-by: Thierry Marianne <[email protected] >
Thierry Marianne [Wed, 4 Mar 2026 14:06:27 +0000 (15:06 +0100)]
revise indentation of raw string
Signed-off-by: Thierry Marianne <[email protected] >
Thierry M. [Wed, 4 Mar 2026 14:01:23 +0000 (15:01 +0100)]
use C-string literal
Co-authored-by: Bennet Bleßmann <[email protected] >
Thierry Marianne [Wed, 4 Mar 2026 13:04:47 +0000 (14:04 +0100)]
cargo fmt fixes
Signed-off-by: Thierry Marianne <[email protected] >
Thierry Marianne [Wed, 4 Mar 2026 12:58:08 +0000 (13:58 +0100)]
apply suggestion
Signed-off-by: Thierry Marianne <[email protected] >
Thierry Marianne [Wed, 4 Mar 2026 12:57:17 +0000 (13:57 +0100)]
move test to tests/scryer/ffi.rs
Signed-off-by: Thierry Marianne <[email protected] >
Thierry M. [Wed, 4 Mar 2026 12:40:05 +0000 (13:40 +0100)]
use CStr .to_str() method
Co-authored-by: Bennet Bleßmann <[email protected] >
Thierry M. [Wed, 4 Mar 2026 12:33:00 +0000 (13:33 +0100)]
use C-string literal
Co-authored-by: Bennet Bleßmann <[email protected] >
Thierry Marianne [Wed, 4 Mar 2026 11:03:21 +0000 (12:03 +0100)]
fix utf-8 panic
Signed-off-by: Thierry Marianne <[email protected] >
Thierry Marianne [Wed, 4 Mar 2026 07:55:11 +0000 (08:55 +0100)]
add failing test highlighting panic on invalid UTF-8 cstr
Signed-off-by: Thierry Marianne <[email protected] >
Markus Triska [Sat, 28 Feb 2026 13:23:44 +0000 (14:23 +0100)]
ISO: Implement the include/1 directive
Quoting from the standard:
7.4.2.7 include/1
If F is an implementation defined ground term designating
a Prolog text unit, then Prolog text P1 which contains
a directive include(F) is identical to a Prolog text P2
obtained by replacing the directive include(F) in P1 by
the Prolog text denoted by F.
Example:
:- include("hello.pl").
This addresses #583 and #634.
Skgland [Fri, 20 Feb 2026 22:00:45 +0000 (23:00 +0100)]
run apt update before apt install
https://github.com/orgs/community/discussions/145882#discussioncomment-
11447924
Skgland [Fri, 20 Feb 2026 21:57:44 +0000 (22:57 +0100)]
fix warning in CI about using apt in a script
Skgland [Fri, 20 Feb 2026 21:52:25 +0000 (22:52 +0100)]
run cargo fmt