如何退出";“主要”;前奏曲(Haskell)加载模块后的状态?

如何退出";“主要”;前奏曲(Haskell)加载模块后的状态?,haskell,load,main,haskell-prelude,Haskell,Load,Main,Haskell Prelude,在Haskell中,使用Prelude加载一些文件后 Prelude> :l xxxFileName 提示音消失了 *Main> xxxx 我不知道“Main”函数来自哪里,因为我没有定义任何名为“Main”的函数。这是Haskell命令行环境的特殊状态吗?如何退出“*Main”提示上下文并返回“Prelude>” 谢谢。这是一个好主意。默认情况下,GHCi将显示您加载的模块的名称。星号(*)表示您可以访问所有顶级绑定(不在其他绑定中的定义),而不是导出的绑定 如果未在文件中指定

在Haskell中,使用Prelude加载一些文件后

Prelude> :l xxxFileName
提示音消失了

*Main> xxxx
我不知道“Main”函数来自哪里,因为我没有定义任何名为“Main”的函数。这是Haskell命令行环境的特殊状态吗?如何退出“*Main”提示上下文并返回“Prelude>”

谢谢。

这是一个好主意。默认情况下,GHCi将显示您加载的模块的名称。星号(
*
)表示您可以访问所有顶级绑定(不在其他绑定中的定义),而不是导出的绑定

如果未在文件中指定模块名称,GHCi将假定其名称为
Main

-- Example.hs
add x y = x + y
但是,如果确实指定了模块名称,GHCi将显示该名称:

-- ProperModule.hs
module ProperModule where

add x y = x + y

要卸载任何其他模块,请使用
:m
,但请记住,您不能再使用
xxxFileName.hs
中的函数。请注意,
Prelude
始终处于加载状态,除非您已使用
-xnomplicitprelude

启动GHCi。或者,他们可以
:将提示符设置为任何值。例如
:设置提示符>
,以获得一个简单的提示符
-- ProperModule.hs
module ProperModule where

add x y = x + y
Prelude> :l ProperModule.hs
*ProperModule>