correct-ish definition of reverse.
This commit is contained in:
@@ -537,7 +537,7 @@ impl fmt::Display for Constant {
|
||||
&Constant::Atom(ref atom) =>
|
||||
write!(f, "{}", atom),
|
||||
&Constant::Char(c) =>
|
||||
write!(f, "#\\{}", c),
|
||||
write!(f, "{}", c as u8),
|
||||
&Constant::EmptyList =>
|
||||
write!(f, "[]"),
|
||||
&Constant::Number(ref n) =>
|
||||
|
||||
@@ -679,6 +679,7 @@ pub fn compile_listing(wam: &mut Machine, src_str: &str) -> EvalSession
|
||||
.or_insert(CodeIndex::default());
|
||||
|
||||
index.0.set(IndexPtr::Index(p));
|
||||
index.1 = module_name;
|
||||
}
|
||||
|
||||
decl_info.label_clauses(p, &mut code_dir, &mut decl_code);
|
||||
|
||||
@@ -426,17 +426,16 @@ pub(crate) trait CallPolicy: Any {
|
||||
|
||||
Ok(())
|
||||
},
|
||||
&ClauseType::CallN => {
|
||||
&ClauseType::CallN =>
|
||||
if let Some((name, arity)) = machine_st.setup_call_n(arity) {
|
||||
if let Some(idx) = code_dirs.get(name.clone(), arity, &machine_st.p.clone()) {
|
||||
return self.context_call(machine_st, name, arity, idx, lco);
|
||||
self.context_call(machine_st, name, arity, idx, lco)
|
||||
} else {
|
||||
machine_st.fail = true;
|
||||
Err(predicate_existence_error(name, arity, machine_st.heap.h))
|
||||
}
|
||||
}
|
||||
|
||||
Ok(())
|
||||
},
|
||||
} else {
|
||||
Ok(())
|
||||
},
|
||||
&ClauseType::Compare => {
|
||||
let a1 = machine_st[temp_v!(1)].clone();
|
||||
let a2 = machine_st[temp_v!(2)].clone();
|
||||
|
||||
Reference in New Issue
Block a user