Адъ кодировок в хаскеле
Dec. 13th, 2009 09:52 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
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) переписывать годами все на дотнете - подойдет идеально.
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) переписывать годами все на дотнете - подойдет идеально.
no subject
Date: 2009-12-13 11:35 pm (UTC)no subject
Date: 2009-12-14 01:09 am (UTC)Тогда, Чтобы легко и быстро написать очередную тулзу, общающуюся с SSL сервером, пробую использовать Haskell TLS binding.
Очевидно же, это заговор.
no subject
Date: 2009-12-14 01:34 am (UTC)В других Linux-ах, не Gentoo по идее будет aptitude install и т.д, про статус в них ничего не знаю, в gentoo hsgnutls доступен без геморроя совершенно, proof link : http://hackage.haskell.org/package/hsgnutls
no subject
Date: 2009-12-14 02:01 am (UTC)no subject
Date: 2009-12-14 02:35 am (UTC)no subject
Date: 2009-12-14 08:14 am (UTC)no subject
Date: 2009-12-14 08:35 am (UTC)no subject
Date: 2009-12-14 08:50 am (UTC)no subject
Date: 2009-12-14 08:54 am (UTC)А то ставить кабалом понятно как, но непонятно, как зависимости разрешить.
no subject
Date: 2009-12-14 09:02 am (UTC)no subject
Date: 2009-12-14 03:13 pm (UTC)И да, 6.10.2 это некрофилия.
no subject
Date: 2009-12-14 05:54 pm (UTC)А еще у меня цель - не чтобы оно "само поставилось", а чтобы я мог поднять среду разработки на компе в любой позе из любых поз. У нас это одна из рабочих заморочек - знать, как наладить рабочую инфраструктуру на пустом месте за минимальное время.
no subject
Date: 2009-12-14 09:07 pm (UTC)Эм, всё равно поставьте haskell platform и посмотрите на файл настроек cabal install. Оно для венды для чисто хаскельных пакетов удобнее альтернатив. Для линуксов, кстати, тоже.
no subject
Date: 2009-12-15 04:18 am (UTC)http://haskell.org/ghc/docs/6.12.1/html/users_guide/release-6-12-1.html
no subject
Date: 2009-12-15 04:22 am (UTC)с уникодом проблем и не было...
no subject
Date: 2009-12-15 08:07 am (UTC)