-
What are the correct meta-predicate declarations for the following examples:
|
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 2 replies
-
Case (2) is #2444, isn't it? According to that logic, the first argument would be |
Beta Was this translation helpful? Give feedback.
-
You are over-stretching the capacities of meta-predicate declarations (as they exist in SICStus). You seem to expect that they have the full capacity of a type system. But they can cover only a small part of it. In both cases, a meta-predicate declaration does not make sense. That means that their In a way, meta-predicate declarations help to add the missing explicit qualifications. And, as long as everything can be expressed with them, they help to cross-reference code as well. Your cases are such that cross-referencing would be more complex. There have been some ad hoc extensions to meta-predicate declarations to allow lists of goals such as yours. I'd say staying on very shaky grounds. |
Beta Was this translation helpful? Give feedback.
You are over-stretching the capacities of meta-predicate declarations (as they exist in SICStus). You seem to expect that they have the full capacity of a type system. But they can cover only a small part of it. In both cases, a meta-predicate declaration does not make sense. That means that their
G_1
andG_2
should already be explicitly qualified. (I am somewhat tempted to say that the ensuingcall/2/3
should best insist on such an explicit qualification. But this would probably break a lot of code...)In a way, meta-predicate declarations help to add the missing explicit qualifications. And, as long as everything can be expressed with them, they help to cross-reference code as well. You…