Markus Triska
9b73536cdd
FIXED: Correct global_cardinality/2 propagation with reified constraints.
...
This issue was found by @david-sitsky in a Prolog formulation of an
interesting scheduling task:
https://github.com/mthom/scryer-prolog/discussions/3341
See also the filed issue:
https://github.com/mthom/scryer-prolog/issues/3369
Thank you a lot!
This issue needs more analysis to find out what exactly happened here,
whether other cases like it exist, and whether it can be addressed in
a better way. I would greatly appreciate any help!
2026-06-10 20:31:20 +02:00
Danil Platonov
f8f7b3b7e2
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
2026-05-30 15:47:50 -07:00
Mark Thom
2c23f84808
Merge pull request #3310 from Skgland/process_wait-release
...
add `release(Bool)` option to `process_wait/3`
2026-05-25 15:08:37 -06:00
Dmitrii Shlagov
b9f1443eb0
fix var mode in between/3 documentation
2026-05-14 16:25:33 +02:00
Skgland
f8c4679850
add process_wait/3 release(Bool) option
...
make process_wait/3 release the Process by default
2026-04-25 14:35:20 +02:00
no382001
13c85c74db
fix library paths and module qualification in quadtests.pl
2026-03-27 21:27:15 +01:00
Mark Thom
8002b9a78b
Merge pull request #3234 from fusiongyro/patch-1
...
Fixed a typo in the documentation for atom_codes/2
2026-03-09 22:09:40 -07:00
Mark Thom
02f86587b5
Merge pull request #3232 from triska/not_si
...
ADDED: not_si/1
2026-03-09 22:09:09 -07:00
Thierry Marianne
ead2fccdbb
add documentation
...
Signed-off-by: Thierry Marianne <thierry@marianne.io >
2026-03-05 09:03:31 +01:00
Daniel K Lyons
ed36aa7313
Fixed a typo in the documentation for atom_codes/2
2026-01-20 09:54:18 -07:00
Markus Triska
0dc94ecc0b
ADDED: not_si/1
...
For a recent example that would benefit from this, see "Prolog Basics
Explained with Pokémon" by @alexpetros:
https://unplannedobsolescence.com/blog/prolog-basics-pokemon/
Thank you a lot!
2026-01-18 09:58:31 +01:00
Mark Thom
c79fd74331
remove unnecessary extra work in findall_with_existential/5
2026-01-14 20:39:48 -08:00
Mark Thom
a83f412251
replace sort_without_dedup/2 with keysort/2
2026-01-14 20:39:48 -08:00
Mark Thom
70220687f4
find variant terms using just sort/2 and (==)/2
2026-01-14 20:39:48 -08:00
Mark Thom
6284aa3a3f
add variant_hash and is_non_variant to fix setof/3, bagof/3
2026-01-14 20:39:48 -08:00
Mark Thom
96a9dfcc1b
Merge pull request #3185 from mthom/install_verify_attr_opt
...
Optimize `verify_attr` by removing the need to scan instructions
2025-12-03 19:10:46 -07:00
Mark Thom
b287f0aedb
corrections to arithmetic expression compilation
2025-11-27 21:03:56 -08:00
Markus Triska
1cd55d8131
ADDED: foldl/6, addressing #2973
2025-11-23 11:13:57 +01:00
Skgland
f8b9944f5c
update documentation
2025-09-28 19:50:21 +02:00
Skgland
c067bfa832
allow 3rd argument of ffi:read_ptr to not be a variable
2025-08-29 00:36:35 +02:00
Skgland
14ce052bf2
export array_type/3
2025-08-26 00:33:16 +02:00
Skgland
1f7a60dec9
add meta_predicate declaration for with_locals/2
2025-08-24 20:25:47 +02:00
Skgland
ce9b41815d
add documentation
2025-08-24 20:23:17 +02:00
Skgland
cd777294b9
use setup_call_cleanup/3 for with_locals
...
as suggested by triska
2025-08-24 19:56:25 +02:00
Skgland
7b2bf73ba1
fix with_locals
2025-08-24 19:56:24 +02:00
Skgland
edd6d44bd6
require array_length to be > 0
...
C does not have 0-sized types
2025-08-24 19:56:24 +02:00
Skgland
4b5e4a2745
fix some things in ffi.pl
...
thanks triska for pointing out most of these
2025-08-24 19:56:23 +02:00
Skgland
3a4dfc46da
add ffi helpers
2025-08-24 19:56:23 +02:00
Skgland
d8346b1651
don't place allocate, read_ptr and deallocate between use_foreign_module and its helper predicates
2025-08-24 19:56:23 +02:00
Skgland
20d52c093a
add ffi:{allocate,read_ptr,deallocate}
2025-08-24 19:56:23 +02:00
Mark Thom
8af0a19130
Merge pull request #3042 from dcnorris/numerics
...
library(numerics), special funs from crate puruspe
2025-08-11 22:26:01 -07:00
Mark Thom
c0fb3fd429
Merge pull request #2786 from Skgland/ffi-f64-tests
...
add ffi tests & fix ffi
2025-08-10 13:14:15 -07:00
David C. Norris
a8fa8993e1
Address several comments by @triska
2025-08-10 11:45:21 -04:00
David C. Norris
af3792f79a
library(numerics), special funs from crate puruspe
2025-08-10 10:01:01 -04:00
Markus Triska
ee39be4361
ADDED: resource_error/1
2025-08-09 10:22:28 +02:00
Markus Triska
bc4689ca4a
ADDED: representation_error/1
2025-08-09 10:19:49 +02:00
Markus Triska
86dc22a850
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 d907f86c8d . Many thanks!
2025-08-09 10:11:25 +02:00
Markus Triska
a8da2b6a99
ISO: remove nonstandard operator meta_predicate.
...
Use functional notation instead for declarations.
This addresses #2822 .
2025-08-02 10:22:50 +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
Bennet Bleßmann
d907f86c8d
use call_with_error_context
2025-08-01 20:49:43 +02:00
Bennet Bleßmann
45041be336
fix culprit
2025-08-01 20:49:24 +02:00
Bennet Bleßmann
3a6b92d227
more tests
2025-08-01 20:49:03 +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