没有 Prelude 的 ghci 会话

发布于 2024-12-09 05:15:45 字数 346 浏览 2 评论 0原文

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

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

可能的答案似乎很明显:

ghci -XNoImplicitPrelude,或者使用import Prelude ()加载文件

后者似乎可以工作,而前者却奇怪地不行。但是,import Prelude () 从 Prelude 导入声明的实例,对吗?有没有更好的方法来创建 ghci 会话而不加载 Prelude?

This question arose on #haskell irc chat:

How can I start ghci without importing prelude?

The possible answer seemed obvious:

ghci -XNoImplicitPrelude, or load a file with import Prelude ()

The latter seems to work, while the former strangely does not. However, import Prelude () imports the declared instances from Prelude, right? Is there a better way of creating a ghci session without loading Prelude at all?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

烟雨扶苏 2024-12-16 05:15:45
% ghci                    
GHCi, version 7.0.4: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package ffi-1.0 ... linking ... done.
Prelude> :m -Prelude 
> :i map

Top level: Not in scope: `map'
> :i Eq

Top level: Not in scope: data constructor `Eq'

但是,我不确定这些实例以及 ghci 如何处理它们。

您是否担心某个特定情况?

% ghci                    
GHCi, version 7.0.4: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package ffi-1.0 ... linking ... done.
Prelude> :m -Prelude 
> :i map

Top level: Not in scope: `map'
> :i Eq

Top level: Not in scope: data constructor `Eq'

However, I'm not sure about the instances and how ghci deals with them.

Is there a particular instance that you're concerned about?

淡淡绿茶香 2024-12-16 05:15:45

接受的答案似乎不再有效。这在 ghci 8.0.2 中有效。

Prelude> :set -XNoImplicitPrelude
Prelude> :m -Prelude
> 

The accepted answer doesn't seem to work anymore. This does work in ghci 8.0.2.

Prelude> :set -XNoImplicitPrelude
Prelude> :m -Prelude
> 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文