Хоча загальна думка спільноти Haskell така, що завжди краще використовувати Text
замість цього String
, той факт, що все-таки API більшості підтримуваних бібліотек String
орієнтований, мене бентежить. З іншого боку, є помітні проекти , які String
взагалі розглядаються як помилки і забезпечують Prelude
усі екземпляри String
-орієнтованих функцій, замінених на Text
-подібні.
Тож чи існують причини для людей продовжувати писати String
орієнтовані API, крім зворотної та стандартної сумісності Prelude та "інтерті, що робить перемикання"? Чи є якісь інші недоліки Text
порівняно з String
?
Зокрема, мене це цікавить, оскільки я розробляю бібліотеку і намагаюся вирішити, який тип використовувати для висловлення повідомлень про помилки.