Author malte
Recipients malte, rpgoldman, ukuter
Date 2012-02-16.17:18:41
Hi Robert, "either" is generally not supported (see The translator doesn't
even know that "either" is a keyword -- you would get the same error message if

(exists (?E - (either c_human c_exploit))
                    (controls_proc ?E ?P))

were replaced by

(exists (?E - (foobar c_human c_exploit))
                    (controls_proc ?E ?P))

The problem here (as in so many places) is lack of clear error reporting. The
parser expects that the thing after "?E - " -- in this case "(foobar c_human
c_exploit)" is an atomic name. Instead, it is a list. The translator doesn't
actually check that the thing it sees is an atomic name, but just happily
proceeds assuming that it is a valid typename. Later on, it tries to put this
typename into a dictionary, which it cannot, since lists (such as "(foobar
c_human c_explit)") are not hashable.

I'll look into improving the reporting here.
Date User Action Args
2012-02-16 17:18:41maltesetmessageid: <>
2012-02-16 17:18:41maltesetrecipients: + malte, rpgoldman, ukuter
2012-02-16 17:18:41maltelinkissue323 messages
2012-02-16 17:18:41maltecreate