标签: hoogle

在nix上的haskell开发环境中使用hoogle

我试图在Haskell开发环境中使用hoogle,就像O'Charles的wiki所描述的那样:

我已经修改shell.nix如下使用hoogleLocal,但它似乎没有为我安装hoogle二进制文件.

let
  pkgs = import <nixpkgs> {};

  # I'm attempting to use hoogle here, but it is not working.
  haskellPackages =
    let callPackage = pkgs.lib.callPackageWith haskellPackages;
    in pkgs.recurseIntoAttrs (pkgs.haskellPackages.override {
      extension = self: super: {
        thiscurrentpackage = self.callPackage ./. {};
        hoogleLocal = pkgs.haskellPackages.hoogleLocal.override {
          packages = self.thiscurrentpackage;
        };
      };
    });
in pkgs.myEnvFun {
  name = haskellPackages.thiscurrentpackage.name;
  buildInputs = [
    (haskellPackages.ghcWithPackages (hs: ([
      hs.cabalInstall
      hs.ghcMod
      hs.yesodBin
      # This doesn't appear to install the hoogle …
Run Code Online (Sandbox Code Playgroud)

haskell hoogle nixos

13
推荐指数
2
解决办法
2406
查看次数

从ghci用hoogle搜索时有没有办法使用标志?

在ghci中使用hoogle时如何使用hoogle命令行标志?

这显然不起作用:

ghci> :hoogle --count=5 Char -> Int
Could not read as type Int, "5 Char -> Int"
Run Code Online (Sandbox Code Playgroud)

haskell ghci hoogle

8
推荐指数
1
解决办法
152
查看次数

如何在Hoogle上搜索类型类实例?

有没有办法在Hoogle(或Stackage)上搜索类型类的实例?

例如,我想知道哪个包定义了Liftfor 的实例Text.

我能够在包装中找到它th-lift-instances,但手动搜索需要大约10分钟.好像应该有一些允许搜索实例的Hoogle功能.

haskell hoogle stackage

8
推荐指数
1
解决办法
264
查看次数

Hayoo/Hoogle不匹配单态/少多态签名与多态签名

我试图了解Hoogle和Hayoo为什么不匹配的根本原因

(b -> c) -> (b' -> c') ->   (b, b') -> (c, c')
Run Code Online (Sandbox Code Playgroud)

a b c    -> a b' c'    ->   a (b, b') (c, c')
Run Code Online (Sandbox Code Playgroud)

这恰好是以下类型Control.Arrow.***:

(***) :: a b c -> a b' c' -> a (b, b') (c, c')
Run Code Online (Sandbox Code Playgroud)

- 这可能只是尚未实现的东西,还是有一些基本的东西阻止了这种基于类型的搜索的实施?

haskell types hayoo hoogle

8
推荐指数
1
解决办法
94
查看次数

如何使用hayoo/hoogle找到`toStrict :: Text - > Text`

我试图找到toStrict类型的函数Data.Text.Lazy.Text -> Data.Text.Text,但我不知道a)它被称为什么,以及b)究竟什么是Lazy模块名称.

搜索Hayoo Text -> Text会带来很多结果.有没有办法搜索签名*Lazy*Text -> Text

搜索Data.Text.Lazy.Text -> Text不会产生任何结果.

我应该如何(lazy) Text -> (strict) Text使用hayoo,hoogle或......来寻找类型的功能?

haskell hayoo hoogle

6
推荐指数
1
解决办法
167
查看次数

Haskell通过cabal安装了hoogle,但找不到hoogle命令

hoogle(hoogle-4.2.36)安装过程看起来很成功,除了在命令行输入"hoogle"时,它会抱怨"hoogle:command not found".

在两台机器上都运行了这两台机器(都运行MAC OS X Yosemite),它们完全失败了.有什么建议可以解决吗?

谢谢!

haskell cabal hoogle

6
推荐指数
1
解决办法
525
查看次数

从Hoogle命令行访问函数的文档

Hoogle网站上搜索功能时,可以看到与其相关的文档,例如:

mod :: a -> a -> a            infixl 7

    integer modulus, satisfying

    (x `div` y)*y + (x `mod` y) == x
Run Code Online (Sandbox Code Playgroud)

Hoogle也作为命令行可执行文件存在.据我所知,它只显示功能的签名:

~ ??? hoogle --info Prelude.mod
Prelude mod :: Integral a => a -> a -> a

From package base
mod :: Integral a => a -> a -> a
Run Code Online (Sandbox Code Playgroud)

有没有办法通过命令行获取相关文档,如在线版本?

haskell hoogle

6
推荐指数
1
解决办法
1026
查看次数

foldlWithKey in monad

我正在寻找一个像foldlWithKey一样的函数,但是封装在monad中.

我希望它有类型

Monad m => (a -> k -> b -> m a) -> a -> Map k b -> m a
Run Code Online (Sandbox Code Playgroud)

但是Hoogle没有给我任何类型的东西.

monads haskell hoogle

6
推荐指数
2
解决办法
170
查看次数

使用堆栈工具管理hoogle索引

上下文:在stack我停止使用hoogle本地之前因为我的索引会以某种方式与已安装的软件包失去同步 如果我没记错的话,我在ghci命令行和cabal沙箱中遇到了不同结果的问题.

我可以利用stack环境管理本地hoogle数据库吗?

haskell hoogle haskell-stack

6
推荐指数
1
解决办法
809
查看次数

我可以“分解”类型签名吗?

假设我想要一个type函数[[a]] -> [[b]] -> [[(a, b)]]。我敢肯定我能弄清楚,但是有可能,它不会像一样干净 zipWith zip

在Hoogle中输入这种类型签名可以为我提供一些功能,但这些功能来自leancheckand extrapolate包,我不想在没有充分理由的情况下将其拖到我的项目中。

鉴于您可以通过方程式推理来计算函数组成,我想知道是否与此过程相反:是否有一种方法可以“分解”复杂的类型签名并将其简化为最简单的函数组成?

haskell hoogle

5
推荐指数
0
解决办法
118
查看次数

标签 统计

haskell ×10

hoogle ×10

hayoo ×2

cabal ×1

ghci ×1

haskell-stack ×1

monads ×1

nixos ×1

stackage ×1

types ×1