问题标签 [ghci]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
670 浏览

haskell - 如何在 GHCi 重新加载之间保持环境?

基本上当我:load name.hs的变量和绑定都消失了。

是否有一些选项可以告诉 ghci 保留所有内容?

0 投票
1 回答
1696 浏览

haskell - 如何将“cabal-dev ghci”与非沙盒、非全局(用户?)包一起使用?

我正在尝试cabal-dev一个我正在做的项目;该项目是一个库,并且cabal-dev在构建它的沙盒版本方面做得很好 - 但我的部分工作流程遇到了麻烦......

我有一个脚本 ,我会加载scratch.hs它(pre- )来尝试一些东西。当然,内容会随着时间的推移而变化,这取决于我正在开发的功能。 不是库代码库的一部分,它只是我在处理它时的个人暂存空间。cabal-devghciscratch.hsscratch.hs

现在,为了在ghci我的沙箱加载的情况下进行会话,我可以cabal-dev ghci, 然后加载scratch.hs到其中。问题是这(通过设计,并且明智地)排除了我的用户包数据库,所以如果scratch.hs从不在我的库中的包中引用模块build-depends(这不是不合理的 - 毕竟它不是库的一部分),那些包是'不可见,所以我得到一个错误,例如:

在这种情况下,scratch.hs想要导入Data.Aeson.Genericaeson不在我的库中build-depends(非常正确),但我的用户包数据库中。

那么我该如何解决这个问题呢?我可以想象这些类别中的任何一个的答案,但也许有些类别我错过了:

  1. 一种(有选择地)将我的用户包数据库中的包与由cabal-dev. (也许滚动我自己的cabal-dev ghci风格脚本?)

  2. 关于如何改进我的工作流程以使问题消失的建议。

我知道我可以在全球范围内安装软件包,但我不愿意以这种方式污染我的全球软件包数据库(并且cabal-dev明确地不鼓励这样做)。

非常感谢所有的建议。

0 投票
1 回答
398 浏览

haskell - 使用 GHCi 加载模块而不访问其源代码

我创建了一个简单的模块,TestModule.hs它包含一个导出的顶级定义testval = 2。我编译它,创建TestModule.oTestModule.hi. 我删除 TestModule.hs. 然后我加载TestModule.oghci像这样:

如您所见,TestModule不在范围内,我无法访问testval. 为什么?在不访问源文件的情况下如何完成此操作?

附加问题:我如何使用hint包完成同样的事情?

谢谢!

0 投票
6 回答
4702 浏览

haskell - 自动重新加载 ghci 并在文件更新时运行 hlint

我正在考虑我理想的 haskell 编辑工作流程:

  • 我打开三个终端(使用 iterm2 拆分)。
  • 终端 1 运行 vim 来编辑 haskell 源文件。
  • 当当前目录或子目录中的文件更新或创建时,终端 2 自动对更改的文件运行 hlint
  • 终端 3 运行 ghci,自动加载/重新加载更改的文件。

有没有人设置过这样的东西?目标是让 hlint 不断观察我的代码是否存在样式问题,并让 ghci 可用于快速更改,而无需执行任何操作,只需将文件保存在 vim 中即可。

我正在考虑使用类似watchr的东西来实现自动化。

0 投票
2 回答
292 浏览

haskell - Haskell 解释器 /w 类型定义

是否有接受类型定义或最好是各种语句的 Haskell 解释器?

我已经尝试过了ghcihugs但这些都没有。是否有某些特殊原因表明这很难/不可能?

0 投票
2 回答
2264 浏览

haskell - 没有 Prelude 的 ghci 会话

这个问题出现在#haskell irc 聊天中:

如何在不导入前奏的情况下启动 ghci?

可能的答案似乎很明显:

ghci -XNoImplicitPrelude, 或加载一个文件import Prelude ()

后者似乎有效,而前者奇怪的是没有。但是,import Prelude ()从 Prelude 导入声明的实例,对吗?有没有更好的方法来创建一个完全不加载 Prelude 的 ghci 会话?

0 投票
5 回答
4762 浏览

macos - 从 GHCi 中的文件加载函数时出错

我对 Haskell 完全陌生。为了掌握基础知识,我开始通过“Learn you a Haskell for Great Good”来学习。我被困在从文件加载函数的简单问题上。

该文件被调用baby.hs并包含函数

没有别的了。我已经把它保存在/Users/me.

输入:load babyGHCi,我收到以下错误:

target `baby' 不是模块名称或源文件。

我在 Mac 上工作,我baby.hs使用 TextEdit 集创建了我的文件以生成纯文本/UTF-8 文件。我认为我的主目录是/Users/me虽然我不确定如何从 GHCi 中检查它,但它是从我在运行 GHCi 之前从 bash 检查时开始的。

知道我做错了什么吗?

0 投票
3 回答
900 浏览

haskell - 我怎么知道需要哪个 libstdc++ 双重转换?

这是我在尝试将 .hs 文件加载到 ghci 时看到的错误。

进一步调查显示我安装了多个 stdc++ 库

我想也许我可以对它想要的东西做一个符号链接,但我不知道是哪个。我正在使用这个操作系统 2.6.35-22-server #33-Ubuntu SMP Sun Sep 19 20:48:58 UTC 2010 x86_64 GNU/Linux

我怎么能准确地说出它想要什么?

0 投票
1 回答
1902 浏览

haskell - 无法将 HUnit 导入 ghci

我刚刚安装了 HUnit,并想将其导入 ghci。

另外,我不确定如何使用-v来帮助我。

我该如何导入它?

0 投票
1 回答
630 浏览

haskell - FreeGlut 在 ghci 中不起作用

我用“Glut”写了一个小程序

由 GHC 编译的程序运行良好(ghc --make t.hs),但是当我尝试从 ghci 运行程序时,ghci 崩溃并显示以下消息:

是否可以从 ghci 运行 Glut 程序?