Commit Graph
43 Commits
Author SHA1 Message Date
Nicolas Luck 44c274b9e9 WIP: Pure Rust impl. of run_query 2023-08-30 17:35:36 +02:00
Nicolas Luck 77394ba914 Remove debug println!s 2023-08-24 19:15:41 +02:00
Nicolas Luck d13173942d Cargo feature "multi_thread" for thread-local ATOM_TABLE_BUF_BASE 2023-08-24 19:13:11 +02:00
Nicolas Luck afbadd9ea2 Revert "Enable multiple Machines per process by having ATOM_TABLE_BUF_BASE always be thread_local, not only in cfg(test) mode."
This reverts commit bfb3164a0d.
2023-08-24 19:13:11 +02:00
Nicolas Luck c25888288a Fix parsing of floats 2023-08-24 18:10:47 +02:00
Nicolas Luck bfb3164a0d Enable multiple Machines per process by having ATOM_TABLE_BUF_BASE always be thread_local, not only in cfg(test) mode. 2023-08-23 14:36:07 +02:00
Nicolas Luck 7e97f16f41 Fix list result parsing 2023-08-22 22:46:00 +02:00
Nicolas Luck cf63b588bc Ignore stress test because it fails on windows 2023-08-07 18:41:08 +02:00
Nicolas Luck 4e8f7f0a1b Remove unused toplevel predicate 2023-08-07 18:38:34 +02:00
Nicolas Luck 579816a04f Use new double_quotes write-option 2023-08-07 18:29:05 +02:00
Nicolas Luck cc04872933 Merge branch 'master' into library-use-case 2023-08-07 16:42:48 +02:00
Nicolas Luck 48a4835819 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
2023-08-03 20:16:32 +02:00
Nicolas Luck 3cf3c0ea99 Integration stress test showing Machine blocking on query 2023-08-03 19:51:12 +02:00
Nicolas Luck ac61055d43 Remove some unused code from lib_toplevel.pl 2023-08-03 17:41:20 +02:00
Nicolas Luck 3ff02da314 Deactivate some debugging outputs 2023-08-02 16:25:53 +02:00
Nicolas Luck df048a4f42 Switch back to run_input_once and use duplicated write_eqs/2 without any input handling 2023-08-02 14:52:49 +02:00
Nicolas Luck 21c36880f1 Fix build 2023-08-02 14:51:41 +02:00
Nicolas Luck c2658dc6da Try triska's toplevel and add some debugging println!s. 2023-07-27 14:46:00 +02:00
Nicolas Luck 30dac8ea41 HashSet -> BTreeSet: Make parsing or results and thus tests deterministic. Add comments. 2023-07-27 12:06:03 +02:00
Nicolas Luck 0d28404aad Add special case when parsing 2023-07-27 11:50:38 +02:00
Nicolas Luck 2f99bb025c Add consult that works with streams / strings in library use-case 2023-07-27 11:41:52 +02:00
Nicolas Luck 9fd6e18d59 Dedupe machine results 2023-07-22 00:32:24 +02:00
Nicolas Luck d8a9475460 Add missing list_last_item to lib_toplevel.pl and increase MaxDepth of write_eq to avoid truncation of results 2023-07-22 00:31:49 +02:00
Nicolas Luck b1963864d2 Explicitly dereference pointer to avoid calling neg() on reference 2023-07-21 17:07:40 +02:00
Nicolas Luck 9e85be11fe Fix result parsing for complex string results 2023-07-21 14:35:44 +02:00
Nicolas Luck 0b833bd2f3 Add missing write_goal/3 to lib_toplevel.pl 2023-07-21 00:23:35 +02:00
Nicolas Luck 7c93450aa7 type QueryResult = Result<QueryResolution, String> 2023-07-20 22:31:20 +02:00
Nicolas Luck cae32d6a00 Error handling 2023-07-20 22:23:51 +02:00
Nicolas Luck 836f6c1d5b Don't panic when parsing results fails 2023-07-20 21:34:43 +02:00
Nicolas Luck 644559b7f7 Add back newline at end of toplevel.pl 2023-07-17 21:52:17 +02:00
Nicolas Luck bb95ed3ad0 Add back all needed predicates to lib_toplevel.pl 2023-07-17 21:48:05 +02:00
Nicolas Luck 3947390877 Use lib constructor in lib tests 2023-07-17 21:47:43 +02:00
Nicolas Luck e7f1e32ee3 fmt machine/parsed_results.rs 2023-07-17 21:35:00 +02:00
Nicolas Luck 5f8cc3c64b WIP: refactor to generalize Machine::run_top_level() 2023-07-17 21:34:26 +02:00
Nicolas Luck c0dd94c8a3 Add test for programatic queries 2023-07-12 11:57:53 +02:00
Nicolas Luck f65675836c Fix build warnings 2023-07-12 11:38:53 +02:00
Nicolas Luck f324c9591d Refactor result parsing to idiomatic Rust and extract into parsed_results.rs 2023-07-12 10:34:07 +02:00
Nicolas Luck 3347f830c7 Remove debug println!s 2023-07-12 01:26:54 +02:00
Nicolas Luck 568abef5b8 Parsed QueryResult 2023-07-12 01:24:39 +02:00
Nicolas Luck 703efdb22d Make run_input_once/0 match and print all results 2023-07-12 00:03:47 +02:00
Nicolas Luck 2f45f0cfed Add convenience methods Machine::load_module_string() and Machine::run_query() 2023-07-11 14:51:58 +02:00
Nicolas Luck 112d398175 Add Machine::run_input_once() which reads one goal from user input and runs it 2023-07-11 14:24:30 +02:00
Nicolas Luck 95b31146b5 Add Machine::set_user_input(&mut self, input: String) and get_user_output() -> String. Make read_term_from_user_input() handle Stream::Byte. 2023-07-11 14:22:27 +02:00