是否有针对Haskell的远程文件IO库?例如,在KDE中,kio子系统提供了用于访问文件的URL样式的接口,因此大多数KDE应用程序可以像打开本地文件一样,通过SFTP打开远程文件。谢谢!
发布于 2012-01-29 14:38:46
虽然从技术上讲,GHC支持定义自定义类型的Handle(就像在knob中使用的一样),但是没有提供基于URL的统一文件风格的界面。
但您可以使用迭代式包(如conduit和enumerator )以一致的方式处理来自不同来源的流数据。例如,有到files、HTTP的管道接口(即使不直接使用管道,它也是Haskell最好的接口)、FTP、raw network sockets等等。与Handle-style file IO解决方案相比,这些解决方案更适合处理来自多个源的数据;在顺序网络流的上下文中,像查找这样的事情没有任何意义。
当然,这些并不能解决为所有这些提供一致的用户界面的问题;还需要做一些额外的工作。最简单的方法可能是处理来自标准网络包的URIs,将它们适当地映射到Source(或等效的)。对于像文件和HTTP这样的东西,它应该像处理协议并将URI的其余部分作为字符串传递给适当的库一样简单。
总而言之:不是,但是以这种统一的方式处理本地和远程数据所需的所有部分都已经存在,并且如果需要,用户界面部分应该不会太难编写。
https://stackoverflow.com/questions/9051389
复制相似问题