source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7"
+[[package]]
+name = "base64"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff"
+
[[package]]
name = "bit-set"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2bc8af4bda8e1ff4932523b94d3dd20ee30a87232323eda55903ffd71d2fb017"
dependencies = [
- "base64",
+ "base64 0.11.0",
"blake2b_simd",
"constant_time_eq",
"crossbeam-utils",
name = "scryer-prolog"
version = "0.8.126"
dependencies = [
+ "base64 0.12.3",
"blake2",
"chrono",
"cpu-time",
code.push(Self::add_index(code.is_empty(), index));
}
}
- &Constant::String(_) => {
- let is_initial_index = self.lists.is_empty();
- self.lists.push(Self::add_index(is_initial_index, index));
- }
&Constant::Usize(n) => {
let code = self.constants
.entry(Constant::Integer(Rc::new(Integer::from(n))))
let is_initial_index = code.is_empty();
code.push(Self::add_index(is_initial_index, index));
}
- &Term::Cons(..) => {
+ &Term::Cons(..) | &Term::Constant(_, Constant::String(_)) => {
let is_initial_index = self.lists.is_empty();
self.lists.push(Self::add_index(is_initial_index, index));
}
let is_initial_index = code.is_empty();
code.push(Self::add_index(is_initial_index, index));
}
- _ => {}
+ _ => {
+ }
};
}
&Addr::Float(f) => {
Some(Constant::Float(f))
}
- &Addr::PStrLocation(h, n) => {
- let mut heap_pstr_iter =
- machine_st.heap_pstr_iter(Addr::PStrLocation(h, n));
-
- let buf = heap_pstr_iter.to_string();
- let end_addr = heap_pstr_iter.focus();
-
- if end_addr == Addr::EmptyList {
- Some(Constant::String(Rc::new(buf)))
- } else {
- None
- }
- }
&Addr::Usize(n) => {
Some(Constant::Usize(n))
}