New domains for CiaoPP and how to add new properties #93
Replies: 3 comments 4 replies
-
Hi Gianluca, |
Beta Was this translation helpful? Give feedback.
-
Thanks Manuel, I will take profit from your kindness and ask you another question. From what I have understood, in PLAI the exit substitution of a clause is transformed into the success substitution of the calling goal in a two way process:
For several reasons, I would like to do the opposite: first compute the success substitution from the exit one, and later, if it is needed, project the success substitution onto a subset of the variables to obtain the Prime. This is possible in the special case in which the clause is a fact, when PLAI calls the predicate Thanks again for your support! --gianluca |
Beta Was this translation helpful? Give feedback.
-
Hi, Now, I am doing some refinements and optimizations, and I would like to use the Ciao Profiler to test alternative implementations of some operations. However, I don't understand how to enable it. Just as an example, I wrote the following module: :- module(a, [], [profiler]).
:- cost_center pippo/2.
:- export(pippo/2).
pippo(2,3). Whenever I try to load it in Ciao, I always get the error:
I tried to change the configuration of Ciao with I think I am doing something fundamentally wrong. --gianluca |
Beta Was this translation helpful? Give feedback.
-
Hi all,
I am developing new abstract domains for the PLAI analyzer. In particular, I am working on:
All the development is happening in my fork of CiaoPP (https://github.com/amato-gianluca/ciaopp). Once development is over, I would be glad to merge the changes in the original repository, in case you are interested.
For the moment, I have a problem with the last domain. The properties which can be expressed with King's domain are quite sophisticated, and cannot be simulated using a combination of mshare, linear and other builtin assertions of CiaoPP. Therefore, in order to provide precise input to the analyzer, I would like to introduce a new property (let's call it shlin2) for use in entry assertions, such as:
:- entry example(U, V): shlin2([ ([U,V],[]), ([U], [U]) ])
is there a way to introduce the new property by only changing CiaoPP, without touching the core Ciao Prolog ?
Thanks,
--gianluca
Beta Was this translation helpful? Give feedback.
All reactions