![]() |
|
![]() ![]() ![]() |
|
Artemios |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 405 Регистрация: 14.8.2006 Где: Саратов, Россия Репутация: нет Всего: 50 |
Haskell и кириллица -- есть ли возможность как-нибудь подружить, кроме как таким способом:
Когда пытаюсь просто в кавычках записать строку с кириллицей -- компилятор (ghc) ругается на лексическую ошибку. Это сообщение отредактировал(а) Artemios - 18.1.2007, 01:36 -------------------- fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ] |
|||
|
||||
DrDred |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 14.9.2006 Где: Земля Репутация: нет Всего: 2 |
Счас проверил ghc 6.4.2 - если файл сохранен в UTF-8 то все нормально... правда т.к. консоль не юникодная, то пользы от этого маловато
![]() |
|||
|
||||
Artemios |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 405 Регистрация: 14.8.2006 Где: Саратов, Россия Репутация: нет Всего: 50 |
Странно... Вся система utf-8, включая и консоль.
SuSE Linux 10.1 ghc-6.4.2 Что получается:
Добавлено @ 13:38 P.S. пакет с ghc качал с PACKMAN-а, может у них он собран без поддержки юникода? Это сообщение отредактировал(а) Artemios - 18.1.2007, 15:04 -------------------- fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ] |
|||
|
||||
DrDred |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 14.9.2006 Где: Земля Репутация: нет Всего: 2 |
а cat точно создает utf-8 файл? Про Linux сказать ничего не могу, т.к. тестировал под Виндой...
|
|||
|
||||
Artemios |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 405 Регистрация: 14.8.2006 Где: Саратов, Россия Репутация: нет Всего: 50 |
угу. Он писал в файл то, что я вводил с консоли, а в консоли utf. На всякий случай проверил -- действительно utf.
попробовал бинарники от разработчиков с офф. сайта -- та же беда. Приду домой, в Винду попробую загрузиться, там еще посмотрю... Хотя, для cp1251 там проверял -- также не хотело... Но не может же быть такого, чтоб под виндой была поддержка, а под *nix -- нет? DrDred, а у тебя откуда дистрибутив? -------------------- fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ] |
|||
|
||||
DrDred |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 14.9.2006 Где: Земля Репутация: нет Всего: 2 |
Черт, извиняюсь похоже прогнал с utf-8
![]() А вот с cp1251 все хорошо... Брал дистрибутив с haskell.org, вроде ничего не докручивал... |
|||
|
||||
Artemios |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 405 Регистрация: 14.8.2006 Где: Саратов, Россия Репутация: нет Всего: 50 |
Опа...
Я похоже тоже прогнал: и наверно тот же utf-8 в Винде компилировал... Сейчас под Linux-ом попробовал koi8-r -- все замечательно собирается и запускается ![]()
Значит, вопрос не в кириллице, а в поддержке юникода. Это сообщение отредактировал(а) Artemios - 18.1.2007, 17:14 -------------------- fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ] |
|||
|
||||
Artemios |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 405 Регистрация: 14.8.2006 Где: Саратов, Россия Репутация: нет Всего: 50 |
Вообще, вопрос темы возник по следующему поводу:
начал баловаться с построение ГУИ с использованием библиотеки gtk2hs Тут выяснилось, что строки с не-ascii символами GTK кушает в юникоде. Решил: если гора не идет к Магомеду -- Магомед идет к горе. Написал скриптик (если кому нужен -- присоединяю к сообщению), который разбирает программу на Haskell и заменяет строки, содержащие не-ascii символы, на представление вида (map chr [список hex-значений символов в юникоде]). Теперь могу писать в любой кодировке и использовать любые строки, а после обработки скриптом все замечательно компилируется и работает хоть в Линуксе, хоть в Винде. Скрипт писал на Python -- соответственно понимает все кодировки, что понимает питон (а это если и не все, то большинство ныне используемых кодировок). В большинстве дистрибутивов линукса питон установлен по умолчанию, под виндусом пробовал с установленным питоном, но при желании можно собрать и независимый от питона экзешник. Ниже привожу пример использования (скрипт назвал notascii2haskell ![]()
и после выполнения последней строчки имею окошко с кнопкой: ![]() Предложения по дополнению/улучшению принимаются ![]() Присоединённый файл ( Кол-во скачиваний: 9 ) ![]() -------------------- fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ] |
|||
|
||||
Laughedelic |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 11.10.2007 Репутация: нет Всего: нет |
у меня такая же проблема с кириллицей в Хаскелле.
кроме этого скрипта никто не придумал, других решений? |
|||
|
||||
![]() ![]() ![]() |
Правила форума «Функциональные языки: общие вопросы» | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Функциональные языки: общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |