Finished LP Chapter#5
Conversation
juergengiesl
left a comment
There was a problem hiding this comment.
The description of the "logic programming" category is very nice and helpful. Here are some comments and questions:
- Concerning the LP Syntax: There may be a confusion between the brackets ( ... ) on the object level and the brackets ( ... ) needed for the EBNF grammar. Moreover, are there still examples in the TPDB that use b and f (or g and a) instead of i and o?
- Concerning the list notation in Ex. 6: This reads as if the notation with "cons" and "nil" is equivalent to the notation with [] and [ ... | ... ]. But in actual Prolog, this only works for the notation with '[|]' and []. Similarly, the notation of tuples with ( ... ) and with "tuple" is also not equivalent in actual Prolog. Moreover, it may be confusing that x_{TB} and x_{I} are identified with TB and I.
- When describing the occurs-check in Sect 2.4.1, one should add that unification of x and t should only fail if t contains x and t is not equal to x.
- According to the current description of the rules for logic programming on https://termination-portal.org/wiki/Logic_Programming, for examples where the termination behavior depends on the occurs-check, both YES and NO are valid answers. Shouldn't we keep it like that to prevent tools that were considered "correct" before to become "incorrect"?
- I think that we also need a description to distinguish the categories "logic programming", "logic programming with cut", and "Prolog".
The old description says "Following the treatment of overflows in the Java categories". However, I'm not aware of such a rule for Java. The description of the rules for Java is very vague. I think we should fix the intended semantics (or, alternatively, forbid such examples). Having examples where any answer is accepted seems strange to me.
That would be nice, indeed, but these categories are demo categories, so presumably, they won't run this year. |
I used colours to distinguish the two: red for the object level and black for the grammar. Perhaps this should be explained explicitly in Section 6.2.
I did a quick check while writing the chapter, and it seemed that only i and o are used in the TPDB.
I’ll try to clarify this.
Right.
I do not have a strong opinion on this, but, like Florian, I find it somewhat unusual to have examples for which both YES and NO are considered valid answers. |
No description provided.