|
|
|
|
|
by tom_mellior
2418 days ago
|
|
> The problem is, once you introduce a non-logical predicate, everything in the call stack "above" it is tainted and rendered non-logical. That's a very general statement. The non-logical behavior can be well-contained and unobservable from the outside. For example, the nice and pure if_/3 internally uses both of the non-logical predicates (->)/2 and (==)/2. Yet viewed from the outside it doesn't taint anything. > And at that point you step back and ask why you're even using prolog. As I wrote above, because I think even used imperatively it's a very convenient language for expressing matching and transformation of trees. And DCGs are great as well, I agree. |
|