]>
Repositorios git - scryer-prolog.git/log
Jacob [Wed, 13 Sep 2023 16:29:12 +0000 (12:29 -0400)]
Upgrade dashu and some changes
Mark [Tue, 12 Sep 2023 20:52:42 +0000 (14:52 -0600)]
update syn crates
Mark [Mon, 11 Sep 2023 21:36:15 +0000 (15:36 -0600)]
get rid of OssifiedOpDir, DBRef, simplify current_op/3
Mark Thom [Mon, 11 Sep 2023 17:33:16 +0000 (11:33 -0600)]
Merge pull request #1993 from coasys/dashu-fixes
Dashu fixes
Mark Thom [Mon, 11 Sep 2023 17:23:10 +0000 (11:23 -0600)]
Merge pull request #2013 from gruhn/fix-docker-debian-bullseye
fix Docker image
Niklas Gruhn [Sun, 10 Sep 2023 23:40:05 +0000 (01:40 +0200)]
fix Docker image
The Docker image is broken with the error message:
scryer-prolog: error while loading shared libraries:
libssl.so.1.1: cannot open shared object file: No such
file or directory
We use the base base image `debian:stable-slim` and in the
background a new Debian version was marked stable (bookworm),
which has libssl3 instead of libssl1.1 installed.
I downgraded the base image to the previous stable version
(bullseye), which seems to fix the issue.
Mark Thom [Sun, 10 Sep 2023 23:45:45 +0000 (17:45 -0600)]
Merge pull request #2010 from aarroyoc/update-website-0.9.2
Update INDEX.dj
Adrián Arroyo Calle [Sun, 10 Sep 2023 21:12:10 +0000 (23:12 +0200)]
Update website to mention 0.9.2 and playground
Fayeed Pawaskar [Sun, 10 Sep 2023 16:21:02 +0000 (21:51 +0530)]
Merge branch 'master' into dashu-fixes
Fayeed Pawaskar [Sun, 10 Sep 2023 16:10:22 +0000 (21:40 +0530)]
Removed value method and use deref to get type
Mark Thom [Sat, 9 Sep 2023 06:40:30 +0000 (00:40 -0600)]
Merge pull request #2008 from triska/clpb_improvements
Various CLP(B) improvements
Markus Triska [Sat, 9 Sep 2023 05:23:34 +0000 (07:23 +0200)]
remove code that is not needed in Scryer Prolog
Markus Triska [Fri, 8 Sep 2023 21:19:10 +0000 (23:19 +0200)]
remove more attributes so that they do not appear in residual goals
Markus Triska [Fri, 8 Sep 2023 21:12:33 +0000 (23:12 +0200)]
move compatibility predicates and meta_predicate/1 declarations so that they are correctly taken into account
Mark Thom [Sat, 9 Sep 2023 05:34:59 +0000 (23:34 -0600)]
Merge pull request #2006 from infogulch/wasm-ci
Add wasm build steps
Mark Thom [Sat, 9 Sep 2023 05:34:36 +0000 (23:34 -0600)]
Merge pull request #2007 from triska/rust_1_70
update required Rust version
Markus Triska [Fri, 8 Sep 2023 20:47:59 +0000 (22:47 +0200)]
shorter partition/5, relying on first instantiated argument indexing
Markus Triska [Fri, 8 Sep 2023 20:41:49 +0000 (22:41 +0200)]
add meta_predicate/1 declaration for include/3 and exclude/3
Markus Triska [Fri, 8 Sep 2023 20:40:50 +0000 (22:40 +0200)]
shorter include/3 and exclude/3, relying on improved indexing
Markus Triska [Fri, 8 Sep 2023 20:37:18 +0000 (22:37 +0200)]
add licensing information, addressing part of #1798
Markus Triska [Sat, 9 Sep 2023 05:30:23 +0000 (07:30 +0200)]
update required Rust version
Joe Taber [Sat, 9 Sep 2023 00:25:36 +0000 (19:25 -0500)]
Add wasm build steps
Mark Thom [Fri, 8 Sep 2023 22:11:06 +0000 (16:11 -0600)]
Merge pull request #2004 from triska/generalize_description
this holds for all architectures (also 32-bit systems)
Mark Thom [Fri, 8 Sep 2023 21:22:49 +0000 (15:22 -0600)]
Merge pull request #2003 from triska/clpz_comment
update comment
Markus Triska [Fri, 8 Sep 2023 21:22:36 +0000 (23:22 +0200)]
this holds for all architectures (also 32-bit systems)
Markus Triska [Fri, 8 Sep 2023 20:33:55 +0000 (22:33 +0200)]
update comment
Mark Thom [Fri, 8 Sep 2023 17:15:51 +0000 (11:15 -0600)]
Merge pull request #1986 from rujialiu/wasm32-support
Basic WebAssembly support with minimal Javascript API #615
Rujia Liu [Fri, 8 Sep 2023 09:27:22 +0000 (17:27 +0800)]
Basic WebAssembly support with minimal Javascript API #615. Currently 6/12 crypto functions supported. Tested in browser with all default features disabled.
Mark [Tue, 5 Sep 2023 20:56:26 +0000 (14:56 -0600)]
check atom == ',' in ambiguity_check mirroring logic in print_op_addendum (#2000)
Mark [Tue, 5 Sep 2023 19:52:18 +0000 (13:52 -0600)]
remove error printing redundancy and inconsistent state resulting from file_load_cleanup (#1995)
Mark Thom [Tue, 5 Sep 2023 18:32:20 +0000 (12:32 -0600)]
Merge pull request #1980 from Skgland/atomtable
make AtomTable consurrency safe
Mark Thom [Tue, 5 Sep 2023 18:04:52 +0000 (12:04 -0600)]
Merge pull request #1997 from triska/countall
Corrections to countall/2
Mark [Tue, 5 Sep 2023 17:51:06 +0000 (11:51 -0600)]
call_with_inference_limit/3 should fail if inference limit is exceeded and R term is not inference_limit_exceeded (#1977)
Markus Triska [Tue, 5 Sep 2023 17:42:55 +0000 (19:42 +0200)]
FIXED: documentation of countall/2 (#1976)
Bennet Bleßmann [Sat, 2 Sep 2023 20:27:43 +0000 (22:27 +0200)]
make F64Table concurency safe
Bennet Bleßmann [Sat, 2 Sep 2023 19:31:01 +0000 (21:31 +0200)]
remove locks from AtomTable
there are technically still two locks
- the Mutex to serialize consurrent updates to the AtomTable
- the RwLock as part of GLOBAL_ATOM_TABLE
the former is the age lock of RESIZE ATOM TABLE in <https://arxiv.org/pdf/1608.00989.pdf>, though we use it for the whole update as we don't match the whole structure and can't reserve an atom slot as is, so we need to also lock concurrent updates without resizing
the later should be uncontendet as we only write AtomTable::new iff the current value is a dangling Weak
Bennet Bleßmann [Mon, 28 Aug 2023 21:24:27 +0000 (23:24 +0200)]
[WIP] move towards lockless AtomTable
Markus Triska [Tue, 5 Sep 2023 17:39:05 +0000 (19:39 +0200)]
FIXED: countall/2 for zero solutions (#1996)
Example:
?- countall(false, 0).
true.
Skgland [Sun, 27 Aug 2023 20:23:22 +0000 (22:23 +0200)]
fix `rust_beta_channel` feature
Skgland [Sun, 27 Aug 2023 20:22:59 +0000 (22:22 +0200)]
fix accidentally left in println!()
Skgland [Sun, 27 Aug 2023 18:05:12 +0000 (20:05 +0200)]
raise msrv for OnceLock support
Skgland [Sun, 27 Aug 2023 17:58:08 +0000 (19:58 +0200)]
add comment why blocking_write is not used
Skgland [Sun, 27 Aug 2023 17:56:55 +0000 (19:56 +0200)]
fix deadlock in `load_library_as_stream`
Bennet Bleßmann [Mon, 28 Aug 2023 21:04:30 +0000 (23:04 +0200)]
[WIP] fix deadlock in AtomTable::build_with
Skgland [Fri, 25 Aug 2023 23:10:49 +0000 (01:10 +0200)]
[WIP] make AtomTable concurrentcy ready
Skgland [Fri, 25 Aug 2023 23:29:53 +0000 (01:29 +0200)]
run cargo fmt
Mark [Mon, 4 Sep 2023 23:15:05 +0000 (17:15 -0600)]
correct inference counting over index backtracking, built-ins (#1977, #1987)
Fayeed Pawaskar [Mon, 4 Sep 2023 08:42:47 +0000 (14:12 +0530)]
Implemented num_order methods on Integer & Rational numbers
Fayeed Pawaskar [Mon, 4 Sep 2023 08:42:11 +0000 (14:12 +0530)]
Added new unify methods
Fayeed Pawaskar [Mon, 4 Sep 2023 08:41:54 +0000 (14:11 +0530)]
Fixed warning
Fayeed Pawaskar [Mon, 4 Sep 2023 08:41:30 +0000 (14:11 +0530)]
Added value method to get the generic type from TypedArenaPtr
Fayeed Pawaskar [Mon, 4 Sep 2023 08:39:45 +0000 (14:09 +0530)]
Added latest dashu from github
Mark Thom [Mon, 4 Sep 2023 00:39:24 +0000 (18:39 -0600)]
Merge pull request #1991 from triska/discoverable_flags
FIXED: make occurs_check and answer_write_options flags discoverable
Mark Thom [Mon, 4 Sep 2023 00:39:12 +0000 (18:39 -0600)]
Merge pull request #1990 from triska/clpb_max
remove clpb_max/1 attribute for residual goal projection
Markus Triska [Sun, 3 Sep 2023 22:49:40 +0000 (00:49 +0200)]
FIXED: make occurs_check and answer_write_options flags discoverable
Quoting from 7.11 Flags:
NOTE - A built-in predicate current_prolog_flag(Flag, Value)
(8.17.2) enables a program to discover all the flags supported
by a processor and their current values.
Markus Triska [Sun, 3 Sep 2023 20:01:38 +0000 (22:01 +0200)]
update answer
Markus Triska [Sun, 3 Sep 2023 19:57:51 +0000 (21:57 +0200)]
untabify
Markus Triska [Sun, 3 Sep 2023 19:47:58 +0000 (21:47 +0200)]
remove clpb_max/1 attribute for residual goal projection
Example:
?- sat(A+B), weighted_maximum([1,1], [A,B], Max).
A = 1, B = 1, Max = 2.
Mark Thom [Sun, 3 Sep 2023 17:36:40 +0000 (11:36 -0600)]
Merge pull request #1988 from triska/answer_write_options
ADDED: New Prolog flag, answer_write_options.
Mark Thom [Sun, 3 Sep 2023 17:36:07 +0000 (11:36 -0600)]
Merge pull request #1989 from triska/mention_binaries
mention precompiled binaries
Markus Triska [Sun, 3 Sep 2023 12:12:46 +0000 (14:12 +0200)]
mention precompiled binaries
Markus Triska [Sun, 3 Sep 2023 07:33:16 +0000 (09:33 +0200)]
ADDED: New Prolog flag, answer_write_options.
This lets us specify additional write options used by the top level
for writing answers.
Mark [Tue, 29 Aug 2023 22:42:23 +0000 (16:42 -0600)]
refine is/2 compilation so errors are thrown when expected without needlessly allocating (#1974, #1984)
Mark [Tue, 29 Aug 2023 21:26:08 +0000 (15:26 -0600)]
don't compile is instruction if bound to anonymous variable (#1974)
Mark [Mon, 28 Aug 2023 19:23:56 +0000 (13:23 -0600)]
update Cargo.toml version numbers and bump version number
Mark Thom [Sun, 27 Aug 2023 18:49:20 +0000 (12:49 -0600)]
Merge pull request #1978 from aarroyoc/ci-32-bits
32 bit CI for Linux
Mark Thom [Sun, 27 Aug 2023 18:48:48 +0000 (12:48 -0600)]
Merge pull request #1979 from triska/normalize_space
ENHANCED: rudimentary implementation of normalize_space
Adrián Arroyo Calle [Sat, 26 Aug 2023 07:28:46 +0000 (09:28 +0200)]
32 bit CI for Linux
Markus Triska [Sun, 27 Aug 2023 10:55:29 +0000 (12:55 +0200)]
replace adjacent whitespace characters with a single SPACE character
Markus Triska [Sun, 27 Aug 2023 07:56:30 +0000 (09:56 +0200)]
ENHANCED: rudimentary implementation of normalize_space
This removes leading and trailing whitespace from the text. Whitespace
within the string is not yet considered.
Mark Thom [Fri, 25 Aug 2023 16:51:15 +0000 (10:51 -0600)]
Merge pull request #1972 from rujialiu/32-bit-support
32-bit system support #615 #1509 (WIP)
Rujia Liu [Thu, 24 Aug 2023 12:05:40 +0000 (20:05 +0800)]
32-bit system support, addressing all (at most) 4GB addresses of RAM.
Mark Thom [Tue, 22 Aug 2023 21:04:33 +0000 (15:04 -0600)]
Merge pull request #1973 from triska/clpz
CLP(ℤ) improvements, notably related to queue handling
Markus Triska [Mon, 21 Aug 2023 19:52:28 +0000 (21:52 +0200)]
attach more propagators before starting propagation
This prevents repeated triggering of already attached propagators
while new propagators are being attached to involved variables.
Markus Triska [Sun, 20 Aug 2023 19:38:33 +0000 (21:38 +0200)]
remove optional (+)/1 prefix in get_atts/2 and put_atts/2 calls
The (+)/1 prefix in get_atts/2 at line 4219 by itself already causes a
greater than 15% slowdown for the benchmark shown in #1730:
?- N #= 2^14,
time(((between(1, N, _),
X #\= Y,
false)
; true)).
The performance impact is not a good reason to remove the optional
(+)/1 prefix! Performance issues should be addressed at the root, in
this case get_atts/2 (#1962). We should never manually work around
performance issues in built-in predicates.
In contrast, readability is a good argument, and I find the calls
slightly easier to read without the optional (+)/1 prefix.
The prefix is now consistently omitted when possible.
Markus Triska [Tue, 15 Aug 2023 19:50:15 +0000 (21:50 +0200)]
use pneq/2
Markus Triska [Tue, 15 Aug 2023 19:44:39 +0000 (21:44 +0200)]
enforce same queue in more constraints
Markus Triska [Tue, 15 Aug 2023 19:43:19 +0000 (21:43 +0200)]
append the entire queues instead of inserting each element individually
Markus Triska [Tue, 15 Aug 2023 19:39:32 +0000 (21:39 +0200)]
adapt query to Scryer Prolog
Markus Triska [Tue, 15 Aug 2023 19:38:56 +0000 (21:38 +0200)]
update answers
Markus Triska [Tue, 15 Aug 2023 19:36:59 +0000 (21:36 +0200)]
use can_be/2
Mark Thom [Mon, 21 Aug 2023 17:42:03 +0000 (11:42 -0600)]
Merge pull request #1967 from rujialiu/optional-features
Allow users to disable optional features
Rujia Liu [Mon, 21 Aug 2023 02:01:24 +0000 (10:01 +0800)]
Allow users to disable optional features. Needed for wasm32 support (see #615).
Mark Thom [Sun, 20 Aug 2023 17:50:58 +0000 (11:50 -0600)]
Merge pull request #1968 from rujialiu/atom-64bit
Make Atom 64-bit regardless of architecture
Mark Thom [Sun, 20 Aug 2023 17:24:37 +0000 (11:24 -0600)]
Merge pull request #1970 from triska/crrl
switch to using crrl for scalar multiplication on Curve25519
Markus Triska [Sun, 20 Aug 2023 12:42:34 +0000 (14:42 +0200)]
ENHANCED: more extensive type checking in curve25519_scalar_mult/3
Markus Triska [Sun, 20 Aug 2023 11:40:30 +0000 (13:40 +0200)]
switch to using crrl for scalar multiplication on Curve25519
This is to facilitate WASM compilation as currently worked on
by @rujialiu in #615. Many thanks, and many thanks to @pornin
for crrl which makes this possible!
Rujia Liu [Sun, 20 Aug 2023 11:43:13 +0000 (19:43 +0800)]
Make Atom 64-bit regardless of architecture
Mark Thom [Thu, 17 Aug 2023 21:18:25 +0000 (15:18 -0600)]
Merge pull request #1964 from triska/master
use newly available double_quotes/1 write option in portray_clause_//1
Markus Triska [Thu, 17 Aug 2023 21:05:21 +0000 (23:05 +0200)]
use newly available double_quotes/1 write option in portray_clause_//1
Mark Thom [Mon, 14 Aug 2023 18:18:45 +0000 (12:18 -0600)]
Merge pull request #1963 from triska/master
ENHANCED: domain error in zcompare/3 (#1723)
Markus Triska [Mon, 14 Aug 2023 15:54:18 +0000 (17:54 +0200)]
ENHANCED: domain error in zcompare/3 (#1723)
Mark Thom [Sat, 12 Aug 2023 20:35:21 +0000 (14:35 -0600)]
Merge pull request #1961 from triska/succ
ADDED: succ/2, part of the Prologue for Prolog
Markus Triska [Fri, 11 Aug 2023 21:41:54 +0000 (23:41 +0200)]
reorder tests, per https://github.com/mthom/scryer-prolog/pull/1961#pullrequestreview-
1574380588
Markus Triska [Fri, 11 Aug 2023 20:46:46 +0000 (22:46 +0200)]
ADDED: succ/2, part of the Prologue for Prolog
Specification:
https://www.complang.tuwien.ac.at/ulrich/iso-prolog/prologue#succ
Mark [Sun, 6 Aug 2023 07:26:01 +0000 (01:26 -0600)]
shed CodeIndex for control predicates in disjuncts.rs (#1791)
Mark [Sat, 5 Aug 2023 18:15:28 +0000 (12:15 -0600)]
retract discontiguous non-multifile predicates between consultations (#1202, #1058, #1585)
Mark Thom [Fri, 4 Aug 2023 21:25:42 +0000 (15:25 -0600)]
Merge pull request #1950 from triska/chars_si
ENHANCED: more efficient chars_si/1, using specialized predicates of Scryer
Markus Triska [Fri, 4 Aug 2023 19:18:00 +0000 (21:18 +0200)]
ENHANCED: more efficient chars_si/1, using specialized predicates of Scryer
Source:
https://github.com/mthom/scryer-prolog/issues/1947#issuecomment-
1665113488
Mark Thom [Fri, 4 Aug 2023 00:34:19 +0000 (18:34 -0600)]
Merge pull request #1948 from triska/chars_si
add character_si/1 and use it to correct chars_si/1