]>
Repositorios git - scryer-prolog.git/log
Mark Thom [Mon, 1 Mar 2021 01:15:33 +0000 (18:15 -0700)]
wrap variable goals in module-expanded call/1
Mark Thom [Mon, 1 Mar 2021 00:57:35 +0000 (17:57 -0700)]
do not print error messages if .scryerrc[.pl] does not exist (#842)
Mark Thom [Sun, 28 Feb 2021 23:19:37 +0000 (16:19 -0700)]
print errors arising from term and goal expansion calls from loader.pl
Mark Thom [Sun, 28 Feb 2021 23:19:06 +0000 (16:19 -0700)]
introduce bind_fn, use in applicable Fact/Query instructions (#841)
Mark Thom [Sun, 28 Feb 2021 19:28:19 +0000 (12:28 -0700)]
pop non-composite terms from iter stack in is_cyclic_term
Mark Thom [Sun, 28 Feb 2021 18:44:07 +0000 (11:44 -0700)]
add error value to occurs_check prolog flag (#783)
Mark Thom [Sun, 28 Feb 2021 18:39:24 +0000 (11:39 -0700)]
Merge pull request #838 from Skgland/librarify
Split main.rs into lib.rs and bin/scryer-prolog.rs
Skgland [Fri, 26 Feb 2021 18:58:55 +0000 (19:58 +0100)]
revert removal of PartialEq
Skgland [Fri, 26 Feb 2021 16:24:31 +0000 (17:24 +0100)]
move the signal handler to the binary
Skgland [Fri, 26 Feb 2021 16:19:38 +0000 (17:19 +0100)]
remove #[allow(dead_code)]
only commenting out the unused variant as `OptArgIndexKeyType`
as it appears to mirror `OptArgIndexKey` and there List is not unused
so this appears to be not yet used rather than obsolete
Skgland [Fri, 26 Feb 2021 00:03:05 +0000 (01:03 +0100)]
fix CI lib build with beta compiler
Skgland [Thu, 25 Feb 2021 22:42:41 +0000 (23:42 +0100)]
adjust ci
Skgland [Thu, 25 Feb 2021 22:24:20 +0000 (23:24 +0100)]
split into lib and bin
* makes most pub things in src/ pub(crate) as not to expose things accidentally
* only those things needed by src/bin/scryer-prolog.rs and tests/scryer.rs
should be pub
* split src/main.rs into src/lib.rs and src/bin/scryer-prolog.rs
* add tests folder and run most of the files in src/tests with cargo test
added bytes method to Stream in src/machine/streams.rs to check if stdout is as expected
Mark Thom [Sun, 28 Feb 2021 18:03:55 +0000 (11:03 -0700)]
restore .scryerrc loading
Mark Thom [Sun, 28 Feb 2021 17:41:32 +0000 (10:41 -0700)]
add occurs_check flag (#309)
Mark Thom [Sun, 28 Feb 2021 16:15:03 +0000 (09:15 -0700)]
enable op declarations with lists of operands using term expansion (#839)
Mark Thom [Sun, 28 Feb 2021 09:09:53 +0000 (02:09 -0700)]
add lines read from devour_whitespace (#836)
Mark Thom [Sun, 28 Feb 2021 07:27:50 +0000 (00:27 -0700)]
set compilation_target of assert loader to match that of predicate qualifier
Mark Thom [Sun, 28 Feb 2021 06:56:58 +0000 (23:56 -0700)]
update the parser with the number of lines already read by the underlying stream (#836)
Mark Thom [Sun, 28 Feb 2021 05:51:32 +0000 (22:51 -0700)]
implement logical update semantics for dynamic database predicates
Mark Thom [Thu, 25 Feb 2021 22:17:16 +0000 (15:17 -0700)]
Merge pull request #837 from triska/rebis-dev
Small improvements for Rebis
Markus Triska [Thu, 25 Feb 2021 21:40:31 +0000 (22:40 +0100)]
add entry for library(lambda)
Markus Triska [Thu, 25 Feb 2021 20:45:06 +0000 (21:45 +0100)]
omit internal residual goals for global_cardinality/2
Markus Triska [Thu, 18 Feb 2021 19:33:27 +0000 (20:33 +0100)]
remove unused attribute_goal/2
Mark Thom [Thu, 25 Feb 2021 21:26:41 +0000 (14:26 -0700)]
Merge pull request #835 from triska/lambda
ADDED: library(lambda) by Ulrich Neumerkel
Markus Triska [Thu, 25 Feb 2021 21:06:09 +0000 (22:06 +0100)]
adapt libraries and toplevel output to Scryer Prolog
Markus Triska [Thu, 25 Feb 2021 21:02:51 +0000 (22:02 +0100)]
use individual meta_predicate/1 declarations
Markus Triska [Thu, 25 Feb 2021 21:00:44 +0000 (22:00 +0100)]
ADDED: library(lambda) by Ulrich Neumerkel.
Source: http://www.complang.tuwien.ac.at/ulrich/Prolog-inedit/lambda.pl
More information:
http://www.complang.tuwien.ac.at/ulrich/Prolog-inedit/ISO-Hiord
Mark Thom [Tue, 23 Feb 2021 05:39:34 +0000 (22:39 -0700)]
add copy_term_nat/2 (#795)
Mark Thom [Tue, 23 Feb 2021 01:33:35 +0000 (18:33 -0700)]
no longer delay verify_attributes for cut instructions (#807)
Mark Thom [Tue, 23 Feb 2021 01:27:30 +0000 (18:27 -0700)]
no longer generate a choice point in bb_b_put/2 (#742)
Mark Thom [Mon, 22 Feb 2021 20:23:22 +0000 (13:23 -0700)]
consume whitespace before reading a term in loader.pl, modify prolog_load_context at file key to better reflect loading context, use it when reporting singleton variables (#812)
Mark Thom [Mon, 22 Feb 2021 09:00:25 +0000 (02:00 -0700)]
extend existing local predicate skeletons in LoadState::compile
Mark Thom [Mon, 22 Feb 2021 02:19:43 +0000 (19:19 -0700)]
anonymize singleton variables in iso_ext.pl, charsio.pl
Mark Thom [Mon, 22 Feb 2021 02:18:06 +0000 (19:18 -0700)]
issue singleton variable warnings from loader.pl (#812)
Mark Thom [Sun, 21 Feb 2021 23:28:30 +0000 (16:28 -0700)]
wrap stream instances in one Rc<RefCell<..>>, use Ref/RefMut to access stream options
Mark Thom [Sun, 21 Feb 2021 20:32:09 +0000 (13:32 -0700)]
Merge pull request #834 from aarroyoc/rebis-http
Fix HTTP server in rebis
Adrián Arroyo Calle [Sun, 21 Feb 2021 20:08:03 +0000 (21:08 +0100)]
Fix typo
Adrián Arroyo Calle [Sun, 21 Feb 2021 19:22:08 +0000 (20:22 +0100)]
Use notoria's comment
Mark Thom [Sun, 21 Feb 2021 19:10:09 +0000 (12:10 -0700)]
Merge pull request #830 from aarroyoc/rebis-http
Fix HTTP server on Rebis. Breaking change
Mark Thom [Sun, 21 Feb 2021 19:08:36 +0000 (12:08 -0700)]
tweak bimetatrans_tests.pl
Mark Thom [Sun, 21 Feb 2021 19:08:14 +0000 (12:08 -0700)]
add set_prolog_flag to declarations recognized by loader.pl
Mark Thom [Sun, 21 Feb 2021 02:10:34 +0000 (19:10 -0700)]
correct comment before call meta_predicate declarations
Mark Thom [Sun, 21 Feb 2021 01:31:47 +0000 (18:31 -0700)]
add 'e' as evaluable functor for Euler's constant (#832)
Mark Thom [Sun, 21 Feb 2021 01:25:34 +0000 (18:25 -0700)]
use env::current_dir in Machine::current_dir (#833)
Mark Thom [Sat, 20 Feb 2021 00:34:26 +0000 (17:34 -0700)]
move to a local num-rug-adapter crate addressing #822
Mark Thom [Fri, 19 Feb 2021 21:36:30 +0000 (14:36 -0700)]
remove nl after top-level use_module (#818)
Mark Thom [Fri, 19 Feb 2021 21:12:34 +0000 (14:12 -0700)]
qualify command-line specified goals with user: (#820)
Mark Thom [Fri, 19 Feb 2021 20:44:22 +0000 (13:44 -0700)]
treat LocalCodePtr::Halt received at lookup_local_instr as an interrupt (#823)
Mark Thom [Fri, 19 Feb 2021 00:58:05 +0000 (17:58 -0700)]
add qualified imports use_module library modules
Adrián Arroyo Calle [Thu, 18 Feb 2021 23:13:00 +0000 (00:13 +0100)]
Fix HTTP server to work on Rebis branch. Breaking change
Mark Thom [Thu, 18 Feb 2021 21:29:06 +0000 (14:29 -0700)]
Merge pull request #829 from aarroyoc/uuidv4
UUIDv4 library
Adrián Arroyo Calle [Thu, 18 Feb 2021 21:16:24 +0000 (22:16 +0100)]
UUIDv4 generation
Mark Thom [Thu, 18 Feb 2021 21:15:28 +0000 (14:15 -0700)]
use add_dynamically_generated_module in get_or_insert_local_code_index
Mark Thom [Thu, 18 Feb 2021 21:07:57 +0000 (14:07 -0700)]
add '$remove_module_exports' to loader.rs
Mark Thom [Thu, 18 Feb 2021 19:21:21 +0000 (12:21 -0700)]
Merge pull request #828 from triska/rebis-dev
enable meta_predicate/1 declarations
Markus Triska [Thu, 18 Feb 2021 19:19:23 +0000 (20:19 +0100)]
enable meta_predicate/1 declarations
Mark Thom [Thu, 18 Feb 2021 19:15:12 +0000 (12:15 -0700)]
Merge pull request #827 from triska/rebis-dev
add appropriate meta_predicate/1 declarations
Markus Triska [Thu, 18 Feb 2021 19:12:15 +0000 (20:12 +0100)]
add appropriate meta_predicate/1 declarations
Mark Thom [Thu, 18 Feb 2021 18:17:00 +0000 (11:17 -0700)]
Merge pull request #826 from triska/rebis-dev
add appropriate meta_predicate/1 declarations
Markus Triska [Thu, 18 Feb 2021 18:16:11 +0000 (19:16 +0100)]
add appropriate meta_predicate/1 declarations
Mark Thom [Thu, 18 Feb 2021 01:49:51 +0000 (18:49 -0700)]
try to canonicalize to absolute path in current_dir(), use it in setting LoadContext directories (#821)
Mark Thom [Wed, 17 Feb 2021 23:18:49 +0000 (16:18 -0700)]
restore support for tabling and delimited continuations (#779)
Mark Thom [Wed, 17 Feb 2021 22:39:52 +0000 (15:39 -0700)]
add second term expansion to capture the addition of hook predicates to the expansion process in loader.pl, loader.rs
Mark Thom [Wed, 17 Feb 2021 20:31:58 +0000 (13:31 -0700)]
remove VNs variable from loader.pl
Mark Thom [Wed, 17 Feb 2021 18:56:58 +0000 (11:56 -0700)]
remove unnecessary cause of failure in parser, qualify call to op_/3 in builtins.pl
Mark Thom [Wed, 17 Feb 2021 18:12:19 +0000 (11:12 -0700)]
add missing variable checks in various places
Mark Thom [Wed, 17 Feb 2021 08:15:29 +0000 (01:15 -0700)]
handle user:goal_expansion, but not Target:goal_expansion, explicitly in loader.pl
Mark Thom [Wed, 17 Feb 2021 03:54:51 +0000 (20:54 -0700)]
support discontiguous and multifile declarations
Mark Thom [Sun, 14 Feb 2021 02:41:04 +0000 (19:41 -0700)]
compile scoped clauses from loader.pl
Mark Thom [Fri, 12 Feb 2021 02:22:03 +0000 (19:22 -0700)]
remove vestigial uses of constant_eq
Mark Thom [Fri, 12 Feb 2021 02:21:20 +0000 (19:21 -0700)]
Box LoadStatePayload when storing it in the heap
Mark Thom [Fri, 12 Feb 2021 01:51:21 +0000 (18:51 -0700)]
remove unused is_internal function from indexing.rs
Mark Thom [Fri, 12 Feb 2021 01:40:07 +0000 (18:40 -0700)]
use machine-generated PartialEq instance for hashing Constant (#817)
Mark Thom [Thu, 11 Feb 2021 22:38:30 +0000 (15:38 -0700)]
update call/N indices in user-level code_dir in addition to those of pre-loaded modules
Mark Thom [Thu, 11 Feb 2021 22:38:16 +0000 (15:38 -0700)]
offset SwitchOnTerm's Internal indices only if the proper instructions were emitted
Mark Thom [Thu, 11 Feb 2021 22:37:43 +0000 (15:37 -0700)]
roll back extent of heap when loads are complete in loader.pl
Mark Thom [Thu, 11 Feb 2021 22:35:14 +0000 (15:35 -0700)]
use IndexMap over HashMap in prolog_parser
Mark Thom [Wed, 10 Feb 2021 21:13:37 +0000 (14:13 -0700)]
break out of the first inner loop if constants contains no key in remove_constant_indices (#816)
Mark Thom [Wed, 10 Feb 2021 00:57:08 +0000 (17:57 -0700)]
Merge pull request #813 from triska/rebis-dev
~| now incorporates the number of characters described so far
Mark Thom [Wed, 10 Feb 2021 00:18:00 +0000 (17:18 -0700)]
reset merging_ptr offset before insertion of each overlapping constant (#816)
Mark Thom [Tue, 9 Feb 2021 23:40:25 +0000 (16:40 -0700)]
check for control functors (,/;/->) before jumping to internal interpretation (#815)
Mark Thom [Tue, 9 Feb 2021 22:47:14 +0000 (15:47 -0700)]
qualify exception handling code in loader.pl (#809)
Mark Thom [Tue, 9 Feb 2021 21:30:09 +0000 (14:30 -0700)]
Merge branch 'rebis-dev' of https://github.com/mthom/scryer-prolog into rebis-dev
Markus Triska [Tue, 9 Feb 2021 19:52:26 +0000 (20:52 +0100)]
~| now incorporates the number of characters described so far
Therefore, subsequent uses of ~N| now yield the specified column,
instead of potentially overshooting.
Example:
?- format("hello~|~t~8|!", []).
hello ! true.
Such cases are probably rather uncommon: Relative positioning with ~N+
is more likely to be used in such cases, and that worked as intended
also previously as it does now:
?- format("hello~|~t~3+!", []).
hello ! true.
In fact, if absolute positions are used, then ~| can be omitted entirely:
?- format("hello~t~8|!", []).
hello ! true.
Mark Thom [Tue, 9 Feb 2021 19:17:34 +0000 (12:17 -0700)]
throw exceptions when modules do not contain claimed exports
Mark Thom [Tue, 9 Feb 2021 01:46:33 +0000 (18:46 -0700)]
correct faulty removal of clauses in abolish/1
Mark Thom [Mon, 8 Feb 2021 04:13:27 +0000 (21:13 -0700)]
clean up implementation of (->)/2, (;)/2, and (,)/2
Mark Thom [Sun, 7 Feb 2021 22:39:48 +0000 (15:39 -0700)]
remove tidy_trail
Mark Thom [Sun, 7 Feb 2021 22:38:03 +0000 (15:38 -0700)]
append .pl to names of files that do not exist in loader.pl
Mark Thom [Sun, 7 Feb 2021 20:47:06 +0000 (13:47 -0700)]
use parent() instead of ancestors().next() in load_context_directory()
Mark Thom [Sun, 7 Feb 2021 07:34:57 +0000 (00:34 -0700)]
Merge branch 'Skgland-clean_up' into rebis-dev
Bennet Bleßmann [Sat, 6 Feb 2021 21:38:40 +0000 (22:38 +0100)]
change reposity url
Skgland [Sat, 6 Feb 2021 20:57:27 +0000 (21:57 +0100)]
rename `prolog_parser_rebis` to `prolog_parser`
also remove remaining extern crate statements that slipped through earlier
Skgland [Sat, 6 Feb 2021 19:26:22 +0000 (20:26 +0100)]
fix incorrect rug path
Skgland [Sat, 6 Feb 2021 18:58:31 +0000 (19:58 +0100)]
more clippy lints
Skgland [Sat, 6 Feb 2021 18:53:53 +0000 (19:53 +0100)]
more clippy lints
Skgland [Sat, 6 Feb 2021 18:52:41 +0000 (19:52 +0100)]
fix clippy lint match|if let looks like matches! macro
Skgland [Sat, 6 Feb 2021 18:49:32 +0000 (19:49 +0100)]
fix clippy lint `Manual RangeInclusive::contains implementation`
Skgland [Sat, 6 Feb 2021 18:45:21 +0000 (19:45 +0100)]
fix some clippy lint warnings