From: Mark Thom Date: Fri, 1 May 2020 07:34:09 +0000 (-0600) Subject: map single character atoms down to characters in constant_index X-Git-Tag: v0.8.123~84 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=847a92f580d3aad9f4c723731026225a8bf6f40d;p=scryer-prolog.git map single character atoms down to characters in constant_index --- diff --git a/src/prolog/machine/machine_indices.rs b/src/prolog/machine/machine_indices.rs index 3c585d76..f35e76f6 100644 --- a/src/prolog/machine/machine_indices.rs +++ b/src/prolog/machine/machine_indices.rs @@ -248,7 +248,10 @@ impl Addr { } &Addr::Con(h) => { match &machine_st.heap[h] { - &HeapCellValue::Atom(ref name, ref op) => { + &HeapCellValue::Atom(ref name, _) if name.is_char() => { + Some(Constant::Char(name.as_str().chars().next().unwrap())) + } + &HeapCellValue::Atom(ref name, _) => { Some(Constant::Atom(name.clone(), None)) } &HeapCellValue::Integer(ref n) => {