2012-01-29 66 views
1

Haskell是否有遠程文件IO庫?例如,在KDE中,kio子系統提供了一個用於訪問文件的URL風格的界面,因此大多數KDE應用程序都可以像本地一樣輕鬆地通過SFTP打開遠程文件。謝謝!Haskell遠程文件IO庫(如kio)?

+0

對不起,寫入是問題的一部分......我對SFTP/SSH特別感興趣。謝謝! – gatoatigrado 2012-01-30 05:11:39

回答

3

沒有什麼能夠提供基於URL的統一文件類型界面,儘管您可以在技術上與GHC支持定義Handle s(如knob中所用)的定製類型。

但是,您可以使用迭代風格軟件包(如conduitenumerator)以一致的方式處理來自各種源的流式數據。例如,對於files,HTTP(即使不直接使用導管時爲Haskell的最佳HTTP接口),FTP,raw network sockets等,存在導管接口。國際海事組織,這些更適合於處理來自多個來源的數據,而不是一個Handle風格的文件IO解決方案;諸如搜索之類的東西在順序網絡流的背景下沒有意義。

當然,這些不能解決爲所有這些提供一致的用戶界面的問題;將需要一些額外的工作。最簡單的路線可能是從標準網絡包處理URIs,將它們適當地映射到Source(或等效)。對於文件和HTTP等內容,它應該像處理協議一樣簡單,並將其餘的URI作爲字符串傳遞給相應的庫。

總結:不,但是所有這些以統一方式處理本地和遠程數據所需的部分都存在,並且用戶界面部分在您需要時不應太難編寫。