You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Nullary (0-arity) predicates don't really fit the ORM model. Currently, it is possible to declare nullary predicates in clorm by simply not specifying a parameter to the predicate class definition.
class P(Predicate): pass
But this creates a predicate sub-class only to match a single proposition "p" and every python instance of P will match the same predicate. If you have a lot of nullary predicates in your ASP program then you have to create a class for every one of them. This is very heavy handed and doesn't make it very useful to integrate into clorm queries.
So we need a better way to deal with nullary predicates. Currently, I don't have a clear idea. Maybe create a special case NullaryPredicate class to store arbitrary nullary predicates (eg., "p","q","r","s", ...). But integrating it into the factbase query language might still be very hacky.
The text was updated successfully, but these errors were encountered:
Nullary (0-arity) predicates don't really fit the ORM model. Currently, it is possible to declare nullary predicates in clorm by simply not specifying a parameter to the predicate class definition.
But this creates a predicate sub-class only to match a single proposition "p" and every python instance of
P
will match the same predicate. If you have a lot of nullary predicates in your ASP program then you have to create a class for every one of them. This is very heavy handed and doesn't make it very useful to integrate into clorm queries.So we need a better way to deal with nullary predicates. Currently, I don't have a clear idea. Maybe create a special case NullaryPredicate class to store arbitrary nullary predicates (eg., "p","q","r","s", ...). But integrating it into the factbase query language might still be very hacky.
The text was updated successfully, but these errors were encountered: