繁体   English   中英

Haskell模块:隐藏名称和ghci

[英]Haskell modules: hidden names and ghci

我正在尝试从Haskell模块中导出一个名称的子集,但是ghci很高兴让我访问隐藏的名称。

module Hiding (shown, calc) where

calc = shown * hidden

shown :: Int
shown = 3

hidden :: Int
hidden = 2

但是当我在ghci中尝试这个时,我得到:

Prelude> :l Hiding.hs 
[1 of 1] Compiling Hiding           ( Hiding.hs, interpreted )
Ok, modules loaded: Hiding.
*Hiding> hidden
2

我究竟做错了什么?

(编辑:为了它的价值,我在Arch Linux上使用ghci 6.12.3)

看起来GHCi正在加载您的模块供您检查,即将您置于模块的范围内。 两个提示是提示*Hiding>以及您访问隐藏功能的事实。

编辑:
最后是: http//www.haskell.org/ghc/docs/latest/html/users_guide/interactive-evaluation.html#id3045728

它看起来像你做了正确的事情。 如果你试图从另一个模块引用该模块,我敢打赌hidden拒绝工作。 可能是GHCI是全知的:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM