associativity and precedence (_done_).
* Bignum, rational number and floating point arithmetic (_done_).
* Built-in control operators (`,`, `;`, `->`, etc.) (_done_).
-* A revised, not-terrible module system (_in progress_).
+* A revised, not-terrible module system (_done, I think_).
* Built-in predicates for list processing and top-level declarative
control (`setup_call_control/3`, `call_with_inference_limit/3`,
etc.) (NEEDS REVISION)
} else if name.as_str() == ":" && terms.len() == 2 {
let callee = *terms.pop().unwrap();
let mod_name = *terms.pop().unwrap();
-
+
module_resolution_call(mod_name, callee)
} else if name.as_str() == "->" && terms.len() == 2 {
let conq = *terms.pop().unwrap();
let tl = merge_clauses(&mut tls)?;
if tls.is_empty() {
- /*
- match tl.name() {
- Some(name) => self.add_name(name, tl.arity(), clause_name!("user")),
- _ => {}
- };
- */
-
Ok(deque_to_packet(tl, results))
} else {
Err(ParserError::InconsistentEntry)