17得票3回答
以点无形式编写代码:f x = g x x。

我正在学习Haskell。非常抱歉问一个非常基础的问题,但我似乎找不到答案。我有一个由以下方式定义的函数f:f x = g x x 如何以点式风格编写已定义了两个参数的函数g?编辑: 不使用lambda表达式。谢谢。

17得票1回答
理解pointfree代码的帮助

在尝试使用Pointfree期间,我遇到了一段代码,但似乎无法理解。:pl map (\x -> x * x) [1..10] -- map (join (*)) [1..10] 我的主要问题是我不太明白这里的join函数是如何工作的。我了解它可以"去除"单子包装的一层(从m (m a)...

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

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

17得票1回答
点无风格编程的性能影响

我正在学习使用F#学习函数编程,并且刚刚接触到了 Forward Pipe(|>)和 Forward Composition(>>)运算符。起初,我认为它们只是语法糖,而不是对最终运行代码产生影响的(尽管我知道管道有助于类型推断)。 但是我遇到了这篇SO文章: What are advant...

16得票1回答
为什么我的函数的 pointfree 版本会使用更多的内存?

我正在解决一个欧拉计划问题,最终得到了一个包含以下函数的Haskell文件:matches :: (a -> a -> Bool) -> a -> [(a, Int)] -> Int matches f cs = foldr (\(cs', n) a -> ...

16得票2回答
有没有更好的方式用无点符号表示绝对误差函数?

在点实际符号表示下: absoluteError x y = abs (x-y) 一个不清楚的点无符号示例: absoluteError' = curry (abs . uncurry (-))

15得票2回答
Haskell中的参数数量和无参函数

即使使用点除法,多个模式匹配也不可能具有不同数量的参数!foo True b = b + 2 foo _ = id 举例来说,它不能正常工作。但是foo True = (+2) foo _ = id 有时我们只能在函数的某一部分中使用无点风格(point-free),为什么呢?这是 GHC 处...

15得票2回答
Haskell中是否可以使用点免模式匹配?

给定:data TwoInts = TwoInts Int Int add'em :: TwoInts -> Int add'em (TwoInts a b) = a+b 是否有可能写出不需要命名a和b的add'em函数。例如: add'em TwoInts = (+) -- (No...

14得票1回答
可变参数组合函数?

我正在尝试编写一个可变参数函数组合函数。它基本上相当于 (.),只是第二个参数函数是可变参数的。这应该允许像下面这样的表达式:map even . zipWith (+) 或者只是map even . zipWith 目前我所达到的效果需要添加 IncoherentInstances,并且需要...

14得票6回答
使用“if”创建一个无点函数

我正在学Haskell(不,这不是我的作业,我正在为考试学习)。 任务是: 编写一个无参数函数numocc,用于计算给定列表中元素的出现次数。例如:numocc 1 [[1, 2], [2, 3, 2, 1, 1], [3]] = [1, 2, 0] 这是我的代码:addif :...