6

関数型プログラミングで「参照透過」という用語との関連で使用される場合、「観察不能」という用語の意味は何ですか?

4

1 に答える 1

15

ご存知かもしれませんが、「参照透過性」という用語は、式の値がその部分のにのみ依存し、それらに関する他の事実には依存しないことを意味します。

たとえば、次のものに依存することはできません。

  • 式の一部がすでに評価されているかどうか (怠惰な言語で)
  • 2 つの等しい値が共有されている (メモリ内の同じ場所へのポインターである) かどうか
  • データ構造が循環的 (つまり、そのポインターが循環を作成する) かどうか

プログラムの現在の状態に関するこれらの事実はすべて、真か偽かのどちらかですが、それらに応じて値を変更できる式はありません。したがって、それらは非観察可能と呼ばれます。

このウェブコミックreddit での議論も参考になるかもしれません。

于 2011-01-31T05:32:54.500 に答える