Replies: 2 comments 1 reply
-
I think keeping this parts explicit (like in a show statement) is the way to go. |
Beta Was this translation helpful? Give feedback.
-
I also prefer making it explicit. But momentarily, I think I'd rather have it in an explicit part for post-processing.
One could amend the constructor for the Control object with a switch to turn post-processing on. Also, this would avoid littering the encoding with #show statements and maybe force a nice separation of core encoding and post-.processing. |
Beta Was this translation helpful? Give feedback.
-
Hi everyone,
As discussed in our last meeting, I will try to summarize my thoughts on post-processing.
Many of our applications use rules in the encoding that are only for post-processing and output formatting.
It is nice to write this post-processing logic in the same language as the encoding and being able to use the advanced features of gringo instead of writing more complicated imperative code.
Unfortunately, our current implementation has some shortcomings that often require our application to implement more complicated post-processing procedures.
For one, there are performance implications Show statements rework #477.
If propagators are used in the post-processing, we often want to include the information stored in the propagator. With the current implementation, it is not possible to access this information from the same encoding. To still use the features of the gringo lang sometimes a second grounding step is implemented.
This leads to the problem that if custom post-processing is applied, other components like the testing framework also need to be adjusted to this custom post-processing stage.
This could be avoided if we already provided good post-processing capabilities together with an interface to access the post-processed models.
In the future, we want to avoid duplicating solutions and reinventing the wheel. Therefore, I’d like to start a discussion to develop a design for a solution to these problems that can be reused in the various applications.
Goals
Questions
ngo
can detect such rules. On the other hand, we could use the #show directive or an explicit program part for post-processing.@daveraja @teiesti @susuhahnml
Beta Was this translation helpful? Give feedback.
All reactions