两个看似相同的定义;一个编译,另一个不编译

时间:2015-03-13 15:02:45

标签: haskell

此代码:

import Control.Monad.Trans
liftIOToApp = lift

给出了这个错误:

No instance for (MonadTrans t0) arising from a use of `lift'
In the expression: lift
In an equation for `liftIOToApp': liftIOToApp = lift

但是在向双方添加一个论点之后,它编译得很好:

import Control.Monad.Trans
liftIOToApp a = lift a

liftIOToApp的这两个定义似乎与我相同。请解释一下。

0 个答案:

没有答案