scryer-prolog
scryer-prolog copied to clipboard
A modern Prolog implementation written mostly in Rust.
With the following program: :- use_module(library(format)). p(ID, N) :- format("~w (~w)... ", [ID,N]). I get: ?- p(3, 5). error(domain_error(write_option,'A'=3),write_term_to_chars/3), unexpected. It works as expected in `master`: ?- p(3, 5). 3...
Example: ?- write_term(A, [variable_names(['A'=A])]). _69576 true. Regression from master.
``` ?- catch((length(L,N),L=N),error(E,Imp_def),true). throw(resource_error(memory)), unexpected. E = resource_error(memory), ... . % expected, but not found
I collect here issues that the heap-inlined and simpler string representation of *rebis-dev* **is expected** to address, but currently does not address: - looking at a string leaks memory #1714 **EDIT**:...
https://github.com/mthom/scryer-prolog/discussions/2569 states: "The heap now uses a bit vector to track locations of partial strings in the heap. It's **written to whenever the heap is**, ..." It seems the number...
[François Fages](https://lifeware.inria.fr/wiki/Fages/HomePage) provides metapredicates for mathematical modeling in the following package: **https://lifeware.inria.fr/~fages/modeling-1.1.5.zip** Especially for you @bakaq, @hurufu, @jjtolton and everyone who has expressed interest in constraints and meta-predicates, it may...
For example: ?- use_m + TAB should expand to: ?- use_module This works in `master`.
As in the title, `getenv/2` doesn't enumerate all environment variables: ```prolog ?- use_module(library(os)). true. ?- getenv(K, V). error(instantiation_error,must_be/2). ``` This reduces usefulness of said predicate. The possible workaround is to...
``` ?- Z = .\\ + //. . Z = .\\ + //.. % unexpected, expecting Z = .\\ + //. . ?- ```
Example: $ scryer-prolog -g 'write("1\x0\2"),halt' > x Yielding: $ cat x [1,2] For comparison: $ scryer-prolog -g 'write("1\x1\2"),halt' > x $ cat x [1,\x1\,2] Probably thanks to #24.