Mark Thom
4623e9d7fc
fix findall/4 ( #873 )
2021-03-18 12:50:12 -06:00
Mark Thom
10af206024
make chars callable ( #713 )
2021-03-17 19:50:41 -06:00
Mark Thom
7937ccee30
check that a load context path is a filename before potentially returning it as a string
2021-03-17 18:58:33 -06:00
notoria
f4be0cf4b3
Extend alnum, add forgotten graphic_token
2021-03-17 20:47:09 +01:00
Mark Thom
5f7abda22d
remove operators declared at user-level from files when reloading
2021-03-16 18:30:34 -06:00
Mark Thom
51424aed32
clear user-level definitions when reloading a file ( #455 )
2021-03-16 02:30:09 -06:00
Mark Thom
914fb09ed0
don't warn about overwriting a clause asserted to a dynamic predicate whose clauses have all been retracted ( #870 )
2021-03-15 14:22:54 -06:00
Mark Thom
7ea7e5c951
remove intra-module predicates from module code directory when module is being re-defined ( #848 )
2021-03-13 23:22:24 -07:00
Skgland
d437609365
improve comment
2021-03-11 01:52:21 +01:00
Mark Thom
d4d47182b4
fix is_cyclic_term ( #864 )
2021-03-10 16:11:48 -07:00
Mark Thom
0a71e40030
qualify '$print_project_attributes_exception' call ( #857 )
2021-03-05 01:14:56 -07:00
Mark Thom
1b9db035ba
call project_attributes from top-level ( #846 )
2021-03-04 16:05:06 -07:00
Mark Thom
5a3ee3a46e
has_tail must be false for use as a filename from open/{3,4}
2021-03-03 12:16:47 -07:00
Mark Thom
7ea9706c94
warn when overwriting a predicate ( #848 )
2021-03-02 11:43:47 -07:00
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