Mark Thom
491472a8c5
retire TrailedAttrVarHeapLink TrailEntry tag
2023-02-10 22:52:27 -07:00
Mark Thom
359619e035
simplify and optimize attributed variables ( #1590 , #1634 , #1730 )
2023-02-10 21:56:42 -07:00
Mark Thom
a7e93db363
improve retract/1 and related predicates ( #1598 )
2023-01-22 21:04:41 -07:00
Mark Thom
cf63e8375d
track attr_var_init lengths on the stack ( #1667 )
2022-12-16 20:10:17 -07:00
Adrián Arroyo Calle
181be5be3f
HTTP Server 2.0
2022-10-26 23:36:07 -06:00
Mark Thom
1ffbf63d20
inline metacalls
2022-10-26 23:36:07 -06:00
Adrián Arroyo Calle
3acbe2a418
http_open/3 with method option
2022-03-28 20:38:52 +02:00
Mark Thom
067e2633af
compare TypedArenaPtr<T> by value not pointer ( #1362 )
2022-03-22 00:55:44 -06:00
William Kral
5f1f07e5a1
Add --no-add-history flag
...
Flag prevents the input stream from saving terms to ~/.scryer_history
when set. Use the flag when running tests to increase test isolation.
2022-03-10 21:48:41 -08:00
Mark Thom
0c25ffc26e
dereference list link in delete_attribute ( #1148 )
2022-03-05 17:39:03 -07:00
Mark Thom
a38f7c8524
save arguments to delayed goal before calling verify_attrs ( #1304 )
2022-03-01 23:59:41 -07:00
Mark Thom
955e1799c8
flatten the instruction dispatch loop
2022-01-06 22:09:36 -07:00
Mark Thom
3db86f1e25
relocate most instruction routines from MachineState to Machine
2022-01-06 21:46:23 -07:00
Mark Thom
6f9b6a29c4
remove LocalCodePtr::IndexingBuf
2022-01-06 21:44:41 -07:00
Mark Thom
0404c3bd94
use new heap term representation
2022-01-06 21:44:38 -07:00
Skgland
49e024bdd8
remove unused fields instead, prompting more dead_code removal
2021-11-11 19:32:35 +01:00
Skgland
7bc4876071
fix failing lint warnings in beta build
2021-11-11 18:53:08 +01:00
Mark Thom
d0b25de554
add user_error stream ( #917 )
2021-04-30 21:58:03 -06:00
Mark Thom
51424aed32
clear user-level definitions when reloading a file ( #455 )
2021-03-16 02:30:09 -06:00
Mark Thom
1b9db035ba
call project_attributes from top-level ( #846 )
2021-03-04 16:05:06 -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
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
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
a9fe2ab5c4
use env::current_dir in Machine::current_dir ( #833 )
2021-02-20 18:25:34 -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
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
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
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
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
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
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
4e29099ed9
export loader's public predicates from builtins, handle module resolution from DCGs
2021-02-02 15:43:52 -07:00
Mark Thom
8900df6f13
add built_in to predicate_property
2021-02-02 15:03:14 -07:00
Mark Thom
e1ec4bee75
move term expansion logic entirely into loader.pl
2021-02-01 16:50:05 -07:00
Mark Thom
a239007db0
target prolog_parser_rebis on crates.io
2021-01-30 22:03:07 -07:00
Mark Thom
a4d15bfb88
move to a predicate-based module system, move to loader.[rs|pl]-based compilation, add support for incremental clause compilation
2021-01-30 21:07:51 -07:00
brightly-salty
4854da4805
Replace dirs with dirs-next
2020-12-15 06:59:26 -06:00