【发布时间】:2011-11-19 16:50:42
【问题描述】:
我应该接受这个代码:
f x y z = x^3 - g (x + g (y - g z) + g (z^2))
where g x = 2*x^2 + 10*x + 1
并在没有 where(或 let)的情况下重写它。
他们的意思是用 Lambda 函数 (\x ->...)
我正在尝试在 Haskell 上重用 Lambda 函数。有什么想法吗?
【问题讨论】:
-
f = flip flip ((1 +) . ap ((+) . (2 *) . (^ 2)) (10 *)) . (flip .) . ap ((.) . (.) . (.) . (-) . (^ 3)) (((ap id .) .) . flip flip (flip id . (^ 2)) . (liftM2 (liftM2 (+)) .) . (. ((ap id .) . (. flip id) . (.) . (-))) . (.) . (.) . (+)): f 被 lambdabot 弄得毫无意义