Mark Thom

Results 89 comments of Mark Thom

I think all that Scryer is missing is SICStus' `imported_from` key of `predicate_property`.

The `add` puts the sum into an intermediary value vector that's read by `is/2`.

My solution would introduce derived integer and rational types that would indeed be parameterized on an allocator type. The derived types would be composed of e.g. an `IBig` value and...

Ok, I'll submit a draft PR somewhat soon (in the coming weeks or months).

`IBig` and `UBig`, etc. could be parameterized with an additional allocator type but would be exported from the library as they are (i.e. without type parameters, as unparameterized type aliases)...

> Regarding the allocator type, what's your opinion on the trait definition? Do you plan to use the std::alloc::Allocator or a custom trait? IMO, we can use a custom trait...

The crash happens because `check_heap_limit` is called a second time, during the propagation of the first `check_heap_limit` exception, and `self.machine_st.block = 0` the second time, having been reset by the...

Should there be a specialized syntactic form for the introduction of partial strings? Something like `X = diff_string("abc")`, so that `X` unifies against `[a,b,c|Y]` (but `Y` remains free) maybe?

Partial strings were never allocated in the heap, no.. pointers in the heap owned string instances that were allocated with the global allocator.

The global inference count includes the intermediary calls in the toplevel when backtracking. That's the reason for the gap 2 - 264.