UWN
UWN
Since Ichiban is currently one of actively developed ISO adhering system with bounded integers that are also checked, I can only ask the following question about [`succ/2](https://www.complang.tuwien.ac.at/ulrich/iso-prolog/prologue#succ) to you: ```...
What is the precise relation of ichiban to ISO? The reason for this question are issues like the following. [It is stated](https://github.com/ichiban/prolog/blob/main/README.md) that `false/0` is not ISO. However, since [Cor.2:2012](http://www.complang.tuwien.ac.at/ulrich/iso-prolog/dtc2#false)...
``` ?- setof(t,(L=2;L=1),L). error(type_error(list,1),sort/2), unexpected. type_error(_,_), unexpected. false. % expected ``` At first this might seem counter intuitive given the template and modes in 8.10.3.2 `setof(?term, +callable_term, ?list)`. But note...
This seems to be one of the reasons for #1269. ``` ulrich@p0:~/scryer$ cat arith_leak.pl p7(X0) :- X1 is -X0, p7(X1). p8(X0) :- neg(X0,X1), p8(X1). neg(1,-1). neg(-1,1). p9(X0) :- neg9(X0,X1), p9(X1)....
Currently I would like to compare the main and rebis-dev branch. The way I do this is to `checkout -` and `cargo build --release` which takes a lot of time....
``` ulrich@p0:/opt/gupu/scryer-prolog$ ulimit -v 50000 ulrich@p0:/opt/gupu/scryer-prolog$ target/release/scryer-prolog -f ?- use_module(library(between)). true. ?- between(1,100000,I),I
``` ulrich@g1:~$ ulimit -v 99999 ulrich@g1:~$ /opt/gupu/scryer-prolog/target/release/scryer-prolog -f ?- use_module(library(between)). true. ?- G_0=false,between(1,100000,I),findall(t,G_0,R). G_0 = false, I = 1, R = [] ; G_0 = false, I = 2, R...
``` test(2^N, Version) :- length(_,N), N > 17, BN is 2^N, length(L, BN), time(t(Version, L)). t(call,L) :- call(unify_with_occurs_check(L),V), V \= []. t(direct,L) :- unify_with_occurs_check(L,V), V \= []. ?- test(E,direct). %...
Here is an other use case of `'$skip_max_list'/4`, which currently does not work in Scryer. The idea is that the two lists form a difference, with the second being the...
The best seems to be to currently export `(-->)/2` such that it cannot be redefined. And to produce an error in case it is called. Thus: ``` ?- asserta((a-->b)). true,...