ridgeworks / clpBNR

CLP(BNR) module for SWI-Prolog
MIT License
38 stars 5 forks source link

Feature Request: Show interval range in graphical debugger #18

Closed kwon-young closed 1 year ago

kwon-young commented 1 year ago

Hello,

I use clpBNR a lot these days and I also use the graphical debugger of swi prolog a lot. However, the graphical debugger does not show the interval range of clpBNR constrained variables. It would simplify the debugging of constraints a lot if we could see them in the graphical debugger like normal constraints.

I noticed the other day that constraints from clpfd are correctly shown in the graphical debugger, so I suppose clpBNR constraints could be shown similarly.

Thank you a lot for your work on this library.

ridgeworks commented 1 year ago

I hadn't observed this as I don't use the graphical debugger (XWindows on MacOS isn't particularly stellar).

clpBNR supports a number of hooks pertaining to attributes (attr_portray_hook, project_attributes, attribute_goals, user:portray) but I guess the graphical debugger must use something different or an existing hook in a different way. Some investigation required.

ridgeworks commented 1 year ago

As a quick fix try:

?- set_prolog_flag(clpBNR_verbose, true).
true.

then try the graphical debugger again.

kwon-young commented 1 year ago

I've just tried your quick fix and it works.

Thank you very much for your help.

ridgeworks commented 1 year ago

Fixed in 0.11.1. Intervals displayed in graphical debugger in short or long form dependent on setting of flag clpBNR_verbose