작동하지 않습니다 적용되는 고차 함수를 두 번 주어진 함수에 인수입니다 :lambdabot 가입 제안하지만, 여기에
dapp :: (a -> a -> a) -> a -> a
dapp = \f x -> f x x
ghci> dapp (*) 5
25
우리가 짧은 것을 할 수 있습니까? 람다봇에게 물어 봅시다 :
lambdabot> @pl \f x -> f x x
join
만세!
import Control.Monad (join)
dapp :: (a -> a -> a) -> a -> a
dapp = join
을하지만 그것은 작동하지 않습니다 :(
No instance for (Monad ((->) a))
arising from a use of `join'
Possible fix: add an instance declaration for (Monad ((->) a))
In the expression: join
In an equation for `dapp': dapp = join
은 왜 내가 Hoogle 다른
join
를 찾을 수 없습니다 내가 잘못된
join
을 가져 오는 건가요 발생합니까
을 : 현실을 사용해보십시오?.
(->) r
에 대한
'Control.Monad.Instances'를 가져 오기만하면됩니다. 인스턴스가 존재한다고 생각합니다. –
@ 토마스 어떻게'Monad ((->) r)'인스턴스 만 선택적으로 가져올 수 있습니까? – fredoverflow
@FredOverflow 인스턴스를 선택적으로 가져올 수 없습니다. 당신은'Control.Monad.Instances()'를 가져올 수 있습니다.이 인스턴스는 모든 인스턴스를 가져오고 다른 것은 가져 오지 않습니다. –