Haskell 中有态射吗?
我有一些 GADT,它代表 lambda 演算中的一个术语。 data Term a = Var a | Lambda a (Term a) | Apply (Term a) (Term a) 我想做的是有一个用于该类型…
组合序列元素的最简洁方式
假设我们有两个序列,并且我们想要使用某种方法将它们组合起来, val a = Vector(1,2,3) val b = Vector(4,5,6) 例如加法可以是 val c = a zip b map …
以函数式风格制作的 Conjoin 函数
最近,在阅读Python“函数式编程HOWTO”时,我遇到了其中提到的 test_generators.py 标准模块,我在其中找到了以下生成器: # conjoin is a simple ba…
F# 中的 Java 静态导入类似吗?
来自 Haskell,我想知道是否有一种方法可以避免每次我想使用 map 时都必须编写完整的 List.map。 有没有像Java的静态导入之类的东西,让我只能写map?…
如何将函数式编程语言集成到 Java 或 C# 中?
Closed. This question needs to be more focused. It is not currently accepting answers. 想要改进这个问题吗?通过编辑这篇文章来更新问题,使其…
我可以使用 setTimeout 创建一个廉价的无限循环吗?
var recurse = function(steps, data, delay) { if(steps == 0) { console.log(data.length) } else { setTimeout(function(){ recurse(steps - 1, da…
在 Haskell 中使用随机数显示整数算术时出现问题
假设我想在 Haskell 中生成一个随机数。为此,我将利用 randomRIO (0, 10) 它为我生成一个 0 到 10 之间的数字。它的类型是 randomRIO (0,10) :: (Ran…
F# Seq.sort 是否返回输入序列的副本?
以下是 F# 中的一些(我自己)意想不到的行为。我有一个对序列进行排序的简单类: type MyQueue ( values : 'a[] ) = let vals = Seq.sort values mem…
SML 中的递归匿名函数
是否可以在 SML 中编写递归匿名函数?我知道我可以使用 fun 语法,但我很好奇。 我已经写了,作为我想要的例子: val fact = fn n => case n of 0 => …
如何根据一组列表中的每个值创建元组列表
我想根据一组列表中的每个值创建一个元组列表。列表集可以打开,但对于示例,我有以下三个字符串列表。 L1: (one, two three) L2: (a, b, c) L3: (yes…