如何在 GHCi 重新加载之间保留环境?

2024-01-29

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

有没有什么选项可以告诉 ghci 保留一切?


要加载新模块,您可以使用

Prelude> :m + Mymodule

但重新加载并保持交互式绑定通常是不可能的。重新加载本质上是忘记所有模块并重新加载它们。绑定可能取决于已加载的模块。依赖关系逻辑表明,当 GHCI 忘记某个模块时,它还需要忘记依赖于该模块的所有内容,包括交互式绑定。

GHCI 可以例如存储用于创建绑定的命令文本,并尝试在重新加载时重新运行这些命令,因为知道其中一些命令可能会失败。但这很快就会变得棘手,所以没有这样做。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 GHCi 重新加载之间保留环境? 的相关文章

  • 如何制作Applicative的固定长度向量实例?

    最近了解了推广 决定尝试写向量 LANGUAGE DataKinds GADTs KindSignatures module Vector where data Nat Next Nat Zero data Vector Nat gt gt
  • 使用 Template Haskell 生成函数

    是否可以使用 Template Haskell 定义函数 例如 convertStringToValue String gt Int convertStringToValue three 3 convertStringToValue fou
  • Haskell Servant 和流媒体

    我正在尝试添加一个功能到我的servant服务器将从 Amazon S3 获取文件并将其流式传输回用户 由于文件可能很大 我不想将它们下载到本地然后将它们提供给客户端 我宁愿将它们直接从 S3 流式传输到客户端 I use Amazonka
  • unsafeInterleaveIO 什么时候不安全?

    与其他不安全 操作不同 文档 http hackage haskell org packages archive base latest doc html System IO Unsafe html v unsafeInterleaveIO
  • 移动列表中特定元素的简单函数

    我是 Haskell 的新手 我正在尝试弄清楚如何创建一个函数 shift Eq a gt a gt a gt Int gt a shift x h t z 输入 一个通用列表和一个相同类型的元素 x 前提条件 元素x存在于列表中 Outp
  • Accelerate 和 Repa 是否有不同的用例?

    我一直在玩 Repa 和 Accelerate 它们都很有趣 但我不知道何时使用其中一个 何时使用另一个 他们是一起成长 是竞争对手 还是只是为了解决不同的问题 Repa 是一个用于高效数组构建和遍历的库 用 Haskell 编程并在 Ha
  • 我可以获得有关过度限制类型签名的警告吗?

    当我为可能更具多态性的函数提供类型签名时 GHC 或某些 lint 工具可以告诉我吗 GHC 不这样做 快速搜索 Hackage 也没有发现任何结果 实现这样的事情的一个简单但可能非常有效的方法是在 GHCi 中加载模块 使用 browse
  • Haskell/GHC:使用相同模式匹配多个一元构造函数

    所以我正在尝试定义 TrieSet 数据类型 尽管我知道我不需要 http hackage haskell org package TrieMap module Temp where import Data Map data TrieSet
  • 通过 Emacs 评估 ghci 或 Hugs 中的缓冲区

    在 Emacs 中使用 sml mode 我已经能够使用以下命令将缓冲区内容直接发送到较差的 SML 进程C c C b 现在我只想用 Haskell 做同样的事情 Haskell 模式似乎不支持这一点 所以我想知道 使用 Emacs 和
  • 如何在 Yesod 中使用 CSS 框架?

    我想将 Blueprint CSS 框架与 Yesod 一起使用 有没有最佳实践 因为 Yesod 使用 CSS 模板 所以在我看来我不能直接使用 css 文件 我必须将它们重命名为 lucius files 吗 如何将 CSS 添加到 d
  • 生成所有可能的树

    给定以下数据类型定义 data FormTree Empty Node FormTree FormTree deriving Show 我想编写一个函数 它生成一个无限列表 其中包含按长度排序的所有可能的树 例如节点数量 下面的代码几乎满足
  • Haskell:找不到模块“Data.List.Split”

    我正在尝试在 Haskell 中拆分列表 据我所知 最简单的方法是splitOn 但是这个函数需要Data List Split 所以我尝试运行import Data List Split在前奏曲中 但是 我收到以下错误 Could not
  • 为什么 Parsec 的 sepBy 停止并且不解析所有元素?

    我正在尝试解析一些逗号分隔的字符串 该字符串可能包含也可能不包含具有图像尺寸的字符串 例如 hello world 300x300 good bye world 我写了下面的小程序 import Text Parsec import qua
  • Haskell 类型系统的细微差别

    我一直在深入了解 haskell 类型系统的本质 并试图了解类型类的要点 我已经学到了很多东西 但我在下面的代码片段上遇到了困难 使用这些类和实例定义 class Show a gt C a where f Int gt a instanc
  • 纯函数怎么能做IO呢?

    我最近了解到莫纳德随机数 http hackage haskell org package MonadRandom 0 1 13 docs Control Monad Random Class html t 3aMonadRandom图书馆
  • “Eta减少”并不总是在Haskell中举行?

    我发现我可以说 LANGUAGE RankNTypes f1 forall b b gt b gt forall c c gt c f1 f id f HLint 告诉我我可以在这里做 Eta 减少 但是 f2 forall b b gt
  • 以下两个 lambda 函数的空间复杂度

    我正在阅读以下内容 https en wikibooks org wiki Haskell Graph reduction https en wikibooks org wiki Haskell Graph reduction 其内容如下
  • Haskell 中列表列表的笛卡尔积

    给定一个长度列表的列表x所有子列表的长度都相同y 输出y x长度列表x包含每个子列表中的一项 例子 x 3 y 2 1 2 3 4 5 6 Output 2 3 8不同的输出 1 3 5 1 4 5 1 3 6 1 4 6 2 3 5 2
  • Haskell 中的中缀运算符优先级

    对于以下 Haskell 表达式 返回 a gt gt f 应该读作 返回a gt gt f or 返回 a gt gt f 这里的相关规则是什么 规则始终是函数应用程序的优先级高于任何运算符 因此 return a gt gt f 被解析
  • 如何在 Haskell 中漂亮地打印表格?

    我想在 Haskell 中漂亮地打印一个类似表格的数据结构 列列表 例如 Table StrCol strings a bc c IntCol ints 1 30 2 DblCol doubles 2 0 4 5 3 2 应该渲染类似 st

随机推荐

  • MySQL JOIN 行(如果存在)否则填充 NULL

    我有两张人名和财产表 有些还没有条目 我想创建所有人及其属性 如果可用 的完整列表 否则将他们与属性 NULL 一起列出 这是我的简化示例 names id name 1 Jon 2 Peter 3 Sam 4 Bruce 特性 names
  • 在多选模式下启用/禁用列表视图中的项目选择

    我在多选模式下为上下文菜单注册了一个列表视图 private void initListViewForContextMenu log d FilesFragment initListViewForContextMenu ListView l
  • 自定义 jqGrid 中的添加/编辑对话框

    抱歉 我不能发布图片 我太新了 在 jqGrid 添加 编辑对话框中 我想根据之前所做的选择加载可选项目的列表 在上图中 应根据条件选择中选择的值加载值选择 我相信要走的路线是使用 editoptions 对象中的 dataurl 但我在这
  • 找不到 javafx.controls JavaFX 11 / JDK 11.0.1 [重复]

    这个问题在这里已经有答案了 我正在使用 IntelliJ 我已经尝试过所有其他似乎对其他人都有效的解决方案 我收到一个错误 Caused by java lang IllegalAccessError class com sun javaf
  • 使用泛型参数关闭

    我在将以下函数编写为闭包时遇到问题 func myfunc
  • 删除 VSCode PHP 调试中的字符限制

    在 PHP 中进行调试并使用左侧的变量窗格时 将鼠标悬停在该变量 对象上时可以看到的字符数是有限的 无论如何 是否可以查看该变量的完整有效负载或除了必须使用之外的任何解决方法file put contents每次我想看到一个大的变量值 将变
  • jQuery data() 返回未定义,attr() 返回整数

    我有以下代码 alert embellishment data embellishmentId alert embellishment attr data embellishmentId 第一个警报返回undefined 而第二个警报返回一
  • 如何在 Perl 中异步运行系统命令?

    我目前有一个 Perl 脚本 它在系统上运行外部命令 收集输出 并根据返回的内容执行一些操作 现在 这是我运行它的方式 其中 cmd 是带有命令设置的字符串 output cmd 我想更改此设置 以便如果命令挂起并且在很长时间后没有返回值
  • Lucene 模糊搜索客户名称和部分地址

    我浏览了所有现有的问题帖子 但找不到相关的内容 我有数百万条记录 包括个人名字 姓氏 地址 1 地址 2 国家 地区代码 出生日期 我想每天使用上述文件检查我的客户列表 我的客户列表也会每天更新 并且文件也每天更新 对于名字和姓氏 我想要模
  • 点击 iPhone 上的文本输入字段会弹出键盘,但打字不会输入任何文本

    我正在努力使页面更具响应性 为此 我试图确保网页在移动设备上的外观和功能符合预期 在桌面上 它按预期工作 在 iPhone 上 它看起来与预期一致 但无法按预期工作 如果您选择输入字段 它将聚焦并调出键盘 但是它不会让您输入任何内容 如果您
  • NSFetchRequest 和 predicateWithBlock

    我正在使用一个使用 Core Data 和 NSManagedObjects 来填充 UITableView 的应用程序 我的应用程序中只有一个类 称为Event 我创建了以下自定义实例方法Event BOOL isExpired retu
  • 如何从控制台应用程序中的 config.json 读取值

    我刚刚安装了 ASP NET 5 并在 Visual Studio 中创建了一个控制台应用程序 我已将文件 config json 添加到项目的根文件夹中 它看起来像这样 Data TargetFolderLocations TestFol
  • 在Python中检索所有Cookie

    如何在不知道名称的情况下用 Python 读回所有 cookie 不确定这是否是您正在寻找的内容 但这是一个简单的示例 您将 cookie 放入 cookiejar 中并读回它们 from urllib2 import Request bu
  • 无法解析主机:bitbucket.org;提供节点名或服务名,或未知

    每次我尝试使用终端从 Bitbucket 克隆任何存储库时 都会出现此错误 git clone https email protected cdn cgi l email protection me myrepo git Cloning i
  • 姜戈。如何保存用 Pillow 编辑的内容文件

    我正在尝试保存下载的图像requests然后编辑Pillow to ImageField在一个模型中 但物体是在没有图像的情况下被创建的 这就是我所拥有的 设置 py MEDIA ROOT BASE DIR media MEDIA URL
  • NameError(未初始化常量 Unzipper::Zip),但仅限于 Heroku 部署 (Rails)

    我有课unzipper rb使用 Rubyzip 解压缩文件 在我的本地环境中 我可以成功解压缩文件 而无需使用显式包含依赖项require zip 不过在 Heroku 上 我得到了NameError uninitialized cons
  • 无形状:从副产品映射到不同的副产品

    在下面 我尝试创建一个多态函数来转换RawFeatureValue into a RefinedFeatureValue import shapeless object test type RawFeatureValue Int Doubl
  • 使用 Series 更新 DataFrame 中的列

    我有一个DataFrame对象在pandas具有多个行和列 出于说明目的 假设我有两个这样的列 名为Address and Age 我也有一个Series将多个地址映射到年龄的对象 现在 我想使用该系列更新数据框 这是我目前的做法 for
  • 正则表达式从字符串中删除开始和结束字符?

    假设我有一个像这样的字符串 file widget widget newsletter php 我想使用 preg replace 删除前缀widget 并删除后缀 php 是否可以使用一个正则表达式来实现这一切 结果字符串应该是widge
  • 如何在 GHCi 重新加载之间保留环境?

    基本上当我 load name hs变量和绑定都消失了 有没有什么选项可以告诉 ghci 保留一切 要加载新模块 您可以使用 Prelude gt m Mymodule 但重新加载并保持交互式绑定通常是不可能的 重新加载本质上是忘记所有模块