From: Mark Thom Date: Fri, 10 Aug 2018 00:23:47 +0000 (-0600) Subject: print equations lexographically by variable name, re: #26 X-Git-Tag: v0.8.110~432 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=00d4ef7ad8fa1974f0f95f98333774ec3362c9e2;p=scryer-prolog.git print equations lexographically by variable name, re: #26 --- diff --git a/src/prolog/machine/mod.rs b/src/prolog/machine/mod.rs index 734baedc..d37f0055 100644 --- a/src/prolog/machine/mod.rs +++ b/src/prolog/machine/mod.rs @@ -481,7 +481,10 @@ impl Machine { pub fn heap_view(&self, var_dir: &HeapVarDict, mut output: Outputter) -> Outputter where Outputter: HCValueOutputter { - for (var, addr) in var_dir { + let mut sorted_vars: Vec<(&Rc, &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); }