Markus Triska
7dc6d6e4e0
preliminary support for a subset of quads introduced by @UWN
...
This lets us embed toplevel interactions in Prolog programs.
Embedded toplevel interactions are currently ignored.
Example:
:- use_module(library(lists)).
?- member(X, "abc").
X = a
; X = b
; X = c.
2025-08-08 18:44:25 +02:00
Mark Thom
a43bac8fd8
Merge pull request #3021 from mthom/rebis-dev
...
Merge rebis-dev to master
2025-08-02 00:01:39 -07:00
Mark Thom
72d5574ff0
Merge pull request #3009 from Skgland/process
...
adds predicates for spawning new processes without a shell
2025-08-01 23:18:36 -07:00
Bennet Bleßmann
a2e19bd483
add process module to all_modules test
2025-08-01 21:31:58 +02:00
Bennet Bleßmann
d907f86c8d
use call_with_error_context
2025-08-01 20:49:43 +02:00
Bennet Bleßmann
fadd3a0839
use named vars instead of wildcards
...
makes updating tests easier as globs are sometimes lost when using TRYCMD=overwrite
2025-08-01 20:49:35 +02:00
Bennet Bleßmann
45041be336
fix culprit
2025-08-01 20:49:24 +02:00
Bennet Bleßmann
b2d639b159
fix arity of prcess_wait builtin errors
2025-08-01 20:49:14 +02:00
Bennet Bleßmann
3a6b92d227
more tests
2025-08-01 20:49:03 +02:00
Bennet Bleßmann
409159d68d
adjust/add tests
2025-08-01 20:48:55 +02:00
Bennet Bleßmann
143f32be23
adjust options checking and add more tests
2025-08-01 20:48:44 +02:00
Bennet Bleßmann
d0a6dc9df2
address comment by triska
...
https://github.com/mthom/scryer-prolog/pull/3009#discussion_r2233221091
2025-08-01 20:48:34 +02:00
Bennet Bleßmann
62e43a3ab0
use functor/3 for must_be_known_options
2025-08-01 20:48:24 +02:00
Bennet Bleßmann
eb82d1b6d4
reformat ;
2025-08-01 20:48:13 +02:00
Bennet Bleßmann
70d65bcea8
add another test and remove unecessary module qualification
2025-08-01 20:48:03 +02:00
Bennet Bleßmann
25edde2eb4
replace filter by tfiltert and fix Pipe{Reader,Writer} streams
2025-08-01 20:47:51 +02:00
Bennet Bleßmann
ab675e071a
adjust error kind
2025-08-01 20:47:41 +02:00
Bennet Bleßmann
dc08a4ab11
get process_create working and add tests
2025-08-01 20:47:22 +02:00
Bennet Bleßmann
1120bcde29
add documentation
2025-08-01 20:47:11 +02:00
Bennet Bleßmann
dc495f10f8
change behaviour in supposedly unreachable cases
2025-08-01 20:46:31 +02:00
Bennet Bleßmann
d2ffd4f4bf
adjust error for duplicate options
2025-08-01 20:35:12 +02:00
Bennet Bleßmann
87dbad2294
fix rename pid to process
2025-08-01 20:35:01 +02:00
Bennet Bleßmann
ca52c65902
don't remove the child on wait/kill
...
- important for wait with timout(0) as we may want to try again until the process has realy exited.
- make process_release release the process instead
2025-08-01 20:33:15 +02:00
Bennet Bleßmann
7f233da10c
fix timeout default value in process_wait/3
2025-08-01 20:28:17 +02:00
Bennet Bleßmann
ff546a0f9a
incorporate suggestion by triska
2025-08-01 20:28:07 +02:00
Bennet Bleßmann
746d4fd106
make atom!() with a new value less annoying
2025-08-01 20:27:53 +02:00
Bennet Bleßmann
97e2e5d7f0
implement process_release/1, process_wait/2, process_wait/3, and process_kill/1
2025-08-01 20:27:27 +02:00
Bennet Bleßmann
1ee4f7a55f
store child process in machine state
2025-08-01 20:21:36 +02:00
Bennet Bleßmann
43dd1587fb
handle some error cases and replace unwrap with expect
2025-08-01 20:21:23 +02:00
Bennet Bleßmann
8971809c83
adjust errors
2025-08-01 20:21:13 +02:00
Bennet Bleßmann
e321f29b9c
rename pid to process
2025-08-01 20:21:02 +02:00
Bennet Bleßmann
129c80bf16
undo changes to error.pl
2025-08-01 20:20:52 +02:00
Bennet Bleßmann
183761eba4
adjust default cwd
2025-08-01 20:20:41 +02:00
Bennet Bleßmann
6c7833b9c7
restructure option parsing
2025-08-01 20:20:31 +02:00
Bennet Bleßmann
82e989f631
add comments and try to fix binding the child process pid
2025-08-01 20:20:20 +02:00
Bennet Bleßmann
2b052bf8dd
fix more things
2025-08-01 20:20:09 +02:00
Bennet Bleßmann
003e9d4610
get it working
2025-08-01 20:19:54 +02:00
Bennet Bleßmann
d79ece2497
fix indices
2025-08-01 20:18:44 +02:00
Bennet Bleßmann
ae0baf4893
[WIP] add support to spawn new processes
2025-08-01 20:18:13 +02:00
Mark Thom
f524062e5b
Merge pull request #2961 from rotu/patch-5
...
Document `when/2` Condition
2025-07-31 22:10:32 -07:00
Mark Thom
eb29390a79
Merge pull request #3017 from triska/adapt_link
...
adapt link to Scryer Prolog Meetup 2024
2025-07-31 22:09:54 -07:00
Mark Thom
f91aedcc2f
Merge pull request #3019 from Skgland/rebis-dev_fix-clippy
...
fix clippy
2025-07-31 22:09:41 -07:00
Bennet Bleßmann
4f04d2dfca
replace .skip(n).next() with .nth(n)
2025-07-31 21:47:12 +02:00
Bennet Bleßmann
de89a78cbb
remove unecessary cast
2025-07-31 21:47:11 +02:00
Bennet Bleßmann
e7600884fb
remove unecessary into_iter
2025-07-31 21:47:11 +02:00
Bennet Bleßmann
3365cffa96
prefere for loop
2025-07-31 21:47:10 +02:00
Bennet Bleßmann
df3f1236f7
replace always erroring of_else with map_err
2025-07-31 21:47:09 +02:00
Bennet Bleßmann
8766851919
replace single non-wildcard pattern match with if let
2025-07-31 21:47:09 +02:00
Bennet Bleßmann
014d1b0095
remove already implied must_use
2025-07-31 21:47:08 +02:00
Bennet Bleßmann
c885d1a7e7
collaps els-if / if-if
2025-07-31 21:47:08 +02:00