- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在重用 lambda 表达式,例如
\x -> (f x, g x)
combine :: (a -> b) -> (a -> c) -> a -> (b,c)
combine f g x = (f x, g x)
combine f g
.我有两个问题。
最佳答案
Control.Arrow
有功能 (&&&)
为了这。它有一个“更通用”的类型,不幸的是,这意味着 Hoogle 没有找到它(也许这应该被认为是 Hoogle 中的一个错误?)。 pointfree
自动计算出这种情况。 , 其中 lambdabot
在 #haskell
有作为插件。 <shachaf> @pl combine f g x = (f x, g x)
<lambdabot> combine = liftM2 (,)
liftM2
与
(r ->)
Monad
的实例有类型
(a -> b -> c) -> (r -> a) -> (r -> b) -> r -> c
.当然,根据您允许的原语,还有许多其他的无点编写方式。
关于haskell - Pointfree(或库)函数,用于将两个函数应用于单个输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14350871/
我正在尝试移植以下 Haskell 代码 (http://codepad.org/MMydRCxo) foo :: Int -> Int -> Int -> Maybe Bool foo a b c
好吧,事实证明我在我的程序代码中定义了这个函数: st_zipOp :: (a -> a -> a) -> Stream a -> Stream a -> Stream a st_zipOp f xs
我有一个函数对象: const src = { foo: str => str.toUpperCase(), bar: str => str + str, baz: str => str.
下面的函数createTuple可以表示为pointfree吗? let createTuple = fun v -> (v, v*2) createTuple 2 |> printfn "%A" /
我想编写一个 Haskell 函数,它返回一个附加到自身计数时间的列表(如 Python 中的 lst * count)。 我的第一次尝试是: self_append_n :: Int -> [a]
在 Haskell 中,我定义了一个乘法表生成器函数,如下所示: multTable :: [[Int]] multTable=map (\b -> map (b*) [1..12]) [1..12]
Learn You a Haskell使用以下 Prob 类型讨论“制作 Monad”: import Data.Ratio newtype Prob a = Prob { getProb :: [(
当参数应该散布在柯里化(Currying)组合函数中时,我试图弄清楚是否存在编写无点组合函数的模式 即(使用 Ramda): add_1_and_multiply = (add, mul) => R.
我想知道我是否可以像这样使用 Swift/RxSwift 来使用 pointfree-style: class MyClass { private let ageService: Observa
我一直在重用 lambda 表达式,例如 \x -> (f x, g x) 我将相同的输入应用于两个函数并将结果封装成一对。我可以写一个函数来捕捉这个 combine :: (a -> b) -> (
我有这个功能 rulesApply :: [PhrasePair] -> Phrase -> Phrase rulesApply pp = try (transformationsApply "*"
pointfree 函数可以返回一个元组吗?例如,以下是否可以用 pointfree 风格编写(其中 f1、f2 和 f3 已被定义): (\t -> (f1 t, f2 t, f3 t)) 在这种情
我想定义一个函数来计算列表中满足给定谓词的元素数量: number_of_elements :: (a -> Bool) -> [a] -> Int number_of_elements f
我怎样才能使以下函数成为 pointfree(使用 Ramda)? const prefixAll = R.curry((prefix, list) => R.map(R.concat(prefix)
可以this完成 pointfree 了吗? var joinByKey = R.curry(function(key, model){ return R.assoc(key, R.join(
我有一些谓词,例如: is_divisible_by_13 = lambda i: i % 13 == 0 is_palindrome = lambda x: str(x) == str(x)[::-
我正在以无点风格查看 Haskell 中的一些函数。在尝试重写一些简单的示例时,我卡在了这个上 func a b c d = sum $ take 2 $ sort [a, b, c, d] 如何将参
我在 ramda.js 中编写 pointfree 风格的函数时遇到问题,想知道是否有人可以帮助我。 getEnv 函数读取环境变量,如果找不到,则将其记录到控制台。 这是我的代码 const env
当我尝试以 pointfree 风格编写 JavaScript 时,我发现如果强制每个函数都采用这种风格,有时会失去其可读性。例如: import R from 'ramda' const ceil
鉴于下面的功能,如何将其转换为无点样式?使用 Ramda 的 prop 会很好和 path并跳过数据参数,但我无法弄清楚正确的语法。 const mapToOtherFormat = (data) =
我是一名优秀的程序员,十分优秀!