我的子网站中有一个公开的函数(一个带有一个Text参数的简单函数,它执行IO操作,然后返回一个bool)。但每次我从我的主站点boolVal <- Sub.getVal "abc"
调用它时都会抛出以下错误:
Couldn't match type ‘Sub’ with ‘App’
Expected type: HandlerT App IO Bool
Actual type: HandlerT Sub (HandlerT master0 IO) Bool
子网站代码段
type SubHandler a = forall master. Yesod master => HandlerT Sub (HandlerT
master IO) a
getVal :: Text -> SubHandler Bool
getVal name = do
-- some operations including IO
return False
主网站代码段
import Sub
getHomeR :: Handler Html
getHomeR = do
boolVal <- Sub.getVal "abc"
defaultLayout $ do
$(widgetFile "home/index")
子网站路线工作正常,我愚蠢地认为SubHandler会在主应用程序中注册,神奇地,就像haskell ha中的大多数东西一样
谢谢
仅供参考我真的很感激这方面的技术答案,而不只是&#34;这些类型不匹配&#34;虽然我对类和实例声明的理解并不是那么好的atm - 在进展:))