新闻  |   论坛  |   博客  |   在线研讨会
VM600 CPUM接受用户输入和打印到屏幕上
15359029662 | 2023-03-20 18:52:31    阅读:94   发布文章

VM600 CPUM接受用户输入和打印到屏幕上

VM600 CPUM接受用户输入和打印到屏幕上

有些任务(例如,维护****账户余额)似乎最自然地由状态来实现。纯函数式编程以不同的方式执行这些任务和I/O任务,如接受用户输入和打印到屏幕上。

纯函数式编程语言哈斯克尔使用实现它们单子,源自范畴论[79]单子提供了一种方法来抽象某些类型的计算模式,包括(但不限于)以命令的方式对具有可变状态(和其他副作用,如I/O)的计算进行建模,而不会失去纯粹性。虽然现有的单子可能很容易在程序中应用,但给定适当的模板和示例,许多学生发现它们很难在概念上理解,例如,当要求定义新单子时(某些类型的库有时需要这种定义)。[80]

函数式语言也通过传递不可变的状态来模拟状态。这可以通过让一个函数接受状态作为它的一个参数,并返回一个新的状态和结果,保持旧的状态不变来实现。[81]

不纯的函数式语言通常包含一个更直接的管理可变状态的方法。Clojure例如,使用可通过将纯函数应用于当前状态来更新的托管引用。这种方法支持可变性,同时仍然提倡使用纯函数作为表达计算的首选方式。[需要引用]

替代方法,如霍尔逻辑独特性已经被开发出来跟踪程序中的副作用。一些现代研究语言使用效果系统让副作用显而易见


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客