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] max-posedon.livejournal.com 2009-12-13 11:35 pm (UTC)(link)
А был бы Linux, был бы везде utf-8 и никаких проблем, а вы говорите...

[identity profile] max-posedon.livejournal.com 2009-12-14 01:34 am (UTC)(link)
А был бы Linux, было бы emerge hsgnutls и всё, а вы говорите...

В других Linux-ах, не Gentoo по идее будет aptitude install и т.д, про статус в них ничего не знаю, в gentoo hsgnutls доступен без геморроя совершенно, proof link : http://hackage.haskell.org/package/hsgnutls

[identity profile] max-posedon.livejournal.com 2009-12-14 02:01 am (UTC)(link)
случайно не ту ссылку дал, вот та о которой говорил : http://gpo.zugaina.org/dev-haskell/hsgnutls

[identity profile] lionet.livejournal.com 2009-12-14 02:35 am (UTC)(link)
Это и был линукс. Какой-то вариант шапки, может centos. Не gentoo.

[identity profile] dmzlj.livejournal.com 2009-12-14 08:14 am (UTC)(link)
Наблюдаю за всем этим со смешанными чувствами. Сам использовать хаскелл для чего-либо серьезного пока не решился.

[identity profile] metaclass.livejournal.com 2009-12-14 08:35 am (UTC)(link)
Вот, а я действую по принципу "не догоню, так хоть согреюсь".

[identity profile] alexott.livejournal.com 2009-12-14 08:50 am (UTC)(link)
а почему бы не использовать cabal-install?

[identity profile] metaclass.livejournal.com 2009-12-14 08:54 am (UTC)(link)
А как его заставить автоматом зависимости скачивать?
А то ставить кабалом понятно как, но непонятно, как зависимости разрешить.

[identity profile] alexott.livejournal.com 2009-12-14 09:02 am (UTC)(link)
не знаю как под виндой, а под линуксом и маком он по умолчанию все ставит вместе с зависимостями....

[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. Оно для венды для чисто хаскельных пакетов удобнее альтернатив. Для линуксов, кстати, тоже.

[identity profile] nivanych.livejournal.com 2009-12-15 04:18 am (UTC)(link)
И кроме того, эта, вот -- 6.12.1 вышел ->
http://haskell.org/ghc/docs/6.12.1/html/users_guide/release-6-12-1.html

[identity profile] nivanych.livejournal.com 2009-12-15 04:22 am (UTC)(link)
Хотя, про кодировки-то, именно
с уникодом проблем и не было...

[identity profile] metaclass.livejournal.com 2009-12-15 08:07 am (UTC)(link)
Да, "мне уже сообщили". Вернее, я его еще вчера скачал :)