What does sharing refer to in the implementation of a functional programming language
问题 Sharing means that temporary data is stored if it is going to be used multiple times. That is, a function evaluates it's arguments only once. An example would be: let x = sin x in x * x What other features contribute to sharing and how would they interact with the need for practical programs to perform IO? 回答1: The clearest example of sharing in functional programming comes from Clean, which is based on graph rewriting. There, a computation refers to a DAG, so we can view the expression (sin