尽管Haskell社区的普遍观点似乎是总是使用Text代替总是更好String,但是大多数可维护库的API仍然是面向的这一事实使String我感到困惑。另一方面,有一些值得注意的项目,这些项目将全部视为String错误,并且提供了Prelude-String面向功能的所有实例都替换为Text-counterparts的实例。
因此,String除了向后兼容和标准的Prelude兼容以及“切换机制”之外,人们是否有理由继续编写面向对象的API?与之Text相比,是否还有其他缺点String?
特别是,我对此很感兴趣,因为我正在设计一个库并试图决定使用哪种类型来表达错误消息。