GHCI vs Haskell中的Prelude命令提示符

GHCI vs Haskell中的Prelude命令提示符,haskell,ghci,Haskell,Ghci,我试图从一开始就学习Haskell,想知道其中使用的两个提示(Haskell和Prelude)到底有什么区别。这听起来可能是一个非常幼稚的问题,更不用说我在发布这个问题之前尝试过寻找答案,但没有找到一个(合适的)。提前谢谢你。好吧,如果我理解正确,你会想知道两者之间是否有区别 Prelude> 及 在从命令行调用GHCi后作为提示 如果是这样的话,那么除了偏好之外,没有什么真正的区别。您可以使用以下命令将提示更改为所需的任何内容: :set prompt "aglebargle>

我试图从一开始就学习Haskell,想知道其中使用的两个提示(Haskell和Prelude)到底有什么区别。这听起来可能是一个非常幼稚的问题,更不用说我在发布这个问题之前尝试过寻找答案,但没有找到一个(合适的)。提前谢谢你。

好吧,如果我理解正确,你会想知道两者之间是否有区别

Prelude> 

在从命令行调用GHCi后作为提示

如果是这样的话,那么除了偏好之外,没有什么真正的区别。您可以使用以下命令将提示更改为所需的任何内容:

:set prompt "aglebargle> "
你可以用你想要的任何东西替换
arglebargle>


我看到的
Prelude>
提示符的主要优点是,它将在您导入模块时更新。Prelude是唯一没有任何导入的模块,这就是为什么它是提示符。例如,如果您确实导入了
import Control.Monad
,您会得到
Prelude Control.Monad>
作为提示。

谢谢您的回答。但是,在阅读Haskell的文章时,我在导言一章中看到了一句话——“这里的提示是Prelude>,但因为在会话中加载内容时,提示可能会变长,所以我们将使用ghci>”。在前奏曲上使用ghci提示是否对加载时间有任何影响?提示仅提供信息/美观;它不会影响加载时间,但如果您在狭窄的窗口中,它可能会变得相当长,并占用很大一部分线路。更改为固定提示时唯一的损失是,您必须记住导入了哪些包,而不能在提示中查看这些包。如果您想知道导入了哪些内容,但同时保持提示简短,则应尝试作为导入。例如,
import Control.Monad as CM
将给您一个类似于
Prelude CM>
的提示。(您也不必使用
CM.function
,因为您没有
import-qualified
:set prompt "aglebargle> "