]> Repositorios git - scryer-prolog.git/commitdiff
fix setup_hook
authorMark Thom <[email protected]>
Thu, 17 Jan 2019 03:03:59 +0000 (20:03 -0700)
committerMark Thom <[email protected]>
Thu, 17 Jan 2019 03:03:59 +0000 (20:03 -0700)
src/prolog/compile.rs
src/prolog/toplevel.rs

index 4a04e029e9c412f832511ed6669cf1ff16ed0395..89976ffea368eb82f17382761f3b195e17bcc165 100644 (file)
@@ -490,5 +490,6 @@ fn setup_indices(wam: &mut Machine, indices: &mut IndexStore) -> Result<(), Sess
 pub fn compile_user_module<R: Read>(wam: &mut Machine, src: R) -> EvalSession {
     let mut indices = default_index_store!(wam.indices.atom_tbl.clone());
     try_eval_session!(setup_indices(wam, &mut indices));
+    
     compile_listing(wam, src, indices)
 }
index 55d8f82a7bb5ba3b55879d3a9c9f29ea77875220..eed2c01ae17a8cd14a880bf8cc024ff94e40c75a 100644 (file)
@@ -625,7 +625,7 @@ impl RelationWorker {
                 if name == hook.name() && terms.len() == hook.arity() {
                     let term = setup_fact(Term::Clause(r, name, terms, None))?;
                     Ok((hook, PredicateClause::Fact(term), VecDeque::from(vec![])))
-                } else if name.as_str() == ":-" {
+                } else if name.as_str() == ":-" && terms.len() == 2 {
                     let rule = self.setup_rule(indices, terms, true)?;
                     let results_queue = self.parse_queue(indices)?;