7得票2回答
点无风格编程版本会降低性能。

好的,原来我在程序代码中定义了这个函数: st_zipOp :: (a -> a -> a) -> Stream a -> Stream a -> Stream a st_zipOp f xs ys = St.foldr (\x r -> st_map (...

45得票7回答
在Haskell中执行布尔函数的“and”和“or”操作

我刚刚写了以下两个函数:fand :: (a -> Bool) -> (a -> Bool) -> a -> Bool fand f1 f2 x = (f1 x) && (f2 x) f_or :: (a -> Bool) -> (a...

7得票2回答
如何在使用点自由表示法时强制类型

你好,如何在组合方法时强制使用GHC类型,例如Data.Text.read或来自Text.Regex.Posix的=~运算符? 示例: a=["1.22","3.33","5.55"] 非点空间无法实现: b= map (\x-> read x ::Double) a 如何在点空间...

11得票2回答
实现一个函数来统计列表中每个元素的频率

我试图编写一个程序,可以统计列表中每个元素的频率。 In: "aabbcabb" Out: [("a",3),("b",4),("c",1)] 你可以在以下链接中查看我的代码:http://codepad.org/nyIECIT2 在这段代码中,unique函数的输出将如下所示。...

10得票4回答
Clojure中部分的简明语法

学习 Haskell 一段时间后,我爱上了 pointfree 符号以及特别方便的部分函数应用 - 只需提供你知道的参数。在 Clojure 中,我一直使用 partial。我认为在读取器中为部分函数应用定义一个特殊语法会很好。 看一下样例代码:; Notation with points:...

9得票2回答
Haskell - 这个平均数函数是如何工作的?

我发现了这个求平均函数的实现: avg :: [Int] -> Int avg = div . sum <*> length 这是怎么工作的?我查看了由 div . sum 生成的函数: (div . sum) :: (Integral a, Foldable t) ...

10得票1回答
Haskell中柯里化和无参函数风格的混淆问题

我试图实现这个函数every :: (a -> IO Bool) -> [a] -> IO Bool 这是这个问题的主题。我尝试在没有显式递归的情况下完成此操作,我得出了以下代码:every f xs = liftM (all id) $ sequence $ map f ...

8得票2回答
这是 JavaScript 中函数式镜头的位置吗?

我正在玩耍使用无参数风格的JavaScript,只是为了好玩。 假设我正在编写视频游戏Diablo,并且正在使用类似以下但更深层次和更复杂的嵌套类型来建模敌人: { name: "badguy1", stats: { health: 10: strength: 42 }, pos: {x:...

7得票2回答
能否有人解释一下 ((.)$(.)) (==) 1 (1+) 0 的含义?

我在 Haskell.org 上发现了这个点无风格函数,被称为“the owl”。 ((.)$(.)) 它的类型签名是 (a -> b -> c) -> a -> (a1 -> b) -> a1 -> c。 它等价于 f a b c...

17得票5回答
Haskell中的无点风格

我有这段代码,希望能够变成点分式; (\k t -> chr $ a + flip mod 26 (ord k + ord t -2*a)) 我该怎么做呢? 此外,除了“考虑这个并想出一些东西”之外,是否有一些点分式样式的通用规则?