问题标签 [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.
haskell - 如何在 GHCi 重新加载之间保持环境?
基本上当我:load name.hs
的变量和绑定都消失了。
是否有一些选项可以告诉 ghci 保留所有内容?
haskell - 如何将“cabal-dev ghci”与非沙盒、非全局(用户?)包一起使用?
我正在尝试cabal-dev
一个我正在做的项目;该项目是一个库,并且cabal-dev
在构建它的沙盒版本方面做得很好 - 但我的部分工作流程遇到了麻烦......
我有一个脚本 ,我会加载scratch.hs
它(pre- )来尝试一些东西。当然,内容会随着时间的推移而变化,这取决于我正在开发的功能。 不是库代码库的一部分,它只是我在处理它时的个人暂存空间。cabal-dev
ghci
scratch.hs
scratch.hs
现在,为了在ghci
我的沙箱加载的情况下进行会话,我可以cabal-dev ghci
, 然后加载scratch.hs
到其中。问题是这(通过设计,并且明智地)排除了我的用户包数据库,所以如果scratch.hs
从不在我的库中的包中引用模块build-depends
(这不是不合理的 - 毕竟它不是库的一部分),那些包是'不可见,所以我得到一个错误,例如:
在这种情况下,scratch.hs
想要导入Data.Aeson.Generic
但aeson
不在我的库中build-depends
(非常正确),但在我的用户包数据库中。
那么我该如何解决这个问题呢?我可以想象这些类别中的任何一个的答案,但也许有些类别我错过了:
一种(有选择地)将我的用户包数据库中的包与由
cabal-dev
. (也许滚动我自己的cabal-dev ghci
风格脚本?)关于如何改进我的工作流程以使问题消失的建议。
我知道我可以在全球范围内安装软件包,但我不愿意以这种方式污染我的全球软件包数据库(并且cabal-dev
明确地不鼓励这样做)。
非常感谢所有的建议。
haskell - 使用 GHCi 加载模块而不访问其源代码
我创建了一个简单的模块,TestModule.hs
它包含一个导出的顶级定义testval = 2
。我编译它,创建TestModule.o
和TestModule.hi
. 我删除 TestModule.hs
. 然后我加载TestModule.o
,ghci
像这样:
如您所见,TestModule
不在范围内,我无法访问testval
. 为什么?在不访问源文件的情况下如何完成此操作?
附加问题:我如何使用hint
包完成同样的事情?
谢谢!
haskell - 自动重新加载 ghci 并在文件更新时运行 hlint
我正在考虑我理想的 haskell 编辑工作流程:
- 我打开三个终端(使用 iterm2 拆分)。
- 终端 1 运行 vim 来编辑 haskell 源文件。
- 当当前目录或子目录中的文件更新或创建时,终端 2 自动对更改的文件运行 hlint
- 终端 3 运行 ghci,自动加载/重新加载更改的文件。
有没有人设置过这样的东西?目标是让 hlint 不断观察我的代码是否存在样式问题,并让 ghci 可用于快速更改,而无需执行任何操作,只需将文件保存在 vim 中即可。
我正在考虑使用类似watchr的东西来实现自动化。
haskell - Haskell 解释器 /w 类型定义
是否有接受类型定义或最好是各种语句的 Haskell 解释器?
我已经尝试过了ghci
,hugs
但这些都没有。是否有某些特殊原因表明这很难/不可能?
haskell - 没有 Prelude 的 ghci 会话
这个问题出现在#haskell irc 聊天中:
如何在不导入前奏的情况下启动 ghci?
可能的答案似乎很明显:
ghci -XNoImplicitPrelude
, 或加载一个文件import Prelude ()
后者似乎有效,而前者奇怪的是没有。但是,import Prelude ()
从 Prelude 导入声明的实例,对吗?有没有更好的方法来创建一个完全不加载 Prelude 的 ghci 会话?
macos - 从 GHCi 中的文件加载函数时出错
我对 Haskell 完全陌生。为了掌握基础知识,我开始通过“Learn you a Haskell for Great Good”来学习。我被困在从文件加载函数的简单问题上。
该文件被调用baby.hs
并包含函数
没有别的了。我已经把它保存在/Users/me
.
输入:load baby
GHCi,我收到以下错误:
target `baby' 不是模块名称或源文件。
我在 Mac 上工作,我baby.hs
使用 TextEdit 集创建了我的文件以生成纯文本/UTF-8 文件。我认为我的主目录是/Users/me
虽然我不确定如何从 GHCi 中检查它,但它是从我在运行 GHCi 之前从 bash 检查时开始的。
知道我做错了什么吗?
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
我怎么能准确地说出它想要什么?
haskell - 无法将 HUnit 导入 ghci
我刚刚安装了 HUnit,并想将其导入 ghci。
另外,我不确定如何使用-v
来帮助我。
我该如何导入它?
haskell - FreeGlut 在 ghci 中不起作用
我用“Glut”写了一个小程序
由 GHC 编译的程序运行良好(ghc --make t.hs),但是当我尝试从 ghci 运行程序时,ghci 崩溃并显示以下消息:
是否可以从 ghci 运行 Glut 程序?