Mark Thom
170a71bd02
offset SwitchOnTerm's Internal indices only if the proper instructions were emitted
2021-02-11 15:38:16 -07:00
Mark Thom
14efbb1356
roll back extent of heap when loads are complete in loader.pl
2021-02-11 15:37:43 -07:00
Mark Thom
2db1fac1eb
break out of the first inner loop if constants contains no key in remove_constant_indices ( #816 )
2021-02-10 14:13:37 -07:00
Mark Thom
ce8490ed41
Merge pull request #813 from triska/rebis-dev
...
~| now incorporates the number of characters described so far
2021-02-09 17:57:08 -07:00
Mark Thom
7e208984de
reset merging_ptr offset before insertion of each overlapping constant ( #816 )
2021-02-09 17:18:00 -07:00
Mark Thom
4d29a3ae3c
check for control functors (,/;/->) before jumping to internal interpretation ( #815 )
2021-02-09 16:40:25 -07:00
Mark Thom
547c63b28e
qualify exception handling code in loader.pl ( #809 )
2021-02-09 15:47:14 -07:00
Markus Triska
1bdfc5a1a4
~| 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.
2021-02-09 20:55:46 +01:00
Mark Thom
195273f01d
throw exceptions when modules do not contain claimed exports
2021-02-09 12:17:34 -07:00
Mark Thom
cc7e21170f
correct faulty removal of clauses in abolish/1
2021-02-08 19:02:26 -07:00
Mark Thom
30602c0849
clean up implementation of (->)/2, (;)/2, and (,)/2
2021-02-07 21:13:27 -07:00
Mark Thom
1dabe95899
remove tidy_trail
2021-02-07 15:39:48 -07:00
Mark Thom
4995c0ed94
append .pl to names of files that do not exist in loader.pl
2021-02-07 15:38:03 -07:00
Mark Thom
df82dbe5f5
use parent() instead of ancestors().next() in load_context_directory()
2021-02-07 13:51:01 -07:00
Skgland
5041042925
rename prolog_parser_rebis to prolog_parser
...
also remove remaining extern crate statements that slipped through earlier
2021-02-06 22:13:34 +01:00
Skgland
3f7a60d84b
more clippy lints
2021-02-06 22:13:06 +01:00
Skgland
64433bd8dd
fix macro hygien
2021-02-06 22:13:04 +01:00
Skgland
8e5954f36f
remove use statements from main.rs that temporary replaced extern crate and fixed paths that previously used them
2021-02-06 22:13:04 +01:00
Skgland
b53ef148a0
remove extern crate declaration and fix outfall (macros now need to be imported into scope)
...
using use declarations in main.rs so that use paths don't need to be updated as well, this will be done in a later commit
2021-02-06 22:12:31 +01:00
Mark Thom
3f950490f9
set rustyline to check the cursor position ( #802 ), don't add .pl extension to files in loader.pl ( #800 )
2021-02-06 13:47:26 -07:00
Mark Thom
49b1c1368e
remove dynamic clause declaration for clause internal
2021-02-05 23:16:42 -07:00
Mark Thom
bdb5df104a
shed module names from arguments of the (->)/2, (,)/2, (;)/2 predicates
2021-02-05 22:50:57 -07:00
Mark Thom
700778e574
collate paths as atoms in loader.pl ( #778 )
2021-02-05 20:18:56 -07:00
Mark Thom
a104b35cea
gather initialization goals and call them once load succeeds ( #792 )
2021-02-05 18:42:30 -07:00
Mark Thom
bbbf95705b
implement abolish/1
2021-02-05 18:35:06 -07:00
Mark Thom
927871d73d
Merge branch 'rebis-dev' of https://github.com/mthom/scryer-prolog into rebis-dev
2021-02-05 17:17:14 -07:00
Mark Thom
62419e975f
bootstrap the top-level by calling ''/1 as in master ( #790 )
2021-02-05 17:16:42 -07:00
Mark Thom
3fc2c4223b
delay premature set_switch_var_offset_* calls in retract_clause, add module resolution for asserta/assertz/retract/clause
2021-02-05 17:12:25 -07:00
Mark Thom
1bc8e9aebf
make load_context_path/2 handle .pl file extensions, remove commented out code
2021-02-05 13:13:54 -07:00
Markus Triska
a228e46a39
ENHANCED: Enable goal expansion for CLP(ℤ).
...
This is now possible since #445 is resolved.
2021-02-05 21:06:08 +01:00
Markus Triska
81913a5987
Revert "preliminary workaround for #788 "
...
This reverts commit 164b993064 ,
which was made obsolete by 75a52f032b .
2021-02-05 20:59:47 +01:00
Mark Thom
2d7f31a60d
implement dynamic, multifile, and discontiguous properties and callable type checking for predicate_property/2
2021-02-05 02:16:14 -07:00
Mark Thom
804858d736
remove defunct reset function ( #782 )
2021-02-04 21:02:37 -07:00
Mark Thom
222be9cf6c
modify rightmost_power/2 to ignore module qualification on (^)/2 ( #794 )
2021-02-04 20:51:55 -07:00
Mark Thom
75a52f032b
perform goal expansion in call/N ( #788 , #797 )
2021-02-04 20:40:48 -07:00
Markus Triska
164b993064
preliminary workaround for #788
...
This change can be reverted once the issue is resolved.
2021-02-04 20:48:09 +01:00
Mark Thom
e17eb01f76
respect module context in expand_module_names ( #788 )
2021-02-03 16:47:22 -07:00
Mark Thom
2fe55e4715
resolve calls to tranpose_ and same_length in lists.pl ( #790 )
2021-02-03 16:38:46 -07:00
Mark Thom
a8a82e45a0
introduce cuts over indexed (:)/2 of dcgs:phrase_/3 ( #786 )
2021-02-03 16:03:15 -07:00
Mark Thom
fcba140ffe
Merge pull request #787 from triska/rebis-dev
...
add meta_predicate declaration for with_local_attributes/3
2021-02-03 15:51:15 -07:00
Markus Triska
b96ff781bc
add meta_predicate declaration for must_succeed/1
2021-02-03 23:49:28 +01:00
Mark Thom
94392f248c
enable phrase_ rules for module resolved grammars ( #785 )
2021-02-03 15:48:12 -07:00
Markus Triska
24e6c31c44
add meta_predicate declaration for with_local_attributes/3
...
This is needed for all_distinct/1 etc.
Example:
?- all_distinct([X,Y,Z]).
clpz:all_distinct([X,Y,Z])
; false.
2021-02-03 23:45:21 +01:00
Mark Thom
cab0e4395a
manually expand module names in higher-order predicates of lists.pl and give call_residue_vars/2 a meta-predicate definition
2021-02-03 15:37:16 -07:00
Markus Triska
ae66e299e6
Use term expansion for generated predicates.
2021-02-03 15:21:39 -07:00
Mark Thom
88ad2ee103
restore cut after dcg_constr check ( #784 )
2021-02-03 15:21:20 -07:00
Mark Thom
48f3f4ca37
add meta-predicate declarations to reif library
2021-02-03 12:46:33 -07:00
Mark Thom
f3ab17a3c0
Merge branch 'master' into rebis-dev
2021-02-03 12:00:00 -07:00
Mark Thom
f5d808e68f
do not traverse data structures when binding to local variables in unify_with_occurs_check ( #781 )
2021-02-03 11:11:22 -07:00
Mark Thom
88f1160e2b
use find_inner_choice_instr when appending an indexed clause to an indexed subsequence
2021-02-03 01:22:13 -07:00