The current engine assumes that Substitution.Info is in storage but this means that we need to clear the substitutions after every call to Prolog.query(). I think it would be better to store substitutions in memory because we don't really need to persist them between contract calls.
Another disadvantage of having them in storage is that functions that would not otherwise modify contract state cannot be view or pure.
The current engine assumes that
Substitution.Infois in storage but this means that we need to clear the substitutions after every call toProlog.query(). I think it would be better to store substitutions in memory because we don't really need to persist them between contract calls.Another disadvantage of having them in storage is that functions that would not otherwise modify contract state cannot be
vieworpure.