Преобразование буквальных символов в Word8

Документация для ByteString дает следующий пример кода:

breakByte :: Word8 -> ByteString -> (ByteString, ByteString)
breakByte 'c' "abcd"

Однако, когда я пишу то же самое, я получаю следующую ошибку (ideone):

Couldn't match expected type `GHC.Word.Word8'
            with actual type `Char'

Конечно, 'c' это Char, а не Word8. Предположительно, они используют какое-то расширение, которое позволяет функции стиля fromInteger автоматически работать с литералами Char, но я не уверен, что именно. {-# LANGUAGE OverloadedStrings #-} не имеет значения.


person Clinton    schedule 01.10.2014    source источник


Ответы (1)


Просто импортируйте версии Char8 файла модули. Они выполняют преобразование байтов. Обратите внимание, что это для 8-битных символов. Так что не пытайтесь вставлять в него данные юникода.

person Don Stewart    schedule 01.10.2014