为什么不能在 PURE 过程中使用 INQUIRY 语句

Why can't INQUIRY statements be used inside PURE procedures

我看到 INQUIRE 语句在 PURE 过程中是不允许的。为什么会这样? INQUIRE 语句不是没有任何副作用,因此它本身就是 PURE 吗?

我并不假装对语言标准委员会或其成员的工作有任何了解,所以这是我对情况的解读:

查询语句可能没有副作用,因为它们不会导致任何状态更改,但执行两次相同的查询语句并不能保证给出相同的答案。另一个进程可能会在两次查询之间删除一个文件。它(也许)是一种更微妙的杂质,但仍然是一种杂质。