implement dynamic, multifile, and discontiguous properties and callable type checking for predicate_property/2

This commit is contained in:
Mark Thom
2021-02-05 02:16:14 -07:00
parent 804858d736
commit 2d7f31a60d
6 changed files with 154 additions and 9 deletions

View File

@@ -258,7 +258,7 @@ impl Machine {
for arity in 1 .. 66 {
let key = (clause_name!("call"), arity);
match loader.code_dir.get(&key).cloned() {
match loader.code_dir.get(&key) {
Some(src_code_index) => {
let target_code_index = target_module.code_dir
.entry(key.clone())
@@ -482,6 +482,15 @@ impl Machine {
REPLCodePtr::BuiltInProperty => {
self.builtin_property();
}
REPLCodePtr::MultifileProperty => {
self.multifile_property();
}
REPLCodePtr::DiscontiguousProperty => {
self.discontiguous_property();
}
REPLCodePtr::DynamicProperty => {
self.dynamic_property();
}
REPLCodePtr::CompilePendingPredicates => {
self.compile_pending_predicates();
}