【发布时间】:2014-08-02 20:44:14
【问题描述】:
听说show and read的使用是程序的瓶颈。有没有这样不涉及字符串转换的函数:
thow :: Num a => a -> Text
thow = undefined
一个明显的实现是这样的pack . show,但不幸的是这涉及到字符串转换。有什么最佳方法可以实现这一目标吗?
【问题讨论】:
-
在这种一般形式中:不。但对于具体类型(例如,
Integer -> Text),也许。你需要哪个? -
Num a => a -> Text和Num a => a -> String都不能实现。顺便说一句,你为什么要这样做?你会如何使用thow? -
Rhymoid:这不对。
Show是Num的超类,所以show :: Num a => a -> String。或者至少以前是这样的...... -
@JoachimBreitner:等等,
Show不是作为Num的超类被删除了吗? -
@Sibi:没有充分的理由依赖
Eq或Show。Eq涉及文字模式,但我不认为这是融入Num的有用功能。Show中的功能与Num的功能完全不相交。真正的问题是你不能创建更多的抽象实例,比如instance Num a => Num (z -> a),因为函数既不能显示也不能比较。