看到这个相关的SO问题:Automatic conversion between String and Data.Text in haskell最优雅的方式做在Haskell
鉴于Text
类型的字符串,我想制作一个懒惰的字节串。
这工作,但我不知道它是否是最优的,鉴于这两个Text
和懒惰的字节串有被“串像”财产,我还是用没有泛型unpack
:
import qualified Data.ByteString.Lazy (ByteString)
import Data.Text (Text, unpack)
import Data.String (fromString)
import Data.Text (unpack)
convert :: IsString str => Text -> str
convert = fromString . unpack
我发现,它提供了多态函数
convertString :: a -> b
为ConvertibleStrings
类型类的部分包string-conversions。
虽然它工作正常,但我很怀疑:为什么我需要额外的软件包?难道已经没有像IsString
这样的类型类型,它提供了toString
方法和组合的通用转换函数fromString . toString
?