($) :: (a -> b) -> a -> b
f $ x = f x
Run Code Online (Sandbox Code Playgroud)
要么
($) f x = f x
Run Code Online (Sandbox Code Playgroud)
要么
($) = id
Run Code Online (Sandbox Code Playgroud)
但我不明白为什么这个定义能够替换括号,所以我试图通过定义:自己重现并检查行为,
k :: (a -> b) -> a -> b
k f x = f x
Run Code Online (Sandbox Code Playgroud)
但我得到的是:
-- these work:
(+2) `k` 4
(+2) `id` 4
sum `k` [1,2]
sum `id` [1,2]
map (flip(-)3) $ filter even `k` filter (>=0) [-5..10]
map (flip(-)3) $ filter even `id` filter …Run Code Online (Sandbox Code Playgroud)