System.IO的官方源代码在哪里?

时间:2014-04-07 09:15:14

标签: haskell

System.IO的官方来源在哪里?

我看了here,但它不存在。

点击source时,它表示不在此处。我很困惑,因为this页面上的其他链接似乎有效。

编辑:

我发现了这个:

instance  Monad IO  where
    {-# INLINE return #-}
    {-# INLINE (>>)   #-}
    {-# INLINE (>>=)  #-}
    m >> k    = m >>= \ _ -> k
    return    = returnIO
    (>>=)     = bindIO
    fail s    = failIO s

bindIO :: IO a -> (a -> IO b) -> IO b
bindIO (IO m) k = IO $ \ s -> case m s of (# new_s, a #) -> unIO (k a) new_s

here

1 个答案:

答案 0 :(得分:7)

如果您想知道哪个接口System.IO应该公开,请检查Haskell报告。我相信这是规范性的规范。

如果你想要内部实现......好吧,它很难连接到编译器。您必须阅读GHC源代码。

修改: IO很特别。 IO是神奇的。看它的来源不会告诉你任何有趣的东西。它只是一堆代码,它们操纵编译器内部的低级I / O工作方式。无论你想要了解什么,你可能都不会在这里找到启示。