Kauê Hunnicutt Bazilli
Kauê Hunnicutt Bazilli
This would possibly be useful in my project [constrained.pl](https://github.com/bakaq/constrained.pl) as a way to implement a `clpz:label`-like predicate for characters, strings and atoms. There is way too many chars to make...
Wow, I can't imagine how you found this, great catch! It seems it exits for any "terms" with spaces: ``` ?- [user]. a b. ?- [user]. asdf asdf. ?- ```...
Ideally we could write a fuzzer for this.
Currently not even the first module works: ```prolog ?- use_module(dyn1). error(syntax_error(invalid_head_of_rule),load/1). ?- use_module(dyn2). error(syntax_error(invalid_module_declaration),load/1). ``` From my tests it starts throwing an `syntax_error(invalid_head_of_rule)` at arity 1024. Maybe that's intentional? Currently...
Ok, from what I was able to understand by reading this, #95 and the source code at different points in time, ~it seems that Scryer once did implement partial strings...
> Partial strings were never allocated in the heap This makes more sense, thanks for the correction. I think this just adds to my point that implementing this as intended...
Or maybe that indicates that inlining the string is the wrong approach. I can see a lot of benefits that an indirection provides: - Avoids all of this _questionably legal_...
Ok, now that I've researched it a bit I think it's completely legal in Rust to just straight up interpret a part of the heap as a `&str`. I made...
Thinking more about this, I think using `*const u8` here is more useful, not only because of the lifetime issues I talked about above, but also because it enables partial...
> The internal encoding should be fixed to UTF-8, since supporting different internal encoding variants for strings is too error-prone. I was more thinking about "partial lists of bytes/octets", not...