]> Repositorios git - scryer-prolog.git/log
scryer-prolog.git
5 weeks agoMerge branch 'js/pio-phrase-from-stream' into js/integration
Javier Sagredo [Tue, 16 Jun 2026 22:26:41 +0000 (00:26 +0200)]
Merge branch 'js/pio-phrase-from-stream' into js/integration

5 weeks agoMerge branch 'js/tls-process-docs' into js/integration
Javier Sagredo [Tue, 16 Jun 2026 22:26:22 +0000 (00:26 +0200)]
Merge branch 'js/tls-process-docs' into js/integration

5 weeks agoProper backtracking on interrupted socket/http listeners
Javier Sagredo [Tue, 16 Jun 2026 21:49:12 +0000 (23:49 +0200)]
Proper backtracking on interrupted socket/http listeners

5 weeks agoBetter visuals for documentation in library(tls), library(process)
Javier Sagredo [Mon, 15 Jun 2026 21:43:40 +0000 (23:43 +0200)]
Better visuals for documentation in library(tls), library(process)

1. Trailing whitespaces makes Doclog not render lists as lists.
2. TLS module documentation was only visible in Prolog source code.

6 weeks agoAllow using non-terminating streams in phrase_from_stream
Javier Sagredo [Mon, 15 Jun 2026 21:14:18 +0000 (23:14 +0200)]
Allow using non-terminating streams in phrase_from_stream

6 weeks agoMerge pull request #3331 from adri326/rawblock-safety
Mark Thom [Thu, 11 Jun 2026 07:38:04 +0000 (00:38 -0700)]
Merge pull request #3331 from adri326/rawblock-safety

Prove safety of RawBlock and support multi-threaded usages

7 weeks agoMerge pull request #3363 from Skgland/adjust-discussion-3359-test
Mark Thom [Fri, 5 Jun 2026 20:55:21 +0000 (13:55 -0700)]
Merge pull request #3363 from Skgland/adjust-discussion-3359-test

adjust regression test for discussion 3359

7 weeks agoMerge pull request #3364 from Skgland/finish-msrv-bump-cleanup
Mark Thom [Fri, 5 Jun 2026 20:54:49 +0000 (13:54 -0700)]
Merge pull request #3364 from Skgland/finish-msrv-bump-cleanup

finish msrv bump cleanup

7 weeks agoremove unecessary use of LayzLock
Skgland [Fri, 5 Jun 2026 18:47:20 +0000 (20:47 +0200)]
remove unecessary use of LayzLock

AtomicBool::new const

7 weeks agofix lint warnings
Skgland [Fri, 5 Jun 2026 18:45:18 +0000 (20:45 +0200)]
fix lint warnings

7 weeks agocleanup after msrv bump
Skgland [Fri, 5 Jun 2026 18:44:38 +0000 (20:44 +0200)]
cleanup after msrv bump

7 weeks agoadjust regression test for discussion 3359
Skgland [Fri, 5 Jun 2026 18:27:22 +0000 (20:27 +0200)]
adjust regression test for discussion 3359

- incorporate fix from https://github.com/mthom/scryer-prolog/commit/3a2d57db33d49139d13c1e8cfba6eb3d79bcec19#commitcomment-187528793
- mark as should panic rather than ignored, this ensures that the test will be updated should this get fixed

7 weeks agoMerge pull request #3299 from danilp-id/interrupt_test
Mark Thom [Thu, 4 Jun 2026 20:11:08 +0000 (13:11 -0700)]
Merge pull request #3299 from danilp-id/interrupt_test

Test: SIGINT should be able to interrupt non-terminating goals on linux

7 weeks agofix merge
Danil Platonov [Thu, 4 Jun 2026 19:25:54 +0000 (12:25 -0700)]
fix merge

7 weeks agoMerge branch 'master' into interrupt_test
Danil Platonov [Thu, 4 Jun 2026 19:08:36 +0000 (12:08 -0700)]
Merge branch 'master' into interrupt_test

7 weeks agoMerge pull request #3362 from danilp-id/socket_interrupt
Mark Thom [Thu, 4 Jun 2026 17:56:09 +0000 (10:56 -0700)]
Merge pull request #3362 from danilp-id/socket_interrupt

Handle interrupts for socket_server_accept/4

7 weeks agohandle interrupts for tcp server
Danil Platonov [Thu, 4 Jun 2026 09:41:11 +0000 (02:41 -0700)]
handle interrupts for tcp server

7 weeks agoMerge pull request #3352 from danilp-id/http_interrupt
Mark Thom [Wed, 3 Jun 2026 20:36:21 +0000 (13:36 -0700)]
Merge pull request #3352 from danilp-id/http_interrupt

Interrupts support for http server + other improvements

7 weeks agoMerge pull request #3360 from Skgland/fix-discussion-3359
Mark Thom [Wed, 3 Jun 2026 20:35:56 +0000 (13:35 -0700)]
Merge pull request #3360 from Skgland/fix-discussion-3359

Fix discussion 3359

7 weeks agoignore added test on i686-unknown-linux-gnu
Skgland [Wed, 3 Jun 2026 20:05:07 +0000 (22:05 +0200)]
ignore added test on i686-unknown-linux-gnu

appears to have been broken even before d50d42509903dc3cc1841eb757a703753de84754
so has a different cause that needs to be investigated

7 weeks agofix discussion 3359
Skgland [Wed, 3 Jun 2026 19:09:58 +0000 (21:09 +0200)]
fix discussion 3359

7 weeks agoadd regression test for discussion 3359
Skgland [Wed, 3 Jun 2026 19:09:39 +0000 (21:09 +0200)]
add regression test for discussion 3359

7 weeks agoMerge pull request #3357 from Skgland/fix-issue3346
Mark Thom [Wed, 3 Jun 2026 05:19:21 +0000 (22:19 -0700)]
Merge pull request #3357 from Skgland/fix-issue3346

ensure ParallelHeapIter pushes its stack in pairs and fix 3346

7 weeks agouse Notify instead of Sender
Danil Platonov [Tue, 2 Jun 2026 07:49:00 +0000 (00:49 -0700)]
use Notify instead of Sender

7 weeks agofix parallel heap iter
Skgland [Mon, 1 Jun 2026 21:59:37 +0000 (23:59 +0200)]
fix parallel heap iter

7 weeks agouse a pair for ParallelHeapIter
Skgland [Mon, 1 Jun 2026 21:58:17 +0000 (23:58 +0200)]
use a pair for ParallelHeapIter

to ensure it is pushed popped in pairs

8 weeks agounused code for unimplemented shutdown on timeout feature
Danil Platonov [Sat, 30 May 2026 22:59:16 +0000 (15:59 -0700)]
unused code for unimplemented shutdown on timeout feature

8 weeks agocargo fmt
Danil Platonov [Sat, 30 May 2026 22:56:18 +0000 (15:56 -0700)]
cargo fmt

8 weeks agoallow to stop and start http server at will with SIGINT, stop the server on uncaught...
Danil Platonov [Sat, 30 May 2026 22:47:50 +0000 (15:47 -0700)]
allow to stop and start http server at will with SIGINT, stop the server on uncaught throws, display timing info for each request, use setup_call_cleanup in more places to avoid potential leaks, when handler for a path doesn't have a matching case, throw a detailed error instead of silently continuing

8 weeks agoTest that SIGINT interrupts non-terminating goals on unix.
Danil Platonov [Sat, 30 May 2026 18:45:57 +0000 (11:45 -0700)]
Test that SIGINT interrupts non-terminating goals on unix.

Cleanup: use tokio::test instead of special test helpers

Added pty_exec.py helper script to run binaries with a pseudoterminal attached (bug won't trigger otherwise).

Tested CI to fail on all unixes (ubuntu+macos) with older rustyline, and pass with new one.

8 weeks agoMerge pull request #3347 from drzv/im7-compat2 HEAD master origin/HEAD origin/master
Mark Thom [Thu, 28 May 2026 23:34:52 +0000 (16:34 -0700)]
Merge pull request #3347 from drzv/im7-compat2

showterm.el: use new magick command by default, fallback to convert

2 months agoMerge pull request #3272 from abmclin/windows_improve_notty_stdin_support
Mark Thom [Tue, 26 May 2026 20:01:23 +0000 (14:01 -0600)]
Merge pull request #3272 from abmclin/windows_improve_notty_stdin_support

Windows improve notty stdin support to resolve issue 3264

2 months agoshowterm.el: use new magick command by default, fallback to convert
drzv [Tue, 26 May 2026 12:14:54 +0000 (08:14 -0400)]
showterm.el: use new magick command by default, fallback to convert

2 months agoshowterm.el: revert #3338
drzv [Tue, 26 May 2026 01:55:01 +0000 (01:55 +0000)]
showterm.el: revert #3338

2 months agoIssue 3264: rebase and update dependencies
Alexander McLin [Mon, 25 May 2026 22:24:24 +0000 (18:24 -0400)]
Issue 3264: rebase and update dependencies

2 months agoIssue 3264 add rationale comment & `#[allow(...)]`
Alexander McLin [Tue, 14 Apr 2026 19:27:52 +0000 (15:27 -0400)]
Issue 3264 add rationale comment & `#[allow(...)]`

Explain why no multibyte UTF-8 encoding support
Disable `bytes()` clippy warning about performance penalty due to unbuffered bytes

2 months agoIssue 3264: refactor `supported_terminal`
Alexander McLin [Sun, 12 Apr 2026 12:42:15 +0000 (08:42 -0400)]
Issue 3264: refactor `supported_terminal`

Use better code style

2 months agoIssue 3264: reformat to conform to style guidelines
Alexander McLin [Sat, 11 Apr 2026 01:57:23 +0000 (21:57 -0400)]
Issue 3264: reformat to conform to style guidelines

2 months agoFixes issue 3264 by adding a fallback read mode when reading from non-tty stdin on...
Alexander McLin [Mon, 30 Mar 2026 01:29:48 +0000 (21:29 -0400)]
Fixes issue 3264 by adding a fallback read mode when reading from non-tty stdin on Windows

2 months agoMerge pull request #3342 from Skgland/pdl-pairs
Mark Thom [Mon, 25 May 2026 21:10:02 +0000 (15:10 -0600)]
Merge pull request #3342 from Skgland/pdl-pairs

ensure pdl is pushed/popped in pairs and reuse tabu_list allocation by moving it from a local variable into the machine state

2 months agoMerge pull request #3310 from Skgland/process_wait-release
Mark Thom [Mon, 25 May 2026 21:08:37 +0000 (15:08 -0600)]
Merge pull request #3310 from Skgland/process_wait-release

add `release(Bool)` option to `process_wait/3`

2 months agoMerge pull request #3320 from Skgland/all-pure-rust
Mark Thom [Mon, 25 May 2026 20:36:04 +0000 (14:36 -0600)]
Merge pull request #3320 from Skgland/all-pure-rust

add a feature for enabling all features that don't pull in non pure rust dependencies

2 months agoMerge pull request #3317 from Skgland/optimize-put_back_char
Mark Thom [Mon, 25 May 2026 20:03:31 +0000 (14:03 -0600)]
Merge pull request #3317 from Skgland/optimize-put_back_char

optimize put_back_char

2 months agomerge crypto-impure feature into feature crypto-full
Skgland [Mon, 25 May 2026 17:07:20 +0000 (19:07 +0200)]
merge crypto-impure feature into feature crypto-full

2 months agomore spelling fixes
Skgland [Mon, 25 May 2026 14:39:37 +0000 (16:39 +0200)]
more spelling fixes

2 months agofix spelling
Skgland [Sun, 24 May 2026 21:55:19 +0000 (23:55 +0200)]
fix spelling

2 months agocleanup
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

2 months agocheck individual features in CI
Skgland [Mon, 27 Apr 2026 20:53:05 +0000 (22:53 +0200)]
check individual features in CI

2 months agomake crypto depending on ring optional
Skgland [Sat, 25 Apr 2026 19:17:48 +0000 (21:17 +0200)]
make crypto depending on ring optional

2 months agoMerge pull request #3290 from abmclin/bump-rustyline-version-18
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

2 months agoMerge pull request #3338 from drzv/master
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

2 months agoMerge pull request #3312 from Skgland/big-endian-miri
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

2 months agoconfigure linker via env var insread of .cargo/config.toml
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

2 months agofix missing description
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

2 months agoadd a feature for things that are simple to cross-compile
Skgland [Mon, 27 Apr 2026 19:33:08 +0000 (21:33 +0200)]
add a feature for things that are simple to cross-compile

2 months agofix miri not being passed the target
Skgland [Sat, 25 Apr 2026 22:17:33 +0000 (00:17 +0200)]
fix miri not being passed the target

2 months agofix ci and setup cross-compilation
Skgland [Sat, 25 Apr 2026 19:41:59 +0000 (21:41 +0200)]
fix ci and setup cross-compilation

2 months agoadd miri CI for a big endian target
Skgland [Sat, 25 Apr 2026 19:27:03 +0000 (21:27 +0200)]
add miri CI for a big endian target

2 months agofix spelling again
Skgland [Sun, 24 May 2026 08:30:30 +0000 (10:30 +0200)]
fix spelling again

2 months agoremove out-dated comment and fix spelling/grammar
Skgland [Sun, 24 May 2026 08:25:24 +0000 (10:25 +0200)]
remove out-dated comment and fix spelling/grammar

2 months agoMerge pull request #3311 from Skgland/cleanup2
Mark Thom [Sun, 24 May 2026 00:27:50 +0000 (18:27 -0600)]
Merge pull request #3311 from Skgland/cleanup2

some cleanup and fixes

2 months agoMerge pull request #3333 from 0nkery/lazy-lock
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

2 months agoMerge pull request #3345 from triska/meetups
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

2 months agofix spelling
Skgland [Sat, 23 May 2026 09:28:45 +0000 (11:28 +0200)]
fix spelling

2 months agolink 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

2 months agoMerge pull request #3336 from 0nkery/fix-between-doc
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

2 months agoMerge pull request #3334 from Skgland/stable-order
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

2 months agoMerge pull request #3328 from Skgland/update-libffi
Mark Thom [Sat, 23 May 2026 04:53:49 +0000 (22:53 -0600)]
Merge pull request #3328 from Skgland/update-libffi

upgrade libffi dependency

2 months agoMerge pull request #3316 from josd/master
Mark Thom [Sat, 23 May 2026 04:52:27 +0000 (22:52 -0600)]
Merge pull request #3316 from josd/master

Improve CharReader buffering

2 months agoMerge pull request #3323 from triska/VATmiraal
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

2 months agoreuse tabu list
Skgland [Sun, 17 May 2026 18:50:37 +0000 (20:50 +0200)]
reuse tabu list

2 months agoensure pdl is pushed/popped in pairs
Skgland [Sun, 17 May 2026 17:45:55 +0000 (19:45 +0200)]
ensure pdl is pushed/popped in pairs

2 months agoCall ImageMagick with make-process. Redirect stderr to separate buffer
drzv [Thu, 14 May 2026 19:10:05 +0000 (19:10 +0000)]
Call ImageMagick with make-process. Redirect stderr to separate buffer

2 months agofix var mode in between/3 documentation
Dmitrii Shlagov [Thu, 14 May 2026 14:25:33 +0000 (16:25 +0200)]
fix var mode in between/3 documentation

2 months agouse BTree{Map,Set} to ensure a stable order based on the key/entry even if filesystem...
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

2 months agoroll back gitignore changes
Dmitrii Shlagov [Tue, 12 May 2026 15:14:19 +0000 (17:14 +0200)]
roll back gitignore changes

2 months agoremove redundant closure
Dmitry Shlagoff [Tue, 12 May 2026 14:12:33 +0000 (16:12 +0200)]
remove redundant closure

2 months agoreplace lazy_static macro with std::sync::LazyLock
Dmitry Shlagoff [Tue, 12 May 2026 13:39:35 +0000 (15:39 +0200)]
replace lazy_static macro with std::sync::LazyLock

2 months agoRawBlock: finish proof of safety and defragment after growing
Emilie Burgun [Sun, 10 May 2026 18:00:02 +0000 (20:00 +0200)]
RawBlock: finish proof of safety and defragment after growing

After calling `grow()`, the new head would jump to `old_capacity` rather
than staying to the same offset.

In practice this only loses a few bytes at most.

2 months agoRawBlock: switch to Cell or AtomicPtr instead of UnsafeCell
Emilie Burgun [Sun, 10 May 2026 17:21:36 +0000 (19:21 +0200)]
RawBlock: switch to Cell or AtomicPtr instead of UnsafeCell

This is the first step towards enabling multithreading on AtomTable.

For now RawBlock will default to using Cell, which yields a byte-
equivalent compiled output.

Also adds an `atomic` feature, which, when enabled, will make RawBlock
use an AtomicPtr instead, ensuring that it implements `Sync`.

2 months agoRawBlock: seal `base` and add Stack::index_dangling_or_frame
Emilie Burgun [Sun, 10 May 2026 13:07:08 +0000 (15:07 +0200)]
RawBlock: seal `base` and add Stack::index_dangling_or_frame

Direct accesses to `base` are replaced with dedicated methods with
explicit safety requirements.

2 months agoRawBlock: seal most fields, replace `top` with a `capacity` field
Emilie Burgun [Sun, 10 May 2026 11:53:58 +0000 (13:53 +0200)]
RawBlock: seal most fields, replace `top` with a `capacity` field

2 months agoupgrade libffi dependency
Skgland [Fri, 8 May 2026 20:36:41 +0000 (22:36 +0200)]
upgrade libffi dependency

2 months agoBump Cargo.toml `rust-version` to `1.93.1`
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

2 months agoexplanation of product
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!

2 months agoadd link to VATmiraal, https://vatmiraal.be
Markus Triska [Sun, 3 May 2026 07:51:42 +0000 (09:51 +0200)]
add link to VATmiraal, https://vatmiraal.be

2 months agoun-ignore lorem_ipsum tests as they are no longer slow
Skgland [Thu, 30 Apr 2026 17:54:39 +0000 (19:54 +0200)]
un-ignore lorem_ipsum tests as they are no longer slow

2 months agooptimize CharReader
Skgland [Thu, 30 Apr 2026 17:44:31 +0000 (19:44 +0200)]
optimize CharReader

2 months agouse a function rather than a closure
Skgland [Thu, 30 Apr 2026 17:02:27 +0000 (19:02 +0200)]
use a function rather than a closure

2 months agoadd a test with bad utf-8
Skgland [Thu, 30 Apr 2026 17:01:34 +0000 (19:01 +0200)]
add a test with bad utf-8

3 months agooptimize put_back_char
Skgland [Sun, 26 Apr 2026 11:43:04 +0000 (13:43 +0200)]
optimize put_back_char

Always encode the char directly into the buffer.
Only shift the buffer content if there isn't enough room in the front.

3 months agoImprove CharReader buffering
josd [Sun, 26 Apr 2026 11:42:41 +0000 (13:42 +0200)]
Improve CharReader buffering

3 months agofix ArenaPtr payload offset logic
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

3 months agodon't erase ptr type early when construction a Cons HeapCellValue
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.

3 months agofix unused import warning on windows
Skgland [Wed, 22 Apr 2026 20:42:35 +0000 (22:42 +0200)]
fix unused import warning on windows

3 months agofix large enum variant size difference warning of PermVarAllocation
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.

3 months agofix linux tests on 1.85
Skgland [Sat, 25 Apr 2026 13:19:41 +0000 (15:19 +0200)]
fix linux tests on 1.85

old rust versions didn't print the pid

3 months agoadjust test expectations
Skgland [Sat, 25 Apr 2026 11:56:48 +0000 (13:56 +0200)]
adjust test expectations

3 months agoadd process_wait/3 release(Bool) option
Skgland [Sat, 25 Apr 2026 10:59:20 +0000 (12:59 +0200)]
add process_wait/3 release(Bool) option

make process_wait/3 release the Process by default

3 months agoadd tests
Skgland [Sat, 25 Apr 2026 10:49:14 +0000 (12:49 +0200)]
add tests