我试图从 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)