]>
Repositorios git - scryer-prolog.git/log
Mark Thom [Fri, 3 Oct 2025 06:42:59 +0000 (23:42 -0700)]
Merge pull request #3111 from Skgland/ffi-non-fixed-sized-integers
add support for non-fixed-width integers types for ffi
Mark Thom [Tue, 30 Sep 2025 03:47:55 +0000 (20:47 -0700)]
Merge pull request #3109 from Skgland/issue-3107
move CI job release from retired ubuntu-20.04 image to ubuntu-22.04
Skgland [Sun, 28 Sep 2025 17:50:21 +0000 (19:50 +0200)]
update documentation
Skgland [Sun, 28 Sep 2025 16:29:20 +0000 (18:29 +0200)]
consistently treat bool as i8
Skgland [Sun, 28 Sep 2025 16:17:35 +0000 (18:17 +0200)]
add ffi types for non-fixed-sized integers
Skgland [Sat, 27 Sep 2025 20:54:45 +0000 (22:54 +0200)]
move CI job release from retired ubuntu-20.04 image to ubuntu-22.04
the new image is the same as all other ubuntu jobs
Mark Thom [Sat, 27 Sep 2025 07:02:33 +0000 (00:02 -0700)]
version bump to 0.10.0
Mark Thom [Tue, 23 Sep 2025 05:28:10 +0000 (22:28 -0700)]
Merge pull request #3095 from thierrymarianne/derefering-registers-in-files-module-instructions-functions
Dereferencing registers in `files` module instructions functions
Thierry Marianne [Sun, 21 Sep 2025 14:51:18 +0000 (16:51 +0200)]
run rustfmt
Signed-off-by: Thierry Marianne <[email protected] >
Thierry Marianne [Sun, 21 Sep 2025 09:54:35 +0000 (11:54 +0200)]
dereferencing registers to access stack variables
deref register to access stack variable for `directory_exists/1`
deref register to access stack variable for `directory_files/2`
deref register to access stack variable for `delete_directory/1`
deref register to access stack variable for `delete_file/1`
deref registers to access stack variable for `file_copy/2`
deref register to access stack variable for `file_exists/1`
deref register to access stack variable for `file_size/2`
deref register to access stack variable from `file_time` function
deref register to access stack variable for `make_directory/1`
deref register to access stack variable for `make_directory_path/1`
deref register to access stack variable for `path_canonical/2`
deref registers to access stack variables for `rename_file/2`
Signed-off-by: Thierry Marianne <[email protected] >
Thierry Marianne [Fri, 19 Sep 2025 20:40:45 +0000 (22:40 +0200)]
add tests for `file` module predicates
reproduce failing `directory_exists/1` with working directory passed as first argument
reproduce failing `delete_directory/1` with ./test directory passed as first argument
reproduce failing `file_size/1` with 2 bytes files passed as first argument
reproduce failing `file_exists/1` with existing file passed as first argument
reproduce failing `file_modification_time/1`, `file_access_time/1` and `file_creation_time/1` with existing file passed as first argument
reproduce failing `directory_files/2` with existing directory passed as first argument
reproduce failing `delete_file/1` with existing file passed as first argument
reproduce failing `make_directory/1` with non-existing directory passed as first argument
reproduce failing `make_directory_path/1` with non-existing path passed as first argument
reproduce failing `path_canonical/2` with non-canonical path passed as first argument
reproduce failing `rename_file/2` with existing file passed as first argument, target file as second arg
revised `directory_exists/1` test case
renamed test files, test directories
use `path_segments/2`, remove path separators
do not write file size to current output
revised `directory_files/2` test
revised `path_canonical/2` test
revised `file_exists/1` test
removed hardcoded expected size
extracted hardcoded directory argument
remove path prefix containing path separator
revised expected ls cmd exit code so that it is platform-agnostic
Signed-off-by: Thierry Marianne <[email protected] >
Mark Thom [Thu, 18 Sep 2025 05:20:10 +0000 (22:20 -0700)]
Merge pull request #3084 from thierrymarianne/set_stream
Prevent top-level from panicking when calling `set_input/1` with `Stream` variants.
Mark Thom [Thu, 18 Sep 2025 03:31:03 +0000 (20:31 -0700)]
add missing P increment to GetPartialString (#3089)
Mark Thom [Thu, 18 Sep 2025 03:21:54 +0000 (20:21 -0700)]
push cyclic pstr's tail to iterator stack of printer (#3086)
Mark Thom [Thu, 18 Sep 2025 02:43:37 +0000 (19:43 -0700)]
fix attempted bind to bound StackVar (#3089)
Mark Thom [Wed, 17 Sep 2025 04:23:23 +0000 (21:23 -0700)]
do not use self.fail in compare_term_test
Mark Thom [Tue, 16 Sep 2025 04:58:38 +0000 (21:58 -0700)]
implement unify_ginteger to address FIXME in skip_max_list_cycle
Mark Thom [Tue, 16 Sep 2025 04:52:43 +0000 (21:52 -0700)]
fix off-by-one lam loop (#3081)
Thierry Marianne [Mon, 15 Sep 2025 06:33:47 +0000 (08:33 +0200)]
handle `Stream` variants qualified as input stream by `is_input_stream`
Signed-off-by: Thierry Marianne <[email protected] >
Thierry Marianne [Mon, 15 Sep 2025 06:28:23 +0000 (08:28 +0200)]
throw permission_error when non-input stream is read
Signed-off-by: Thierry Marianne <[email protected] >
Thierry Marianne [Sun, 14 Sep 2025 16:32:30 +0000 (18:32 +0200)]
merge if let, match structures
Signed-off-by: Thierry Marianne <[email protected] >
Thierry Marianne [Sun, 14 Sep 2025 15:00:39 +0000 (17:00 +0200)]
match against `Stream` `HttpRead()`, `InputFile(_)` and `NamedTcp(_)` variants in read_term_from_user_input
Signed-off-by: Thierry Marianne <[email protected] >
Thierry Marianne [Sun, 14 Sep 2025 14:42:12 +0000 (16:42 +0200)]
do not reset user input `Stream` of kind different from `Readline(_)`, `Byte(_)`
Signed-off-by: Thierry Marianne <[email protected] >
Thierry Marianne [Sun, 14 Sep 2025 11:47:26 +0000 (13:47 +0200)]
handle named tcp and http read stream on term reading from user input
Thierry Marianne [Sun, 14 Sep 2025 10:00:55 +0000 (12:00 +0200)]
handle input file stream on term reading from user input
Thierry Marianne [Sat, 13 Sep 2025 12:37:53 +0000 (14:37 +0200)]
reproduce panick originating in set_input/1 call from top-level
Signed-off-by: Thierry Marianne <[email protected] >
Mark Thom [Fri, 12 Sep 2025 07:19:52 +0000 (00:19 -0700)]
add FIXME for (presently inert & never invoked) race condition
Mark Thom [Fri, 12 Sep 2025 06:58:36 +0000 (23:58 -0700)]
fix f64 indexing, introduce bespoke F64Table type (#3065)
Mark Thom [Fri, 29 Aug 2025 03:49:41 +0000 (20:49 -0700)]
Merge pull request #3063 from Skgland/ffi++
ffi API extension and fixes
Skgland [Thu, 28 Aug 2025 22:36:35 +0000 (00:36 +0200)]
allow 3rd argument of ffi:read_ptr to not be a variable
Mark Thom [Wed, 27 Aug 2025 06:09:18 +0000 (23:09 -0700)]
Merge pull request #3059 from pmikkelsen/raw-input
Don't use "readline" input functionality for certain builtins
Skgland [Mon, 25 Aug 2025 22:33:16 +0000 (00:33 +0200)]
export array_type/3
Skgland [Mon, 25 Aug 2025 22:10:55 +0000 (00:10 +0200)]
fix left over todo
Skgland [Mon, 25 Aug 2025 21:54:18 +0000 (23:54 +0200)]
cleanup ffi error handling and use Atom instead of &str in appropriate places
Peter Mikkelsen [Mon, 25 Aug 2025 18:47:29 +0000 (20:47 +0200)]
Style tweak
Skgland [Mon, 25 Aug 2025 18:14:14 +0000 (20:14 +0200)]
use representation_error rather than resource_error
Skgland [Sun, 24 Aug 2025 19:08:52 +0000 (21:08 +0200)]
fix builds without ffi feature
Skgland [Sun, 24 Aug 2025 18:25:41 +0000 (20:25 +0200)]
add meta_predicate declaration for with_locals/2
Skgland [Sun, 24 Aug 2025 18:23:17 +0000 (20:23 +0200)]
add documentation
Skgland [Sun, 24 Aug 2025 17:57:54 +0000 (19:57 +0200)]
run rustfmt
Skgland [Sun, 17 Aug 2025 16:22:22 +0000 (18:22 +0200)]
fix define_foreign_struct
Skgland [Sun, 17 Aug 2025 15:35:57 +0000 (17:35 +0200)]
make ffi error structure not found point to the correct culprit
Skgland [Sat, 16 Aug 2025 23:39:12 +0000 (01:39 +0200)]
fix map_ffi_arg
Skgland [Tue, 12 Aug 2025 21:29:13 +0000 (23:29 +0200)]
make map_ffi_args a method and throw an instantiation error when encountering a variable
Skgland [Mon, 11 Aug 2025 21:20:48 +0000 (23:20 +0200)]
don't crash on empty list and differentiate list head not being string like
Skgland [Sat, 9 Aug 2025 23:57:28 +0000 (01:57 +0200)]
use setup_call_cleanup/3 for with_locals
as suggested by triska
Skgland [Sat, 9 Aug 2025 21:04:13 +0000 (23:04 +0200)]
add a test for with_locals
Skgland [Sat, 9 Aug 2025 19:10:28 +0000 (21:10 +0200)]
include a culprit in ffi_error
Skgland [Sat, 9 Aug 2025 16:47:53 +0000 (18:47 +0200)]
fix with_locals
Skgland [Sat, 9 Aug 2025 16:40:57 +0000 (18:40 +0200)]
require array_length to be > 0
C does not have 0-sized types
Skgland [Sat, 9 Aug 2025 16:35:25 +0000 (18:35 +0200)]
fix some things in ffi.pl
thanks triska for pointing out most of these
Skgland [Sat, 9 Aug 2025 15:50:58 +0000 (17:50 +0200)]
add ffi helpers
Skgland [Sat, 9 Aug 2025 15:50:30 +0000 (17:50 +0200)]
don't place allocate, read_ptr and deallocate between use_foreign_module and its helper predicates
Skgland [Sat, 9 Aug 2025 00:14:02 +0000 (02:14 +0200)]
add ffi:{allocate,read_ptr,deallocate}
Skgland [Fri, 8 Aug 2025 23:59:18 +0000 (01:59 +0200)]
don't fail the build script if we couldn't parse a file
this way we get to the actual compilation in which rustc shouldl fail with a more helpfull error message
Peter Mikkelsen [Sun, 24 Aug 2025 12:17:41 +0000 (14:17 +0200)]
Update src/read.rs
Co-authored-by: Bennet Bleßmann <[email protected] >
Mark Thom [Sat, 23 Aug 2025 21:57:56 +0000 (14:57 -0700)]
very small cargo fmt
Mark Thom [Sat, 23 Aug 2025 21:34:49 +0000 (14:34 -0700)]
clear rustc warnings (#3051)
Mark Thom [Sat, 23 Aug 2025 21:20:00 +0000 (14:20 -0700)]
make max_depth checking in heap_print.rs consistent across atomics
Mark Thom [Sat, 23 Aug 2025 20:18:09 +0000 (13:18 -0700)]
some max_depth improvements (#1876, #2666, #3008, #3027)
Mark Thom [Sat, 23 Aug 2025 18:51:56 +0000 (11:51 -0700)]
further improvements to cyclic partial list printing (#2635)
Mark Thom [Sat, 23 Aug 2025 01:55:32 +0000 (18:55 -0700)]
improve printer's handling of cyclic lists (#2111, #2635)
Peter Mikkelsen [Fri, 22 Aug 2025 09:02:59 +0000 (11:02 +0200)]
Don't use "readline" input functionality for the following builtins:
* peek_byte
* peek_char
* peek_code
* get_byte
* get_char
* get_code
* get_n_chars
Mark Thom [Fri, 22 Aug 2025 06:24:30 +0000 (23:24 -0700)]
Merge pull request #3056 from Skgland/fix-msrv
Fix msrv
Mark Thom [Fri, 22 Aug 2025 05:52:25 +0000 (22:52 -0700)]
fix cyclic detection of partial strings in StackfulPreOrderHeapIter (#3050)
Mark Thom [Fri, 22 Aug 2025 00:34:21 +0000 (17:34 -0700)]
Use from_str_radix for BigInt in parse_integer_by_radix (#3025, #3033)
Skgland [Mon, 18 Aug 2025 18:53:02 +0000 (20:53 +0200)]
make CI read msrv from Cargo.toml
instead of hardcoding it, so we have a single source of truth
Skgland [Mon, 18 Aug 2025 18:52:15 +0000 (20:52 +0200)]
reduce msrv back to 1.85
Mark Thom [Sun, 17 Aug 2025 22:49:20 +0000 (15:49 -0700)]
Merge pull request #3055 from Skgland/build-debs
use cargo-deb in CI to build debian deb packages
Skgland [Sun, 17 Aug 2025 20:52:45 +0000 (22:52 +0200)]
fixup logtalk-test
Skgland [Sun, 17 Aug 2025 20:31:28 +0000 (22:31 +0200)]
explicitly pass the target to cargo-deb
Skgland [Sun, 17 Aug 2025 20:12:54 +0000 (22:12 +0200)]
fix paths
Mark Thom [Sun, 17 Aug 2025 20:12:28 +0000 (13:12 -0700)]
Merge pull request #3053 from Skgland/add-test-for-issue-3048
add tests for issue 3048
Skgland [Sun, 17 Aug 2025 17:19:47 +0000 (19:19 +0200)]
build debian packages on linux targets
Skgland [Sat, 16 Aug 2025 13:29:25 +0000 (15:29 +0200)]
add tests for issue 3048
Mark Thom [Sat, 16 Aug 2025 22:26:10 +0000 (15:26 -0700)]
clear pdl after comparing partial strings (#3048)
Mark Thom [Fri, 15 Aug 2025 04:21:32 +0000 (21:21 -0700)]
check for stack variables in ground_test before iterating (#3048)
Mark Thom [Wed, 13 Aug 2025 05:29:31 +0000 (22:29 -0700)]
small tweak for read_from_term performance (#2668)
Mark Thom [Wed, 13 Aug 2025 05:23:52 +0000 (22:23 -0700)]
deref terms in read_from_term (#2668)
Mark Thom [Tue, 12 Aug 2025 05:26:01 +0000 (22:26 -0700)]
Merge pull request #3042 from dcnorris/numerics
library(numerics), special funs from crate puruspe
David C. Norris [Mon, 11 Aug 2025 01:30:36 +0000 (21:30 -0400)]
Add README entry for numerics/special_functions
David C. Norris [Sun, 10 Aug 2025 22:44:08 +0000 (18:44 -0400)]
Drop 2 extra lines flagged by 'cargo fmt'
David C. Norris [Sun, 10 Aug 2025 22:36:54 +0000 (18:36 -0400)]
Address CI style complaints
Mark Thom [Sun, 10 Aug 2025 20:14:15 +0000 (13:14 -0700)]
Merge pull request #2786 from Skgland/ffi-f64-tests
add ffi tests & fix ffi
Mark Thom [Sun, 10 Aug 2025 20:04:03 +0000 (13:04 -0700)]
Merge pull request #3023 from triska/promote_call_with_error_context
ADDED: variants of errors promoting call_with_error_context/2
David C. Norris [Sun, 10 Aug 2025 15:45:21 +0000 (11:45 -0400)]
Address several comments by @triska
David C. Norris [Sun, 10 Aug 2025 14:01:01 +0000 (10:01 -0400)]
library(numerics), special funs from crate puruspe
Mark Thom [Sun, 10 Aug 2025 08:36:15 +0000 (01:36 -0700)]
Merge pull request #2746 from triska/quads
preliminary support for a subset of quads introduced by @UWN
Markus Triska [Sat, 9 Aug 2025 08:22:28 +0000 (10:22 +0200)]
ADDED: resource_error/1
Markus Triska [Sat, 9 Aug 2025 08:19:49 +0000 (10:19 +0200)]
ADDED: representation_error/1
Markus Triska [Sat, 2 Aug 2025 07:55:47 +0000 (09:55 +0200)]
ADDED: variants of errors promoting call_with_error_context/2
A good example of call_with_error_context/2 was recently provided by
@Skgland in
d907f86c8d3bf5b5429c9f53187b65473fcbfce0 . Many thanks!
Mark Thom [Sat, 9 Aug 2025 04:12:19 +0000 (21:12 -0700)]
Merge pull request #3024 from triska/remove_operator_meta_predicate
ISO: remove nonstandard operator meta_predicate.
Mark Thom [Sat, 9 Aug 2025 04:11:46 +0000 (21:11 -0700)]
Merge pull request #3026 from triska/DEDUCTION
mention the DEDUCTION Programme
Mark Thom [Sat, 9 Aug 2025 04:11:32 +0000 (21:11 -0700)]
Merge pull request #3029 from triska/process_item
add newly available library(process) to the list of libraries
Skgland [Fri, 8 Aug 2025 20:45:24 +0000 (22:45 +0200)]
allow passing a null through a cstr arg/return
Skgland [Fri, 8 Aug 2025 20:08:13 +0000 (22:08 +0200)]
fix clippy lint warning
Markus Triska [Fri, 8 Aug 2025 19:33:44 +0000 (21:33 +0200)]
support newly added representation_error/1 in answer descriptions
Markus Triska [Fri, 8 Aug 2025 16:44:25 +0000 (18:44 +0200)]
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.
Markus Triska [Tue, 5 Aug 2025 15:50:27 +0000 (17:50 +0200)]
add newly available library(process) to the list of libraries
Thank you a lot @Skgland for this extremely valuable contribution!
Markus Triska [Sun, 3 Aug 2025 12:23:28 +0000 (14:23 +0200)]
mention the DEDUCTION Programme