Haskell和低级IO操作

Car*_*s00 8 linux haskell ghc

在Haskell中如何实现套接字,管道和文件IO等低级内容?我猜这些IO方法在Haskell中不是原生的,但是Haskell会快速包装一些低级C库,是不是?

Fre*_*Foo 9

套接字,管道和文件在内核中实现; 要从用户空间程序中使用它们,您需要调用内核.如果您将内核视为库,那么是的,I/O必须由低级C /汇编程序库实现.

实际上,Haskell实现(如GHC)将使用C库的系统调用包装器.参见例如GHC RTS评论,该评论描述构成用GHC编译的任何Haskell程序的核心的C的位.如有疑问,请查阅源代码.