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

GMT+3
[01:09:01] ExplicitCall вышел(а) из комнаты
[01:14:59] ExplicitCall вошёл(а) в комнату
[01:25:05] ermine вышел(а) из комнаты
[01:29:04] ExplicitCall вышел(а) из комнаты
[04:37:38] sevenov вошёл(а) в комнату
[08:58:42] iNode вошёл(а) в комнату
[10:13:51] sevenov вышел(а) из комнаты
[11:30:53] Kakadu вошёл(а) в комнату
[13:18:58] ermine вошёл(а) в комнату
[14:23:45] Typhon вошёл(а) в комнату
[15:09:07] iNode вышел(а) из комнаты
[15:26:09] iNode вошёл(а) в комнату
[15:39:28] Kakadu вышел(а) из комнаты
[15:54:38] Lyi11 вошёл(а) в комнату
[15:54:43] Lyi11 вышел(а) из комнаты
[15:54:48] wilderwine вошёл(а) в комнату
[15:55:00] wilderwine вышел(а) из комнаты: QIP Infium: Спокойное общение
[16:09:49] Typhon вышел(а) из комнаты
[16:10:06] Typhon вошёл(а) в комнату
[16:19:01] Lyi11 вошёл(а) в комнату
[16:19:06] Lyi11 вышел(а) из комнаты
[16:42:43] <Typhon> ermine, gds спамеров забаньте
[16:43:13] sevenov вошёл(а) в комнату
[17:33:38] cfi/0 вошёл(а) в комнату
[17:34:01] <cfi/0> привет окамлеконференция
[17:34:24] <cfi/0> а есть ли в природе открытые ИДЕ для топика шоб подсвечивали типы функций?
[17:35:37] <gds> вроде cameleon умеет, вроде плагин к eclipse умеет, но всё это надо смотреть таки. лично я не смотрел.
[17:36:01] <cfi/0> хм
[17:36:04] <cfi/0> сейчас посмотрим
[17:36:28] <gds> если "подсвечивает" допустимо по нажатию клавиши, то и емакс вроде тоже.
[17:38:25] <gds> во, ещё эту вспомнил: http://camelia.sourceforge.net/
точно умеет, судя по описанию.
[17:39:10] <Typhon> я под виндой ей пользуюсь
[17:39:24] <Typhon> не помн, чтобы подсвечивала, умеет типы проверять, по запросу.
[17:40:15] <gds> натурально подсвечивает: http://camelia.sourceforge.net/snapshot1.png
[17:40:34] <gds> хоть кто-то пользуется иде :)
[17:40:50] <Typhon> под виндой emacs хреновый какой-то :/
[17:41:48] <gds> а что случилось? я, вон, его под виндой тоже использую. кое-где utf8 vs not utf8 вылазит, но не критично.
[17:42:19] <Typhon> а ты который пользуешь?
[17:42:48] <Typhon> я его около года назад под вендой пускал, не помню, что не понравилось, может и впрямь, стоит еще попробовать
[17:44:02] <gds> он сейчас далеко, я даже не помню сходу. какой-то давности год назад.
мне от него надо было utf8 (старый фар не подходил) и реакцию на ошибки (как при M-x compile). обе фичи работают.
[17:46:16] <Typhon> странно, у меня в камелии такая подсветка не работает -- всегда пишется "selection is not valid ocaml expression".
[17:48:40] michael.holub вошёл(а) в комнату
[17:49:14] <gds> может оно не может какое-нибудь ocaml -dtypes запустить? впрочем, явно баг. может взять свежак и, если повторится, отрепортить?
[17:51:30] <Typhon> вроде пути прописаны как надо, проверка типов по запросу работает, завтра/послезавтра попробую, когда за тем компом буду :)
[17:53:50] michael.holub вышел(а) из комнаты
[17:58:03] <cfi/0> тактак
[17:58:08] <cfi/0> что за окамль -dtypes?
[17:58:56] <cfi/0> если можно как-то консолько вывести типы это даже лучше
[18:00:28] <cfi/0> справка и ман молчат об этом каи партизаны
[18:00:31] <cfi/0> *аки
[18:01:42] Typhon вышел(а) из комнаты: Replaced by new connection
[18:01:46] Typhon вошёл(а) в комнату
[18:05:59] <cfi/0> блин... класно. у меня нет ocamlfind
[18:06:01] <cfi/0> что делать?
[18:08:07] <gds> ocamlfind -- поставить. называется findlib.
[18:08:12] <cfi/0> аха
[18:08:13] <cfi/0> уже нашел
[18:08:16] <cfi/0> и поставил
[18:09:01] <gds> соответственно, ocamlc -dtypes выведет информацию о типах выражений.
[18:09:54] <gds> точнее, не выведет, а при компиляции положит в имяфайла.annot. Ещё есть опции для вывода информации о компиляции (промежуточные представления).
[18:10:27] <cfi/0> $ ocamlc -dtypes type.ml
File "type.ml", line 19, characters 0-8:
Unbound module Ast
[18:10:31] <cfi/0> гм
[18:10:44] <cfi/0> не, мне бы просто получить типы из куска проги
[18:10:57] Typhon вышел(а) из комнаты
[18:11:25] <gds> они сильно зависят от того, что было до куска, что было в опциях строки компиляции и прочего. То есть, компилировать кусок таки надо.
[18:12:12] <cfi/0> гмгмгм
[18:20:09] <cfi/0> checking for Lablgtk2 (byte) default install... yes
checking for Lablgtk2 (opt) default install... no
Could not link with LablGtk2
[18:20:15] <cfi/0> блин
[18:20:18] <cfi/0> что он от меня хочет?
[18:20:57] <gds> lablgtk2, скомпилированного в нативкод.
[18:21:56] <cfi/0> гм
[18:22:38] <cfi/0> чет в конфиге lablgtk2 не видно как ему сказать об этом
[18:23:38] <cfi/0> а... нашел
[18:26:25] <cfi/0> File "gtksv-utils/gtksv_utils.mli", line 35, characters 30-66:
Unbound type constructor GSourceView2.source_language_manager
[18:26:30] <cfi/0> мдя
[18:27:57] <cfi/0> и умер он молодым и красивым в атаке ан берли
[18:28:48] <cfi/0> File "rss/rss_gui.ml", line 447, characters 56-65:
Warning S: this expression should have type unit.
Error: error-enabled warnings (1 occurrences)
[18:28:50] <cfi/0> ппц
[18:28:54] <cfi/0> и младшая версия тоже
[18:29:34] <gds> а чего собираешь хоть?
[18:29:45] <cfi/0> самлеон же
[18:30:19] <cfi/0> хотя похоже мне надо будет таки всеравно замодифить мейксрипты проекта чтобы он типы выводил в нужном месте
[18:30:20] <gds> последнее можно поправить, убрав "-warn-error .."
[18:30:39] <cfi/0> для этого тоже надо модить мейксрипты
[18:30:44] <cfi/0> а у окамла они свои какие-то
[18:30:50] <cfi/0> мой неподготволеный мосцк этого не выдержит
[18:30:52] <gds> проект в качестве основной задачи включает в себя вывод типов окамловского кода?
[18:30:57] <cfi/0> шоб сразу
[18:31:00] <cfi/0> пока нубометоды попробую (%
[18:31:09] <cfi/0> gds: нет
[18:31:14] <cfi/0> есть кусок в 3-4 килостроки
[18:31:19] <cfi/0> надо отреверсить алгоритм
[18:31:45] <cfi/0> Warning S: this expression should have type unit.
Error: error-enabled warnings (1 occurrences)
[18:31:48] <cfi/0> итить твою в качель
[18:31:58] <cfi/0> куда там этот -warn-error писать?
[18:32:03] <gds> его убирать надо
[18:32:12] <cfi/0> File "report/rep_gui.ml", line 550, characters 52-61:
Warning S: this expression should have type unit.
[18:32:15] <cfi/0> гм
[18:32:25] <cfi/0> это проще
[18:32:40] <gds> правильно бьют по рукам тех, кто в не-девелоперские версии -warn-error пихает. компиляторы меняются ведь.
[18:34:06] <cfi/0> ну они ж явно как лучше хотели
[18:34:11] <cfi/0> и пофиг что получилось как всегда (%
[18:35:54] <gds> если в простом случае отреверсить, может просто через "ocamlc -i -c имяфайла.ml" вывести сигнатуру модуля? как начальный шаг разборок -- вполне.
[18:39:46] <cfi/0> о
[18:39:50] <cfi/0> звучит как то что нужно
[18:40:44] <cfi/0> гм
[18:40:57] <cfi/0> всеравно ругается на несвязаный модуль
[18:42:06] <gds> если можно его убрать так, что оно не повлияет, то советую убрать. или всё-таки подсунуть правильный модуль.
[18:44:09] <cfi/0> подусунуть как?
[18:44:37] <gds> создать ast.ml с нужным содержимым.
[18:45:02] <cfi/0> он есть
[18:45:04] <cfi/0> с нужным
[18:45:11] <cfi/0> только ocamlc -c ast.ml не помогло
[18:45:17] <cfi/0> а что прописывать я не представляю
[18:45:37] <cfi/0> и что-то проект куском скачался из репов
[18:45:53] <cfi/0> сейчас тарбол стяну, соберу
[18:45:56] <cfi/0> ожет подхватит
[18:46:04] <gds> ocamlc -c ast.mli ещё обязательно, если ast.mli есть
[18:46:10] <gds> а видимо есть
[18:48:40] <cfi/0> гм
[18:48:41] <cfi/0> нет
[18:48:44] <cfi/0> mli нет
[18:48:54] <cfi/0> есть cmi и cmo
[18:54:35] <gds> расклад такой: если оно требует модуль Ast, а в текущей дире (и в опциях "-I дира") есть ast.cmi, оно обязано его подцепить. С другой стороны, оно может требовать модуль Ast из другого модуля, т.е. Mod1.Mod2.Ast.somefunc если указано, и если Mod1.Mod2 есть, то может оно на этот отсутствующий Ast и ругается.
в общем, копать надо. Ничего сложного, просто вникнуть в модули.
[18:55:21] <cfi/0> ха... красота... убрал варн-эррор - появилась опять самая первая ошибка
[18:55:56] <cfi/0> ocamlc type.ml
File "type.ml", line 67, characters 20-49:
Unbound type constructor PMap.t
[18:55:59] <cfi/0> гм
[18:56:03] <cfi/0> подцепить подцепило похоже
[18:56:11] <cfi/0> но чет опять нетак в датском королевстве
[18:59:36] <gds> ну, метод отлова как бы теперь ясен.
PMap -- частенько подкидывают полиморфный map или используют его из extlib какого-нибудь.
[19:04:36] cfi/0 вышел(а) из комнаты: Replaced by new connection
[19:04:43] cfi/0 вошёл(а) в комнату
[19:07:24] <cfi/0> аха
[19:07:29] <cfi/0> нашел я колдунство
[19:07:31] <cfi/0> блин... ну и извратная же система - собирать все на помеси мейкфайлов и скрипта на окамле v_v
[19:08:33] <cfi/0> омг
[19:08:45] <cfi/0> следующий этап квеста - как читать аннотации о_О
[19:10:25] <cfi/0> оО
[19:10:29] <cfi/0> 16килостроки
[19:10:51] <gds> каждое выражение, однако.
[19:11:27] <cfi/0> ну да. я уже догадался что тм после имени файла идет номер строки
[20:06:43] sceptic вышел(а) из комнаты
[20:30:26] Typhon вошёл(а) в комнату
[20:55:38] ExplicitCall вошёл(а) в комнату
[21:02:25] ExplicitCall вышел(а) из комнаты: Replaced by new connection
[21:02:27] ExplicitCall вошёл(а) в комнату
[21:05:06] sceptic вошёл(а) в комнату
[22:09:25] iNode вышел(а) из комнаты
[22:35:32] sceptic вышел(а) из комнаты
[22:38:56] Typhon вышел(а) из комнаты: Replaced by new connection
[22:39:01] Typhon вошёл(а) в комнату
[22:39:53] sceptic вошёл(а) в комнату
[22:46:44] Typhon вышел(а) из комнаты
[23:40:07] ExplicitCall вышел(а) из комнаты
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!