]> Repositorios git - scryer-prolog.git/commitdiff
print equations lexographically by variable name, re: #26
authorMark Thom <[email protected]>
Fri, 10 Aug 2018 00:23:47 +0000 (18:23 -0600)
committerMark Thom <[email protected]>
Fri, 10 Aug 2018 00:23:47 +0000 (18:23 -0600)
src/prolog/machine/mod.rs

index 734baedcfa401bdbe55a3ae6fc207dfac8aa205c..d37f00550a67f1db0873ec1f2df3c7dcc8e1a40e 100644 (file)
@@ -481,7 +481,10 @@ impl Machine {
     pub fn heap_view<Outputter>(&self, var_dir: &HeapVarDict, mut output: Outputter) -> Outputter
        where Outputter: HCValueOutputter
     {
-        for (var, addr) in var_dir {
+        let mut sorted_vars: Vec<(&Rc<Var>, &Addr)> = var_dir.iter().collect();
+        sorted_vars.sort_by_key(|ref v| v.0);
+        
+        for (var, addr) in sorted_vars {
             let fmt = TermFormatter {};
             output = self.ms.print_var_eq(var.clone(), addr.clone(), var_dir, fmt, output);
         }