我试图找出mVars如何工作的,我碰到此位的代码来:什么是哈希(#)用于图书馆的来源?
-- |Create an 'MVar' which is initially empty.
newEmptyMVar :: IO (MVar a)
newEmptyMVar = IO $ \ s# ->
case newMVar# s# of
(# s2#, svar# #) -> (# s2#, MVar svar# #)
除了是容易混淆与newMVar
相互递归,它也散落着hashs(#)。
在这两者之间,我无法弄清楚它是如何工作的。我知道这基本上只是mVar的一个伪构造函数,但模块的其余部分(实际上大部分库)都包含它们,并且我无法找到它们。谷歌搜索“哈斯克尔哈希”没有产生任何相关。
谢谢。因此,为了理解库的片段,我基本上可以忽略它们,只是想想它们与之相关的类型? – Carcigenicate 2014-10-02 21:53:55
@Carcigenicate很多,是的。 – bheklilr 2014-10-02 21:55:57
@Carcigenicate我会这么说,如果你真的好奇,你可以阅读原始文档,但是我不认为你会从他们那里获得很多。 – jozefg 2014-10-02 21:56:27