所有会改变状态的 Racket 程序是什么? 我正在尝试创建一个副作用尽可能少的程序
所以,我会做类似的事情:
#lang racket/base
(provide (except-out (all-from-out racket/base) set! …more here…))
除了set我还应该排除什么! ? 是否有所有不纯函数的完整列表?
哦,该程序还使用了#lang racket/gui(据我所知,这主要是不纯的)。所以这可能很棘手......
谢谢。
最佳答案
Racket 中没有预先构建的非纯函数列表。 如果您只是避免使用任何带有!在名字中,你会亲近。
请注意,您可以使用可变数据结构并仍然以纯函数式方式进行编程 - 只要您不改变它们。
关于functional-programming - 纯功能性 Racket ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23583035/