关于GHCi中ghci>与Prelude>提示符差异及模块加载问题咨询
解决GHCi提示符显示问题
问题1:启动后显示ghci>而非Prelude>
这是较新版本GHCi(一般从GHC 8.0+开始)的默认行为调整——默认简化了提示符,不再显示默认加载的Prelude模块名。要恢复旧版的Prelude>提示符,在GHCi中执行:
:set prompt "Prelude> "
如果想每次启动GHCi自动生效,可在用户目录下创建.ghci配置文件(Windows系统需在%APPDATA%\ghc目录创建ghci.conf),添加一行:
:set prompt "Prelude> "
问题2:加载模块后提示符未变为*Main>
这也是新版本GHCi的默认设置,默认不显示当前加载的模块标识。要让提示符自动显示当前活跃模块,执行:
:set prompt "*%s> "
这个设置会把%s自动替换为当前模块名(加载Main后会显示*Main>,回到默认环境则显示*Prelude>)。将这行加入.ghci配置文件即可永久生效。
此外,临时查看当前加载模块可执行:show modules命令,它会列出会话中已加载的所有模块。
内容的提问来源于stack exchange,提问作者Marcus Hammarström
相关产品推荐
相关产品推荐

