Home
Objective Caml
ocaml@conference.jabber.ru
Четверг, 3 марта 2011< ^ >
f[x] установил(а) тему: Камль -- http://caml.inria.fr | Логи -- http://chatlogs.jabber.ru/ocaml@conference.jabber.ru/ | Вики -- http://gdsfh.dyndns.org/kamlo/ | Верблюды грязи не боятся! | release crap, enjoy NIH | репортьте баги официальным дилерам | ocaml мёртв, move on
Конфигурация комнаты
Участники комнаты

GMT+3
[00:11:03] <gds> совершенно независимо от чятика вписался туда.  http://permea-kra.livejournal.com/23275.html?thread=76267#t76267  .  Пусть попробуют сказать, что гомоморфизм не важен.
[00:11:42] <gds> это же _их_ гомоморфизм, пусть его холят и лелеют сами.
[00:13:23] <gds> вообще, лично у меня это не гомоморфизм, а "чё за хня тут бть получилась?  опять {плавучка точность теряет | в инты не влезло}?"
[00:17:32] <komar> «в инты не влезло» в х-ле нету.
[00:17:34] <ygrek> независимо от чятика как раз писал +1 gds'у за коммент :)
[00:19:18] <ygrek> чё, в этом х-е даже фиксированных целых нету?
[00:19:26] <gds> komar: это я про нормальные языки.  В х-е зато бывает так, что кагбэ подразумеваешь, что работа идёт с 32битными беззнаковыми, и даже пишешь их куда-нибудь в файл, ан нет, не выходит (или не входит).
[00:20:03] <komar> ygrek: есть где-то.
[00:20:31] <komar> Но х-бы сильно на меня кричат, когда я говорю, что ими тоже можно пользоваться.
[00:21:30] <gds> так смотря какая задача, вообще-то.  Где-то одно нужно, где-то другое.
[00:24:14] <zert> darkus этот х-ь нигде не использовал, тащемта
[00:26:09] <gds> тогда он тем более молодец!  профессионал разговорного жанра, матёрый оратор.
[00:28:53] <zert> дык Ъ-х-ьщик же
[00:29:15] <zert> настоящий х-ьщик должен писать на C#, или накрайняк на Java
[00:30:33] <zert> хотя человек-то хороший
[00:30:44] <gds> редкий, ничем не заканчивающийся фап на clojure приветствуется.
[00:37:17] <komar> О, Зефиров тоже про окамл написал.
[00:38:18] <Typhon> надо коан ему в комменты штоле
[00:38:20] <Typhon> про let rec
[00:41:03] komar вышел(а) из комнаты: Replaced by new connection
[00:41:04] komar вошёл(а) в комнату
[00:43:29] <komar> Сделал.
[00:43:41] <zert> дай линк
[00:43:54] <komar> http://thesz.livejournal.com/1188801.html
[00:45:38] <zert> зефирый вообще какую-то внутреннюю примочку на х-е делает, которую кроме него никто не видел и не использует
[00:45:41] <ygrek> ну там этот коан не совсем в тему
[00:45:45] <zert> срамота, короче
[00:45:57] <zert> один dmz что-то реальное на х-е пишет
[00:46:02] <zert> но он и не фапает на него
[00:46:54] <komar> zert: Зефиров же вроде какую-то ерунду для проектирования железа делал.
[00:46:56] <Typhon> адепт ещё внутренню штуку какую-то писал на хаскиле. а теперь вроде как на окамле в жейн стрит будет :-)
[00:47:44] <zert> komar: ага, и писал об этом, будто какой-то мегаподвиг
[00:47:55] <zert> мол, сделал на х-е, герой
[00:48:13] <komar> Ну я в этом не шарю совсем, но срачи читал, выглядело убедительно
[00:48:19] <zert> написал бы на ссях за два вечера — нечем похвастаться было бы
[00:48:21] <gds> http://permea-kra.livejournal.com/23275.html?thread=76523#t76523
[00:48:55] <komar> Ну так там и смысл был, кажется, в том, что целая орава индусов его обгоняла, а он герой и со всем справился.
[00:51:57] <zert> от адепта никакого флуда про х-ь я не видел, значит действительно что-то делает путное :))
[00:52:20] <zert> флудят про х-ь только теоретики
[00:52:28] <komar> Академики.
[00:52:31] gds вышел(а) из комнаты
[00:52:32] <Typhon> :-) хорошая схема. в журнал адепт писали, емнип
[00:52:38] <ygrek> кто знает откуда правильно качать и правильно ставить сишную mingw-либу в cygwin-среду
[00:53:24] <zert> та в журнал — не считается
[00:53:28] <zert> я вот тоже писал
[00:56:23] gds вошёл(а) в комнату
[00:58:48] Kakadu вышел(а) из комнаты
[01:02:37] ygrek вышел(а) из комнаты
[01:25:57] gds вышел(а) из комнаты
[03:26:38] zert вышел(а) из комнаты
[04:00:31] Typhon вышел(а) из комнаты
[05:00:51] f[x] вышел(а) из комнаты
[06:59:07] komar вышел(а) из комнаты
[08:40:59] gds вошёл(а) в комнату
[08:53:57] superbobry вышел(а) из комнаты
[09:43:41] f[x] вошёл(а) в комнату
[11:11:03] ygrek вошёл(а) в комнату
[11:14:44] <gds> ygrek: насчёт мингв либ к цыгвину -- если не ошибаюсь, достаточно прилинковать мекрософтовский рантайм (ну и что там ещё линкуется по умолчанию мингвом).  Однако интероперабельность будет страдать -- всякие файловые дескрипторы, всякие malloc/free, всё это будет глючить.
[11:15:19] <f[x]> не, cygwin только как оболочка - шелл
[11:15:35] <f[x]> наверное надо попробовать mingw-only
[11:15:56] <f[x]> помню без cygwin-шелла что-то не собиралось
[11:15:59] <gds> давно пора.  тебе для окамла надо?  если да, патчи есть на эту тему, там разница есть.
[11:16:24] <f[x]> а cygwin дёргает mingw компилеры и гооворит им смотреть в mingw путях, так что там всё независимо (по идее)
[11:16:48] <f[x]> и для окамла тоже и для того чтобы биндинги всякие на винде тестить (вон mltls тот же)
[11:17:03] <gds> да, независимо, в ocaml/mingw cygwin используется только для шелла (баш там другой, ну может ещё что-то используется цыгвиновское -- ar, например).
[11:17:12] <f[x]> угу
[11:17:35] <f[x]> так вот по слухам последние mingw можно юзать и без cygwin'а для этого, не знаешь?
[11:17:52] <f[x]> и в чём разница - в @responsefile?
[11:18:12] ftrvxmtrx вышел(а) из комнаты
[11:18:14] <gds> вроде первый мой мануал по сборке ocaml/mingw без цыгвина -- от 2004г, там патчить пришлось больше, но работало всё.
[11:18:19] <gds> да, @ тоже.
[11:18:31] <gds> и ещё что-то, точно.
[11:19:49] <gds> во, c:/dir/file рассматривается mingw bash как список путей, преобразовывается в /c:/dir/file или около того (точно забыл), поэтому в одном месте стоит хрень, для путей вида "^[a-z]:/" меняющая "/" на "\".
[11:19:55] <gds> и вроде ещё что-то.
[11:20:12] <gds> ну, пути к tcl/tk-либам, понятное дело, но ты должен был видеть это в оверблд.
[11:20:19] <f[x]> и это до сих пор так?
[11:20:19] <gds> а так -- сходу не помню.
[11:20:33] <gds> а хз, до сих пор ли.
[11:20:36] <f[x]> ясно
[11:21:09] <gds> сейчас падлинупсом, проверить не могу.
[11:29:13] Typhon вошёл(а) в комнату
[11:44:13] ygrek вышел(а) из комнаты
[11:45:55] <gds> The following issue has been REOPENED. http://caml.inria.fr/mantis/view.php?id=5104
криворучки за работой.
[11:51:35] Kakadu вошёл(а) в комнату
[12:04:28] <f[x]> на самом деле надо просто запретить quotation'ы в original, всем проблем меньше будет
[12:04:54] ermine вошёл(а) в комнату
[12:11:08] <gds> запретите им!1111
кстати, согласен.  Однако, в целом, насчёт original syntax у меня слегка более радикальное предложение :]
[12:18:54] <Kakadu> имхо, в revised неудобно дебажную печать добавлять
[12:19:07] <Kakadu> постоянно надо do {} добавлять
[12:19:29] <f[x]> часто ли нужна дебажная печать в quot'ах?
[12:19:31] <Typhon> Kakadu: пиши без ошибок! ^_^
[12:19:45] <gds> не обязательно -- для любого выражения <expr> можно дописать
let () = dbg "q=%i\n" q in
<expr>
[12:20:36] <Kakadu> Typhon: я бы зказал что вы мечтаете об утопии, и теперь буду называть вас утопцем)
[12:20:52] <Kakadu> gds: до этого я не догадался. Буду пробовать
[12:22:11] <Typhon> Kakadu: можно на "ты", а то как-то неудобно :-)
[12:22:31] <gds> вообще думал сделать даже более интересно, но руки не дошли: каким-нибудь седом препроцессить, и строку "\s*DBG формат аргументы" заменять на "let () = dbg формат аргументы in".  Тривиальная замена, а удобно:
  let a = func () in
DBG "a=%i" a
  let b = a + 1 in ...
[12:22:37] <Kakadu> Typhon: это я чтобы подчеркнуть мининаезд)
[12:24:09] olegfink вошёл(а) в комнату
[12:26:07] <olegfink> привет
[12:30:47] <f[x]> ку
[12:35:44] <olegfink> у меня есть странное ощущение, что я это уже когда-то давно спрашивал, но так как ответа все равно не помню, а понадобилось мне это заново, то спрошу снова: карделли в одной своей статье (basic polymorphic typechecking)
[12:35:46] <olegfink> говорит про вывод типов буквально следующее: "This strongly contributes to ML's feel of care-free, quick-turnaround language, which is wrongly associated only with interpretive, untyped languages."
[12:37:48] <olegfink> мне что-то лень читать милнера, а интересно, говорится ли у него (или вообще где-нибудь) про эту идею -- что если иметь хорошие лопаты (вроде системы типов), то можно втянуть в статически компилируемый язык все
[12:37:50] <olegfink> желаемые свойства интерпретируемого
[12:38:38] f[x] не в курсе
[12:43:17] <olegfink> это я так пытаюсь найти мотивацию для написания компилятора. :-)
[12:43:37] <Typhon> olegfink: судя по контексту (прочёл только абзацы рядом с цитированным текстом), карделли говорит про отутствия необходимости в декларациях типов в МЛ, которые как раз "wrongly associated only with interpretive, untyped languages.". про "втянуть все свойства" я не нашёл. дальше стоит почитать. или это твои рассуждения дальше?
[12:43:45] <gds> совсем всё не втянуть, ибо для некоторых динамических вещей система типов будет скорее ограничивать, нежели помогать.  Тип = доказательство каких-либо свойств программы, и, добавляя навороты в систему типизации, доходим до момента, когда 1. хитро-типизируемые штуки описывать долго, печально, неудобно (см. манатки для ввода-вывода; хотя не совсем то), 2. когда эти типы мало чем полезны.  Ещё бывают динамические по своей природе вещи, например, произвольный пользовательский ввод, и там тоже не всё хорошо.
[12:44:14] <Typhon> olegfink: ну вот J пот гпл релизят, не мотивирует это взять посмотреть, ужаснуться и переписать "какправильно" ? :-)
[12:44:19] <Typhon> *под
[12:45:15] <olegfink> Typhon, мои рассуждения
[12:47:00] <olegfink> gds, по-моему, если пользовательский ввод настолько произвольный, что его иначе как eval-ом не распарсить, то обсуждаемая программа является интерактивной консолью для языка, на котором написана.
[12:48:38] <olegfink> про хитрую типизацию правда, но, вроде как, это беда системы типов (излишняя сложность), а не подхода
[12:49:13] <olegfink> Typhon, ну в J никогда не было компилятора, я тебе больше скажу -- там даже функции не парсятся при определении
[12:50:58] <olegfink> все-таки непонятно тут
[12:51:46] <olegfink> идеалистически, тот факт, что мы не можем приписать программе некоторый тип, говорит о том, что мы не знаем, что эта программа делает, а такого небось даже скриптописатели не хотят
[12:55:09] <olegfink> такое впечатление, что тут все упирается в техническое ограничение: если бы у меня была еще более крутая лопата (более мощная система типов, или что там сейчас модно, контракты?), то я бы и вот эту
[12:55:11] <olegfink> интерпретируемую программу смог бы статически описать?
[12:55:11] <gds> не обязательно -- "что делает" не равно "какой тип имеет", так как можно вон вычислять колатца до упора и что-то делать (в худших случаях прерываясь по вотчдогу), а попробуй докажи, что программа таки завершается.
это не к типизации, но, если в систему типов включить завершимость, то к ней тоже.
[12:58:50] zert вошёл(а) в комнату
[13:00:16] <gds> olegfink: а давай пример интерпретируемой программы.  (заранее скажу, вопрос непростой.)
[13:00:41] <olegfink> так я сам не знаю
[13:00:55] <olegfink> собственно этот вопрос эквивалентен моему :-)
[13:01:09] ftrvxmtrx вошёл(а) в комнату
[13:02:07] <olegfink> про "что делает", конечно, слишком громко сказано
[13:02:21] <gds> тогда проще писать на наиболее подходящем для задачи языке со статической типизацией, и наступить когда-нибудь на пример, из которого всё станет ясно.
[13:03:31] <olegfink> вообще видимо в чем разница меду интерпретируемой и неинтерпретируемой программой -- в первой смысл кода зависит от контекста времени выполнения
[13:04:13] <olegfink> то есть вместо "типизировать" я хотел сказать "можно ли выделить конечное число этих интерпретаций статически"
[13:05:18] <olegfink> а у тебя попадались программы, которые обязательно интерпретируемые?
[13:08:00] <gds> из полезных -- только от пользовательского ввода зависящие, ну и вообще, от внешнего мира.  Так сходу вспомнить не могу.  Вспомню -- сообщу, но хз.
[13:08:37] iNode вошёл(а) в комнату
[14:51:33] Sergey Plaksin вошёл(а) в комнату
[14:53:13] Sergey Plaksin вышел(а) из комнаты
[14:53:34] Sergey Plaksin вошёл(а) в комнату
[15:11:45] <ermine> f[x]: тут говорят, что fdopen в моем camlimages падает (в линуксе), там из камла передается fd, тебе это ни о чем не говорит?
[15:12:11] <f[x]> говорит что у кого-то бага :)
[15:12:26] <ermine> ну да
[15:12:35] <f[x]> ну код покажи - посмотрим
[15:13:19] <ermine> а может надо еще fdclose вместо fclose?
[15:13:45] olegfink вышел(а) из комнаты
[15:14:01] <ermine> не
[15:14:18] <ermine> у меня не падает
[16:10:49] Sergey Plaksin вышел(а) из комнаты
[16:16:28] <ermine> а какая разница между открытием файла с O_APPEND и с O_WRONLY?
[16:16:51] <ermine> похоже у него падало из-за аппенда
[16:18:36] <f[x]> падать из-за этого не может, максимум exn
[16:19:50] <ermine> он смылся, уточнить уже не у кого :)
[16:20:23] <ermine> а вообще первый юзер, кто решил воспользоваться этим форком
[16:20:40] <ermine> говорит, из-за оазиса
[16:40:10] <f[x]> странно
[16:52:41] Sergey Plaksin вошёл(а) в комнату
[16:53:10] <Sergey Plaksin> чего странного?
[16:54:15] <f[x]> зачем использовать форк в котором поменялась только билд-система?
[16:54:31] <Sergey Plaksin> потому-что билдить легче
[16:55:08] <f[x]> оазис _сейчас_ легче только тем что не нужен gnu make
[16:55:27] <f[x]> т.е. это актуально только для закоренелых виндопользователей
[16:55:43] <f[x]> но на винде собрать зависимости camlimages без make - всё равно не получится
[16:56:59] <f[x]> это конечно при условии что авторы оригинала не заюзали привычным образом 100500 шелл-утилит при сборке и ermine от этих утилит избавилась, но это непрямой эффект
[16:57:18] <f[x]> (вообще я конечно придираюсь просто)
[16:58:55] <Sergey Plaksin> насколько я помню, года 2 назад я пытался собрать эту либу (может уже путаю), и там они заюзали m4 для окамла и нужно было тянуть откудовато макросы для этой шняги так как их по умолчанию нету...
[17:00:28] <Sergey Plaksin> вообщем суть ошибки в следующем. в ml - файл открываеца с модой O_APPEND, потом в "с" fdopen(Int_val(fd),"wb") - здесь есть несоответствие мод открытия, он возвращает NULL и в errno проставляет Invalid argument
[17:00:54] <Sergey Plaksin> вообщем в мане по fdopen так и написано
[17:01:09] <Sergey Plaksin> The mode of the stream (one of the values "r", "r+", "w", "w+", "a", "a+") must be compatible with the mode of the file descriptor.
[17:02:44] <ermine> а, вот в чем упущение
[17:03:08] <ermine> я так и ни разу не воспользовалась функцией Png.save, поэтому не наступала
[17:03:51] <f[x]> ок, оазис не даёт отстреливать ноги пользователям по умолчанию
[17:04:21] <ermine> хехе
[17:05:01] <Sergey Plaksin> проще быстрее лучше, а этот m4 я никогда не любли :-) кстати я ошибся или нет что оно там была в родной либе?
[17:06:00] <ermine> но кто выкидывал invalid_argument?
[17:06:36] <Sergey Plaksin> errno в "с" выставлялся а функция вызывала failwith("...")
[17:06:38] <ermine> там ж сплошь failwith
[17:07:12] <Sergey Plaksin> EINVAL
[17:07:28] <ermine> а
[17:09:26] <ermine> Sergey Plaksin: s/OPAPPEND/O_WRONLY/ достаточно? так и закоммичу без проверки
[17:12:14] <Sergey Plaksin> А  TRUNC - нужно разве в таком случае?
[17:17:41] <ermine> поглядела ман, наверное не нужен
[17:23:33] <ermine> закоммитила
[17:29:26] Sergey Plaksin вышел(а) из комнаты
[18:53:01] iNode вышел(а) из комнаты
[18:54:18] Typhon вышел(а) из комнаты
[19:03:09] Kakadu вышел(а) из комнаты
[19:07:58] iNode вошёл(а) в комнату
[20:00:20] Kakadu вошёл(а) в комнату
[20:13:14] ftrvxmtrx вышел(а) из комнаты
[21:22:48] komar вошёл(а) в комнату
[21:35:53] iNode вышел(а) из комнаты
[21:53:18] ftrvxmtrx вошёл(а) в комнату
[22:12:20] superbobry вошёл(а) в комнату
[22:52:45] ygrek вошёл(а) в комнату
[23:26:32] ftrvxmtrx вышел(а) из комнаты
[23:26:36] ftrvxmtrx вошёл(а) в комнату
[23:35:42] zert вышел(а) из комнаты
[23:36:03] gds вышел(а) из комнаты
[23:52:28] zert вошёл(а) в комнату
[23:57:42] Typhon вошёл(а) в комнату
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!