功能如Num a => a - >没有字符串转换的文本

Sib*_*ibi 1 text haskell

我听说show和read的使用是该程序的瓶颈.是否有这样的函数不涉及字符串转换:

thow :: Num a => a -> Text
thow = undefined
Run Code Online (Sandbox Code Playgroud)

一个明显的实现是这样的,pack . show但遗憾的是涉及字符串转换.有没有最佳方法来实现这一目标?

Joa*_*ner 8

查看text包的文档,您可能希望使用这些函数Data.Text.Lazy.Builder.Int,例如:

thow :: Integral a => a -> Text
thow = toLazyText . decimal
Run Code Online (Sandbox Code Playgroud)

如果您查看该模块的代码,您会看到它具有pragma RULESSPECIALIZEpragma来优化它,if if a是常见的整数类型之一.