- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何在 ghci(使用 lambdabot 2.5 GHCi on Acid )中查看我的项目或 cabal 依赖项中定义的函数/类等的源定义?例如假设我有:
module Main where
import System.Random
gen = (random (mkStdGen 0)) :: (Bool,StdGen)
myadd :: Int -> Int
myadd x = 2 * x
main = do
print "finished"
然后我可以获得有关myadd
和random
的信息,但我无法打印源代码。这是我在 ghci 中可以做的(使用 lambdabot):
*Main GOA> :src foldr
foldr f z [] = z
foldr f z (x:xs) = f x (foldr f z xs)
*Main GOA> :i myadd
myadd :: Int -> Int -- Defined at test.hs:7:1
*Main GOA> :src myadd
Source not found. I don't think I can be your friend on Facebook anymore.
*Main GOA> :i random
class Random a where
...
random :: RandomGen g => g -> (a, g)
...
-- Defined in ‘System.Random’
*Main GOA> :src random
Source not found. Listen, broccoli brains, I don't have time to listen to this trash.
lambdabot 似乎能够打印 foldr
的定义,但不能打印定义在项目(myadd
)或 cabal depedencies 中的函数(random
)。
我是否可以使用 lambdabot 的某些功能打印出诸如 myadd
和 random
之类的定义?我知道您可以将 Hoogle 用于 random
,但我想特别知道是否有任何方法可以使用 ghci 或 lambdabot 打印出源定义。
[编辑]
发帖后我发现了Emacs/Inferior Haskell processes而 theirin 的一些功能似乎实现了上面的一些。
最佳答案
Lambdabot 的 src
无法做到这一点。它基于 lambdabot 本身附带的函数定义的简短列表,参见。 https://github.com/mokus0/lambdabot/blob/master/lambdabot/State/source .因此它有时会撒谎,例如 foldr
当前在 ghc 的库中定义为
foldr k z = go
where
go [] = z
go (y:ys) = y `k` go ys
关于haskell - 使用 lambdabot 在 ghci 中打印函数/类的定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23969963/
这是一个高阶函数,它将一个参数应用于给定函数两次: dapp :: (a -> a -> a) -> a -> a dapp = \f x -> f x x ghci> dapp (*) 5 25 我
当我在我的 archlinux 机器上安装 lambdabot 时,当我想要访问函数的源代码时出现以下错误 'sourcePlugin' 失败:状态未初始化 看来我不是唯一遇到这个问题的人 -> ht
如何在 ghci(使用 lambdabot 2.5 GHCi on Acid )中查看我的项目或 cabal 依赖项中定义的函数/类等的源定义?例如假设我有: module Main where im
我尝试过的: 在/etc/nixos/configuration.nix 中: services.lambdabot.enable = true; services.lambdabot.scr
我试图安装 lambdabot使用 ghc-7.8.2,但在安装时遇到错误 haskell-src-exts .为了诊断问题,我尝试了 cabal install haskell-src-exts -
我是一名优秀的程序员,十分优秀!