]>
Repositorios git - scryer-prolog.git/log
Mark [Mon, 4 Sep 2023 23:15:05 +0000 (17:15 -0600)]
correct inference counting over index backtracking, built-ins (#1977, #1987)
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
Markus Triska [Thu, 3 Aug 2023 20:27:13 +0000 (22:27 +0200)]
add character_si/1 and use it to correct chars_si/1
This addresses #1947.
Mark [Thu, 3 Aug 2023 01:50:27 +0000 (19:50 -0600)]
allocate negator results in arena (#1898)
Mark Thom [Wed, 2 Aug 2023 22:32:27 +0000 (16:32 -0600)]
Merge pull request #1943 from triska/dead_skeleton
FIXED: do not attach constraint if the propagator is already entailed and killed
Markus Triska [Wed, 2 Aug 2023 22:26:40 +0000 (00:26 +0200)]
FIXED: do not attach constraint if the propagator is already entailed and killed
Example:
?- A#=A//A#==>B,A-B=1-1.
A = 1, B = 1.
This addresses #1941.
Mark Thom [Mon, 31 Jul 2023 20:52:34 +0000 (14:52 -0600)]
Merge pull request #1938 from triska/remove_auxiliary_constraints
ENHANCED: forget auxiliary constraints set up by the propagator for multiplication
Mark Thom [Mon, 31 Jul 2023 20:52:21 +0000 (14:52 -0600)]
Merge pull request #1939 from triska/oncology_trial_design
better wording, applying the feedback of @dcnorris. Thank you a lot!
Markus Triska [Mon, 31 Jul 2023 20:03:43 +0000 (22:03 +0200)]
better wording, applying the feedback from @dcnorris. Thank you a lot!
Markus Triska [Mon, 31 Jul 2023 19:57:25 +0000 (21:57 +0200)]
ENHANCED: forget auxiliary constraints set up by the propagator for multiplication
This addresses the issue raised in https://github.com/mthom/scryer-prolog/discussions/1937.
Mark Thom [Sat, 29 Jul 2023 16:52:36 +0000 (10:52 -0600)]
Merge pull request #1929 from Skgland/master
detect and prevent concurrent AtomTable use
Bennet Bleßmann [Sat, 29 Jul 2023 11:11:00 +0000 (13:11 +0200)]
fix spelling
Bennet Bleßmann [Sat, 29 Jul 2023 09:08:32 +0000 (11:08 +0200)]
handle atom table resize
* bumping serial_test dev-dependency due to broken should_panic handling in old version
Bennet Bleßmann [Thu, 27 Jul 2023 21:35:57 +0000 (23:35 +0200)]
detect and prevent² concurrent AtomTable use
²in the case of `#[cfg(not(test))]` there is still a toctou race as I am not sufficently familiar with Atomics
Mark Thom [Thu, 27 Jul 2023 20:51:01 +0000 (14:51 -0600)]
Merge pull request #1927 from triska/ascii_punctuation
FIXED: correct handling of ascii_punctuation in char_type/2 (#1926)
Markus Triska [Thu, 27 Jul 2023 18:22:05 +0000 (20:22 +0200)]
FIXED: correct handling of ascii_punctuation in char_type/2 (#1926)
Mark [Tue, 25 Jul 2023 21:03:35 +0000 (15:03 -0600)]
simplify and correct prefix-bracket spacing in heap_print.rs (#1914, #1918)
Mark [Tue, 25 Jul 2023 19:48:34 +0000 (13:48 -0600)]
overwrite code indices of dynamic_undefined predicates (dynamic, multifile, discontiguous) on export
Mark Thom [Tue, 25 Jul 2023 17:35:10 +0000 (11:35 -0600)]
Merge pull request #1907 from coasys/dashu
Replace rug with dashu
Mark [Tue, 25 Jul 2023 02:05:28 +0000 (20:05 -0600)]
track the parent operator of the current operator in heap_print to emit space if necessary (#1906)
Mark [Mon, 24 Jul 2023 17:47:57 +0000 (11:47 -0600)]
Merge branch 'dashu' of https://github.com/coasys/scryer-prolog into coasys-dashu
Fayeed Pawaskar [Mon, 24 Jul 2023 13:41:41 +0000 (19:11 +0530)]
updated cargo to use git
Fayeed Pawaskar [Mon, 24 Jul 2023 07:11:56 +0000 (12:41 +0530)]
Fixed warnings
Fayeed Pawaskar [Mon, 24 Jul 2023 06:49:41 +0000 (12:19 +0530)]
Fixed stackoverflow error
Fayeed Pawaskar [Mon, 24 Jul 2023 04:42:22 +0000 (10:12 +0530)]
remove rug completely
Fayeed Pawaskar [Mon, 24 Jul 2023 04:42:14 +0000 (10:12 +0530)]
fix all the move errors
Mark [Sun, 23 Jul 2023 21:02:27 +0000 (15:02 -0600)]
pop both pending redirections in format_bar_separator_op when max depth exceeded (#1903)
Mark [Sun, 23 Jul 2023 20:43:13 +0000 (14:43 -0600)]
fix list abbreviation (#1901)
Mark [Sun, 23 Jul 2023 03:42:40 +0000 (21:42 -0600)]
remove EMIT_NEWLINE (#1900)
Mark [Sat, 22 Jul 2023 20:12:38 +0000 (14:12 -0600)]
use ExitCode when halting so Drop is called, close terminal stream in rustyline Drop
Mark Thom [Sat, 22 Jul 2023 19:48:16 +0000 (13:48 -0600)]
Merge pull request #1050 from pmoura/add_float_integer_part_and_float_fractional_part_standard_functions
WIP: Add float_integer_part/1 and float_fractional_part/1 standard arithmetic functions
Mark [Sat, 22 Jul 2023 17:53:09 +0000 (11:53 -0600)]
additional write fixes, use rustyline 12.0.0 (#1876, #1901)
Mark [Fri, 21 Jul 2023 21:05:27 +0000 (15:05 -0600)]
correct max_depth option (#1876)
Mark Thom [Sat, 22 Jul 2023 05:26:20 +0000 (23:26 -0600)]
Merge pull request #1899 from triska/master
remove another !/0 which is now no longer necessary due to improved indexing
Markus Triska [Sat, 22 Jul 2023 04:52:29 +0000 (06:52 +0200)]
remove another !/0 which is now no longer necessary due to improved indexing
Mark [Fri, 21 Jul 2023 21:13:29 +0000 (15:13 -0600)]
Merge branch 'add_float_integer_part_and_float_fractional_part_standard_functions' of https://github.com/pmoura/scryer-prolog into pmoura-add_float_integer_part_and_float_fractional_part_standard_functions
Mark [Fri, 21 Jul 2023 21:05:27 +0000 (15:05 -0600)]
correct max_depth option (#1876)
Mark [Fri, 21 Jul 2023 17:35:57 +0000 (11:35 -0600)]
remove now unnecessary cut in lists.pl
Nicolas Luck [Fri, 21 Jul 2023 15:07:40 +0000 (17:07 +0200)]
Explicitly dereference pointer to avoid calling neg() on reference
Fayeed Pawaskar [Fri, 21 Jul 2023 08:51:32 +0000 (14:21 +0530)]
Fixed missing functionality in dashu with their methods still has some issue with move
Mark [Thu, 20 Jul 2023 20:27:10 +0000 (14:27 -0600)]
improve goal expansion and (',') interpretation error handling
Mark [Thu, 20 Jul 2023 18:33:23 +0000 (12:33 -0600)]
add log10, hyperbolic tan and inverse hyperbolic tan functions (#1898)
Mark [Thu, 20 Jul 2023 15:39:06 +0000 (09:39 -0600)]
add EMIT_NEWLINE to add newlines to readline input only after query terms begin to be read (#1074, #1897)
Mark [Wed, 19 Jul 2023 23:13:47 +0000 (17:13 -0600)]
check for unexpected EOF in get_to_eof (#1897)
Mark [Tue, 18 Jul 2023 21:39:51 +0000 (15:39 -0600)]
dereference TermWriteResult variables sooner in read_term_body (#1894)
Mark [Tue, 18 Jul 2023 20:44:02 +0000 (14:44 -0600)]
remove failing append choicepoint in atom_concat/3 special case (#1893)
Mark Thom [Tue, 18 Jul 2023 18:35:10 +0000 (12:35 -0600)]
Merge pull request #1885 from mthom/setof_bagof_fixes
Fix group_by_variants/4 and keysort in setof/3
Mark [Tue, 18 Jul 2023 18:15:20 +0000 (12:15 -0600)]
call write_read_term_options if read_term_from_chars/3 succeeds by unifying Term to end_of_file (#1892)
Mark [Tue, 18 Jul 2023 18:10:27 +0000 (12:10 -0600)]
catch errors thrown from tabling Worker (#1526, #1888)
Mark [Mon, 17 Jul 2023 22:45:03 +0000 (16:45 -0600)]
remove read/{1,2} as a builtin, write read options upon EOF, throw better domain errors in parse_read_term_options/2
Mark [Mon, 17 Jul 2023 19:53:08 +0000 (13:53 -0600)]
add specialized EOF handling for user input (#1892)
Mark [Mon, 17 Jul 2023 19:22:51 +0000 (13:22 -0600)]
Merge branch 'read_term_eof_changes'
Mark [Mon, 17 Jul 2023 04:22:44 +0000 (22:22 -0600)]
omit anonymous variables from read_term variable_names and singletons lists