pub fn ask(&mut self) -> Term {
    let y = self.yield_();
    match y {
      Some(q) => {
        let ans = self.answer(q.ttop);
        let res = ans.hd;
        let result = self.export_term(res);
        self.unwind_trail(q.ttop);
        self.query = None;
        result
      }
      _ => {
        Term::E
      }
    }
  }
/**
   * retrieves an answers and ensure the engine can be resumed
   * by unwinding the trail of the query Spine
   * returns an external "human readable" representation of the answer
   */
retrieves an answers and ensure the engine can be resumed
by unwinding the trail of the query Spine
returns an external "human readable" representation of the answer
retrieves an answers and ensure the engine can be resumed by unwinding the trail of the query Spine returns an external " human readable " representation of the answer
pub fn ask(&mut self) -> Term {
    let y = self.yield_();
    match y {
      Some(q) => {
        let ans = self.answer(q.ttop);
        let res = ans.hd;
        let result = self.export_term(res);
        self.unwind_trail(q.ttop);
        self.query = None;
        result
      }
      _ => {
        Term::E
      }
    }
  }
pub fn ask ( & mut self ) -> Term { let y = self . yield_ ( ) ; match y { Some ( q ) => { let ans = self . answer ( q . ttop ) ; let res = ans . hd ; let result = self . export_term ( res ) ; self . unwind_trail ( q . ttop ) ; self . query = None ; result } _ => { Term :: E } } }
retrieves an answers and ensure the engine can be resumed
 by unwinding the trail of the query Spine
 returns an external "human readable" representation of the answer
retrieves an answers and ensure the engine can be resumed by unwinding the trail of the query Spine returns an external " human readable " representation of the answer
&mut self
&mut self