0

我正在开发一个基于 Yesod 的网站。我一直在在线阅读 Yesod 书,但遇到了不便的差异(是的,我知道这本书已经过时了)。通常我可以只用谷歌搜索这些差异,但我不知道从哪里开始。

特别是,我正在尝试为某些路线设置授权。Yesod 书说我应该定义

instance YesodAuth MyApp where
  isAuthorized RouteR _ = <check for stuff and return an authorization token>

但是该方法不再在 Yesod.Auth.YesodAuth 中定义。工艺的现状如何?

4

2 回答 2

1

我看你已经找到了答案,但在未来,你也许可以通过使用比谷歌更专业的工具更快地找到它。Yesod 最好的 Haskell API 搜索引擎可能是这个:FPComplete 的 Hoogle Search

还有Haskell.org Hoogle 搜索

还有Holumbus 的 Hayoo Search,至少在它上线的时候是这样。在我输入这个的时候它已经关闭了,但它应该会在某个时候返回。

Hoogle 和 Hayoo 都允许您搜索函数/包名称以及函数签名,所以如果您知道您想要的函数是什么不知道它的名称,您仍然可以搜索它!他们在如何解释您给他们的类型以及他们默认搜索的包方面确实有所不同,因此您可能希望将两个链接放在手边并尝试对两者进行查询。

请注意,FPComplete Hoogle 默认搜索它索引的所有包,而主要的 Haskell.org 将默认仅搜索 Haskell 平台包,但如果您明确要求它通过添加来搜索 Hackage 上的其他包+<package name>到您的查询字符串,例如isAuthorized +yesod-core您的问题。

基于这个haskell-cafe 线程,Haskell.org Hoogle 搜索引擎可能会在某个时候解除此限制,但与此同时,如果您不知道包名称并且您不知道,您可能应该使用我列出的替代方案之一认为您正在寻找的是在 Haskell 平台中。

最后,您可以从 Hackage 下载 hoogle 代码(通过 cabal install),它会给您一个本地包索引,您可以从命令行查询或集成到编辑器中。这对于快速查找您知道平台中存在但您不太记得其详细信息的功能非常方便。

于 2013-09-16T23:18:29.547 回答
0

好的,我找到了方法。它现在在 Yesod 类型类中。

于 2013-09-16T21:16:49.053 回答