UWN
UWN
Related: https://github.com/mthom/scryer-prolog/issues/1803
A comparison with SICStus: ``` ?- nth1(I,[1+2+3+4,_^_^_^_^_,1^2^3^4^nil,[1,2,3,4],[_,_,_,_]],T),between(0,5,D),write(I-D),write(' '),write_term(T,[max_depth(D)]),nl,false. % SICStus Scryer 1-0 1+2+3+4 1-0 1+2+3+4 1-1 ... + ... 1-1 ... + ... +4 1-2 ... + ... +4 1-2...
Here is probably the smallest incorrect term: ``` ?- write_term([_,_|_],[max_depth(1)]). [_535624,...] true, unexpected. ```
What does a `...` stand for? In an abbreviated term, it either stands for itself (should the program itself use this atom), or it stands for another non-variable term. Variables...
IF/Prolog had `exception_handler/3`, but so far I have not seen this in any other system. Also, it is not that evident that systematic replacement of some kind of errors is...
... but, imposing a global restriction would imply that one knows all other uses.
As long as #1714 is open,... But at least you could consider `'$max_skip_list'/3` for this purpose (of the last `... //0`)
> > As long as #1714 is open,... > > What happens as long as #1714 is open? ... there is some space overhead just for reading a partial string...
This `X = 64.` still looks strange to me.
@flexoron: Ad `domain_error`: In general, a domain error may be produced by a built-in predicate like `popcount/2`, **but not** by arithmetic evaluation alone. Thus SWI's ``` ?- catch(X is popcount(-1),error(E,_),...