[英]How can you best offer a generic interface on bytestrings?
我想为我正在编写的库提供“用户友好”的通用接口。 这似乎应该已经存在,所以我不想重新发明轮子。
在它的核心,库是很多C函数的包装器,它们采用unsigned char[]
。 现在我正在使用vector
因为很容易理解如何使用Mutable
来分配和freeze
由库写入的C数组,但更流行的接口是ByteString
。 有透明转换它们的好方法吗? 和/或为它们提供通用接口的好方法?
作为一个例子,我希望能够编写一个函数
doIt :: ByteArrayLike ba => ba -> ba
并使它在ByteString
和Vector Word8
相同。
我不确定你想要什么样的操作ByteString
和Vector
,但你可以看一下lens
包,它提供了两者的通用操作。
也许为Vector
实现一个IsByteString
实例? 看到这里
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.