相关疑难解决方法(0)

我怎么能理解"(.).(.)"?

我相信我对fmap . fmapFunctors 了解,但是在功能方面它已经让我头疼了好几个月了.

我已经看到你可以只应用(.)to 的定义(.) . (.),但我忘了怎么做.
当我自己尝试时,它总是错误的:

(.) f g = \x -> f (g x)
(.) (.) (.) = \x -> (.) ((.) x)
\x f -> (.) ((.) x) f
\x f y  -> (((.)(f y)) x)
\x f y g-> (((.)(f y) g) x)
\x f y g-> ((f (g y)) x)
\x f y g-> ((f (g y)) x):: t2 -> (t1 -> t2 -> t) -> t3 …
Run Code Online (Sandbox Code Playgroud)

haskell functional-programming pointfree

33
推荐指数
3
解决办法
2141
查看次数

Haskell函数组成,(.)(.)的类型以及它是如何呈现的

所以我知道:

(.) = (f.g) x = f (g x)
Run Code Online (Sandbox Code Playgroud)

它的类型是(B-> C) - >(A-> B) - > A-> C但是怎么样:

(.)(.) = _? = _?
Run Code Online (Sandbox Code Playgroud)

这是如何表示的?我想到了:

(.)(.) = (f.g)(f.g)x = f(g(f(g x))) // this
(.)(.) = (f.g.h)x = f(g(h x)) // or this
Run Code Online (Sandbox Code Playgroud)

但就我试图获得它的类型而言,GHCi告诉我的不正确.那么什么都是"_?"

另外 - 函数/运算符$做什么?

haskell types function-composition operator-keyword

3
推荐指数
2
解决办法
1988
查看次数