mthom / scryer-prolog

A modern Prolog implementation written mostly in Rust.
BSD 3-Clause "New" or "Revised" License
1.93k stars 116 forks source link

freeze:freeze/2 display issue #2383

Closed flexoron closed 2 months ago

flexoron commented 2 months ago

$ scryer-prolog -v v0.9.4-38-g98371871

?- freeze((X),X is -(X*Y)), Y #= #(-1)*X, X #= #(-1)*Y.
   clpz:(-1*Y#=X), clpz:(-1*X#=Y), freeze:freeze(X,X is- (X*Y)). % is- unexpected
?- 
% is- looks ugly
UWN commented 2 months ago

This is unrelated to freeze/2. It is just about writing, and Scryer is fine here.

7.10.5 h 1:

In all cases, a space is output to separate an operator from its argument(s) if any ambiguity could otherwise arise.