Mark Thom
a03f00628b
do not print error messages if .scryerrc[.pl] does not exist ( #842 )
2021-02-28 17:57:35 -07:00
Mark Thom
3f1cfd2995
introduce bind_fn, use in applicable Fact/Query instructions ( #841 )
2021-02-28 16:19:06 -07:00
Mark Thom
08e2b601f1
pop non-composite terms from iter stack in is_cyclic_term
2021-02-28 12:28:19 -07:00
Mark Thom
101ed9a633
add error value to occurs_check prolog flag ( #783 )
2021-02-28 11:44:23 -07:00
Skgland
0a08464d4f
move the signal handler to the binary
2021-02-28 19:21:31 +01:00
Skgland
2f428b7261
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
2021-02-28 19:21:30 +01:00
Mark Thom
f935060b2b
restore .scryerrc loading
2021-02-28 11:03:55 -07:00
Mark Thom
a367812348
add occurs_check flag ( #309 )
2021-02-28 10:41:32 -07:00
Mark Thom
8c7494885f
set compilation_target of assert loader to match that of predicate qualifier
2021-02-28 00:27:50 -07:00
Mark Thom
590a0b8077
update the parser with the number of lines already read by the underlying stream ( #836 )
2021-02-27 23:56:58 -07:00
Mark Thom
064d261357
implement logical update semantics for dynamic database predicates
2021-02-27 23:33:10 -07:00
Mark Thom
6c447da730
no longer generate a choice point in bb_b_put/2 ( #742 )
2021-02-22 18:27:30 -07:00
Mark Thom
1a9f6f06df
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 )
2021-02-22 13:23:22 -07:00
Mark Thom
5f8bdc564b
extend existing local predicate skeletons in LoadState::compile
2021-02-22 02:00:25 -07:00
Mark Thom
0ef5f7f9b1
issue singleton variable warnings from loader.pl ( #812 )
2021-02-21 19:20:42 -07:00
Mark Thom
a323a4dd8e
wrap stream instances in one Rc<RefCell<..>>, use Ref/RefMut to access stream options
2021-02-21 19:20:42 -07:00
Mark Thom
eb5ea28bcd
add 'e' as evaluable functor for Euler's constant ( #832 )
2021-02-20 18:32:04 -07:00
Mark Thom
a9fe2ab5c4
use env::current_dir in Machine::current_dir ( #833 )
2021-02-20 18:25:34 -07:00
Mark Thom
a08f5c3016
treat LocalCodePtr::Halt received at lookup_local_instr as an interrupt ( #823 )
2021-02-19 13:44:22 -07:00
Mark Thom
eff892ccb8
add qualified imports use_module library modules
2021-02-18 17:58:16 -07:00
Mark Thom
c272e4d1e8
use add_dynamically_generated_module in get_or_insert_local_code_index
2021-02-18 14:15:28 -07:00
Mark Thom
d69b7f41f2
add '$remove_module_exports' to loader.rs
2021-02-18 14:08:25 -07:00
Mark Thom
f5ad845d57
try to canonicalize to absolute path in current_dir(), use it in setting LoadContext directories ( #821 )
2021-02-17 18:49:51 -07:00
Mark Thom
2a70ca375c
restore support for tabling and delimited continuations ( #779 )
2021-02-17 16:18:49 -07:00
Mark Thom
396c589743
add second term expansion to capture the addition of hook predicates to the expansion process in loader.pl, loader.rs
2021-02-17 15:39:52 -07:00
Mark Thom
6b6666be47
support discontiguous and multifile declarations
2021-02-16 22:08:32 -07:00
Mark Thom
e2a413df78
compile scoped clauses from loader.pl
2021-02-13 19:41:04 -07:00
Mark Thom
b24f68eee7
remove vestigial uses of constant_eq
2021-02-11 19:22:03 -07:00
Mark Thom
72c1a0222c
Box LoadStatePayload when storing it in the heap
2021-02-11 19:21:20 -07:00
Mark Thom
e7cf5d4f3d
use machine-generated PartialEq instance for hashing Constant ( #817 )
2021-02-11 18:40:23 -07:00
Mark Thom
2429971bcd
update call/N indices in user-level code_dir in addition to those of pre-loaded modules
2021-02-11 15:38:30 -07: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
1dabe95899
remove tidy_trail
2021-02-07 15:39:48 -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
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
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
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
75a52f032b
perform goal expansion in call/N ( #788 , #797 )
2021-02-04 20:40:48 -07:00
Mark Thom
f3ab17a3c0
Merge branch 'master' into rebis-dev
2021-02-03 12:00:00 -07:00