Я просматриваю главу IO книги Learn You a Haskell и заметил несоответствие в том, как строки байтов отображаются для меня по сравнению со снимками экрана в книге (пример см. ниже). Если у людей нет других предложений, кажется, что решение (по крайней мере, согласно this post) заключается в установке этот патч.
Вероятно, это довольно простой вопрос, но... как мне установить этот тип патча?
Я, конечно, открыт и для других предложений: как заставить ghci отображать правильный формат ByteString.
Моя установка/система:
- ghci 7.6.3 (устанавливается через платформу Haskell)
- Xubuntu 14 (виртуальная коробка)
Как ByteStrings отображаются в книге. (Примечание: можно предположить, что автор загрузил скрипт, содержащий следующие import qualified Data.ByteString.Lazy as B.)
ghci> B.cons 85 $ B.pack [80,81,82,84]
Chunk "U" (Chunk "PQRT" Empty)
Как ByteStrings отображаются на моем компьютере:
Prelude> import qualified Data.ByteString.Lazy as B
Prelude B> B.cons 85 $ B.pack [80,81,82,84]
"UPQRT"
Showк рукописному экземпляру. По сути, версия, используемая LYAH, старше той, которую вы используете, и та, которую вы используете, верна. Новое поведение заключается в том, чтобы распечатать строку байтов, как если бы это была обычная строка, а не как базовые конструкторы данных. Вероятно, это соответствует расширениюOverloadedStrings, благодаря которомуByteStringмогут быть записаны как литералыString. - person bheklilr   schedule 15.10.2014Chunk, созданные компилятором для конкретной Lazy ByteString? - person iceman   schedule 15.10.2014