]>
Repositorios git - scryer-prolog.git/log
Nicolas Luck [Thu, 3 Aug 2023 18:16:32 +0000 (20:16 +0200)]
Merge branch 'master' into library-use-case
# Conflicts:
# Cargo.lock
# Cargo.toml
# src/bin/scryer-prolog.rs
# src/loader.pl
# src/machine/mock_wam.rs
# src/machine/mod.rs
# src/machine/system_calls.rs
Nicolas Luck [Thu, 3 Aug 2023 17:51:12 +0000 (19:51 +0200)]
Integration stress test showing Machine blocking on query
Nicolas Luck [Thu, 3 Aug 2023 15:41:20 +0000 (17:41 +0200)]
Remove some unused code from lib_toplevel.pl
Joshua Parkin [Thu, 3 Aug 2023 15:22:03 +0000 (16:22 +0100)]
dont spawn a runtime in machine; inherit from outside with runtime::handle::Current
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.
Nicolas Luck [Wed, 2 Aug 2023 14:25:53 +0000 (16:25 +0200)]
Deactivate some debugging outputs
Nicolas Luck [Wed, 2 Aug 2023 12:52:49 +0000 (14:52 +0200)]
Switch back to run_input_once and use duplicated write_eqs/2 without any input handling
Nicolas Luck [Wed, 2 Aug 2023 12:51:41 +0000 (14:51 +0200)]
Fix build
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)
Nicolas Luck [Thu, 27 Jul 2023 12:46:00 +0000 (14:46 +0200)]
Try triska's toplevel and add some debugging println!s.
Nicolas Luck [Thu, 27 Jul 2023 10:06:03 +0000 (12:06 +0200)]
HashSet -> BTreeSet: Make parsing or results and thus tests deterministic. Add comments.
Nicolas Luck [Thu, 27 Jul 2023 09:50:38 +0000 (11:50 +0200)]
Add special case when parsing
Nicolas Luck [Thu, 27 Jul 2023 09:41:52 +0000 (11:41 +0200)]
Add consult that works with streams / strings in library use-case
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
Nicolas Luck [Fri, 21 Jul 2023 22:32:24 +0000 (00:32 +0200)]
Dedupe machine results
Nicolas Luck [Fri, 21 Jul 2023 22:30:51 +0000 (00:30 +0200)]
Add missing list_last_item to lib_toplevel.pl and increase MaxDepth of write_eq to avoid truncation of results
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
Nicolas Luck [Fri, 21 Jul 2023 12:35:44 +0000 (14:35 +0200)]
Fix result parsing for complex string results
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
Nicolas Luck [Thu, 20 Jul 2023 22:23:35 +0000 (00:23 +0200)]
Add missing write_goal/3 to lib_toplevel.pl
Nicolas Luck [Thu, 20 Jul 2023 20:31:20 +0000 (22:31 +0200)]
type QueryResult = Result<QueryResolution, String>
Mark [Thu, 20 Jul 2023 20:27:10 +0000 (14:27 -0600)]
improve goal expansion and (',') interpretation error handling
Nicolas Luck [Thu, 20 Jul 2023 20:23:51 +0000 (22:23 +0200)]
Error handling
Nicolas Luck [Thu, 20 Jul 2023 19:34:43 +0000 (21:34 +0200)]
Don't panic when parsing results fails
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)
Nicolas Luck [Mon, 17 Jul 2023 19:52:17 +0000 (21:52 +0200)]
Add back newline at end of toplevel.pl
Nicolas Luck [Mon, 17 Jul 2023 19:48:05 +0000 (21:48 +0200)]
Add back all needed predicates to lib_toplevel.pl
Nicolas Luck [Mon, 17 Jul 2023 19:47:43 +0000 (21:47 +0200)]
Use lib constructor in lib tests
Nicolas Luck [Mon, 17 Jul 2023 19:35:00 +0000 (21:35 +0200)]
fmt machine/parsed_results.rs
Nicolas Luck [Mon, 17 Jul 2023 19:34:26 +0000 (21:34 +0200)]
WIP: refactor to generalize Machine::run_top_level()
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
Mark [Mon, 17 Jul 2023 02:42:40 +0000 (20:42 -0600)]
do a better job handling EOF in read_term (#1887)
Mark [Mon, 17 Jul 2023 17:38:50 +0000 (11:38 -0600)]
print strings in tails of lists (#1890)
Fayeed Pawaskar [Mon, 17 Jul 2023 15:10:41 +0000 (20:40 +0530)]
wip dashu move
Mark Thom [Sun, 16 Jul 2023 16:26:13 +0000 (10:26 -0600)]
Merge pull request #1891 from triska/initialization_goals
ENHANCED: use newly available read_term_from_chars/3 for better errors
Markus Triska [Sun, 16 Jul 2023 07:14:02 +0000 (09:14 +0200)]
ENHANCED: use newly available read_term_from_chars/3 for better errors
Examples, previously:
$ scryer-prolog -g "member(X,Ls"
?-
$ scryer-prolog -g "member(X,Ls)"
member(_542,_543) causes: error(existence_error(procedure,member/2),member/2)
?-
Now:
$ scryer-prolog -g "member(X,Ls"
"member(X,Ls" cannot be read: error(syntax_error(incomplete_reduction),read_term_from_chars/3:0)
$ scryer-prolog -g "member(X,Ls)"
member(X,Ls) causes: error(existence_error(procedure,member/2),member/2)
?-
This also addresses #1185.
Mark [Sun, 16 Jul 2023 03:52:54 +0000 (21:52 -0600)]
re-factor options handling of read_term into read_term_body (#1887)
Mark [Sun, 16 Jul 2023 01:29:06 +0000 (19:29 -0600)]
generalize simple goal detection to fix call/N test failures in logtalk test suite
Mark [Sat, 15 Jul 2023 17:20:20 +0000 (11:20 -0600)]
add read_term_from_chars/3 (#637)
Mark [Sat, 15 Jul 2023 16:58:25 +0000 (10:58 -0600)]
use double_quotes in write_error (#1886)
Mark [Sat, 15 Jul 2023 16:44:00 +0000 (10:44 -0600)]
add is_inbuilt check to err_on_builtin_overwrite (#1872)
Mark [Sat, 15 Jul 2023 16:22:23 +0000 (10:22 -0600)]
eliminate call_with_inference_limit/3 leaks (#1300)
Mark [Sat, 15 Jul 2023 01:10:10 +0000 (19:10 -0600)]
add unknown flag to set_prolog_flag and current_prolog_flag
Mark [Fri, 14 Jul 2023 23:01:46 +0000 (17:01 -0600)]
fix group_by_variants/4 and keysort in setof/3 (#1440, #1856)
Mark [Fri, 14 Jul 2023 18:44:25 +0000 (12:44 -0600)]
add (:-)/1 and (:-)/2 to ClauseType::is_inbuilt (#1872)
Mark [Thu, 13 Jul 2023 23:12:05 +0000 (17:12 -0600)]
fix assert(a|z)/1 errors
Mark Thom [Thu, 13 Jul 2023 22:09:29 +0000 (16:09 -0600)]
Merge pull request #1884 from triska/countall
ADDED: countall/2, for compatibility with GNU Prolog.
Markus Triska [Thu, 13 Jul 2023 21:08:13 +0000 (23:08 +0200)]
ADDED: countall/2, for compatibility with GNU Prolog.
Example:
?- countall(member(X, "abc"), N).
N = 3.
Mark [Thu, 13 Jul 2023 21:03:26 +0000 (15:03 -0600)]
throw permission_error in compile_assert when attempting to assert a built-in (#1872)
Mark [Thu, 13 Jul 2023 19:58:51 +0000 (13:58 -0600)]
arith_eval_by_metacall may receive a stack variable
Mark [Thu, 13 Jul 2023 19:37:34 +0000 (13:37 -0600)]
correct peek_code/2, don't set stream position in peek functions
Mark [Thu, 13 Jul 2023 18:23:20 +0000 (12:23 -0600)]
correct peek_byte/2 bugs (#1882)
Mark [Thu, 13 Jul 2023 00:11:56 +0000 (18:11 -0600)]
improve ground/1 performance (#1389)
Mark [Wed, 12 Jul 2023 22:34:11 +0000 (16:34 -0600)]
fix peek_byte/2 crash (#1882)
Mark Thom [Wed, 12 Jul 2023 22:21:06 +0000 (16:21 -0600)]
Merge pull request #1878 from mthom/lookahead_indexing
use lookahead to skip inapplicable clauses (#1028, #1502)
Markus Triska [Wed, 12 Jul 2023 05:26:52 +0000 (07:26 +0200)]
ENHANCED: improved determinism of member/2
Example:
?- member(X, "abc").
%@ X = a
%@ ; X = b
%@ ; X = c.
This addresses #750.
Mark [Tue, 11 Jul 2023 23:59:53 +0000 (17:59 -0600)]
use lookahead to skip inapplicable clauses (#1028, #1502)
Mark [Wed, 12 Jul 2023 20:24:20 +0000 (14:24 -0600)]
remove unsafe unwrap in put_char (#1881)