【发布时间】:2016-10-20 01:56:53
【问题描述】:
我正在学习 Clojure 和一般的函数式编程(来自 python)。在 Clojure 中,可以创建不纯函数,因为您可以使用 slurp 和其他输入方式。有没有办法在 Clojure 中轻松识别不纯函数,或者只是将这些函数保存在代码的单独部分中?
【问题讨论】:
-
不是,不是。无论如何,您将如何定义“不纯函数”?
memoize不纯吗?memoize返回的函数呢?还是在内部使用transients 的引用透明函数? -
Clojure 不是纯粹的 FP 语言,例如 Haskell。如果这对您很重要,那么 Clojure 不是正确的选择。
-
@MichielBorkent:纯洁对我来说并不重要,我只是觉得如果能区分纯洁和不纯洁的部分会很有趣。
标签: clojure functional-programming