Vla*_*hev 7 functional-programming referential-transparency
一般来说,我很头疼因为我的推理出了问题:
对于1组参数,参照透明函数将始终返回1组输出值.
这意味着这样的函数可以表示为真值表(一组表为1组参数指定了一组输出参数).
这使得这些功能背后的逻辑是组合的(而不是顺序的)
这意味着使用纯函数语言(只有rt函数),可以只描述组合逻辑.
最后一个陈述来自这个推理,但它显然是错误的; 这意味着推理有误.[问题:这个推理在哪里出错?]
UPD2.你们这些人说的很多有趣的东西,但没有回答我的问题.我现在更明确地定义它.对不起弄乱问题定义!
问题:这个推理在哪里出错?
引用透明函数可能需要无限真值表来表示其行为.您将很难在组合逻辑中设计无限电路.
另一个错误:顺序逻辑的行为可以纯粹在功能上表示为从状态到状态的函数.在实现中这些状态在时间上顺序发生的事实并不妨碍人们定义纯粹的引用透明函数,该函数描述状态如何随时间演变.
您的推理中的错误如下:
“这意味着此类函数可以表示为真值表”。
您可以根据函数式语言的引用透明度属性得出这一结论。到目前为止,结论听起来似乎合理,但您发现函数能够接受集合作为输入并处理它们,这与逻辑门的固定输入形成鲜明对比。
因此,函数并不等于逻辑门,而是取决于实际(在运行时确定)输入的逻辑门的构造计划!
评论您的评论:函数式语言尽管无状态,但可以通过每次访问时从头开始构造状态来实现状态机。