在 Java 或其他 OO/非函数式语言中表示复杂真值表的最佳方式是什么?
我正在实现许多复杂的业务逻辑,这些逻辑以真值表/业务规则矩阵表示。过去,实施这些规则通常会导致大量 if...else 语句。我不禁认为函数式语言有助于…
“具体化”是什么?和“具体化”在(函数式?)编程的上下文中意味着什么?
我在有关 haskell 和函数式编程的博客中读过很多这个术语(特别是在 sigfpe 的博客 中),但我不知道了解它的含义。大多数时候我都不知道,但如果我知…
从第一个元素列表数据结构进行功能 O(1) 追加和 O(n) 迭代
我正在寻找一种支持以下操作的函数式数据结构: 追加,O(1) 按顺序迭代,O(n) 普通函数链表仅支持 O(n) 追加,而我可以使用普通的 LL 和然后反转它,…
Scala 类型:如何确保数字类型
我在 Scala 中遇到一个打字问题的小问题。在 Haskell 中,我可以这样做: add :: (Num a) => (a,a) -> (a,a) -> (a,a) 这样,我可以将任何数字类型放…
为什么在列表列表上应用“序列”会导致计算其笛卡尔积?
我的问题是关于 Prelude 中的 sequence 函数,其签名如下: sequence :: Monad m => [m a] -> m [a] 我了解此函数如何用于 List of 也许。例如,对 [J…
“foop”:命名约定?它是“foo”的辅助递归函数;后缀“p”是什么意思意思是?
我遇到了以下代码片段(函数定义): choose (x:xs) = choosep x xs where choosep x [] = x choosep x (_:_) = x choosep _ (x:xs) = choosep x xs …
用 Scala 编写一个实用且实用的图像处理库
我们正在为 Scala 开发一个小型图像处理库(学生项目)。该库功能齐全(即没有可变性)。图像的栅格存储为 Stream[Stream[Int]],以便以最少的努力利…
为什么这个 F# 内部函数不是尾递归的?
如果我使用非常高的初始 currentReflection 值调用此函数,则会出现堆栈溢出异常,这表明该函数不是尾递归的(正确吗?)。我的理解是,只要递归调用…
F# 在哪些领域“使用绝对没有意义”?
Closed. This question is opinion-based. It is not currently accepting answers. 想要改进这个问题?更新问题,以便可以通过编辑这篇文章用事实和…
除了第一类函数和词法作用域之外,JavaScript 与Scheme 实现还有什么共同之处?
我一直想知道为什么 Douglas Crockford 不断将 JavaScript 与Scheme 进行比较。是的,JS 的设计者本来打算将其设计为Scheme;但是,除了一流的函数支…