metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2009-12-13 09:52 pm

Адъ кодировок в хаскеле

import Data.Encoding
import Data.Encoding.CP1251
import Data.Encoding.CP866
import qualified Data.ByteString as B

test1251 = B.writeFile "test1251" $ encodeStrictByteString CP1251 "жопий"
test866 = B.writeFile "test866" $ encodeStrictByteString CP866 "жопий"

Чтобы заставить оное заработать, пришлось по цепочке поставить encoding-0.6.2 зависящий от extensible-exceptions-0.1.1.0 и HaXml-1.20, который, в свою очередь, зависит от polyparse-1.4.

При этом гугл, скотина, первой ссылкой возвращает encoding-0.4.1, который под GHC 6.10.2 не собирается. Пока я заметил что собираю не последнюю версию, я успел при помощи лома и такой-то матери заставить собраться старую.

В общем, "ничего сложного", для того, чтобы заставить контору: а) закрыться в муках б) искать высокооплачиваемых спецов с кандитатской степенью в CS d) переписывать годами все на дотнете - подойдет идеально.

[identity profile] permea-kra.livejournal.com 2009-12-14 03:13 pm (UTC)(link)
ребе, поставьте haskell platform на англоязычную венду и пишите слова типа cabal install haxml. Оно само всё поставит.
И да, 6.10.2 это некрофилия.

[identity profile] metaclass.livejournal.com 2009-12-14 05:54 pm (UTC)(link)
Ээээ, в дебиано-убунтах в репозиториях до сих пор 6.8 лежит.

А еще у меня цель - не чтобы оно "само поставилось", а чтобы я мог поднять среду разработки на компе в любой позе из любых поз. У нас это одна из рабочих заморочек - знать, как наладить рабочую инфраструктуру на пустом месте за минимальное время.

[identity profile] permea-kra.livejournal.com 2009-12-14 09:07 pm (UTC)(link)
у 6.8 и 6.10 разные language features, а 6.10.4 от 6.10.2 в основном багфиксами отличается.

Эм, всё равно поставьте haskell platform и посмотрите на файл настроек cabal install. Оно для венды для чисто хаскельных пакетов удобнее альтернатив. Для линуксов, кстати, тоже.