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

GMT+4
[00:00:05] <ermine> а зачем, кстати?
[00:01:04] <ermine> ygrek: насчет кривых имен cma - они и у меня есть :)
[00:01:11] <ygrek> что зачем?
[00:01:27] <ermine> про параметры после query
[00:01:48] <ygrek> ermine: gds выше привёл пример - читай чат :)
[00:02:02] <ermine> ы
[00:02:04] <gds> конкретно после запроса -- действительно не ясно. А всякие хранимки, или select .. into .. -- вот это вполне.
Вроде в mysql есть нотация @var. типа "select 1 into @a; select x into @b from table where y=@a;" -- вот тут полезно было бы узнать.
[00:02:07] <ermine> надо перечитать чатлог
[00:02:12] <ygrek> [22:39:21]
[00:02:53] <ygrek> gds: чем это лучше select x from table where y = @a?
[00:03:01] <gds> хаха, тут и рассинхронизация часов, и даже другой часовой пояс.
[00:03:31] <gds> ygrek: это не лучше. просто логика бывает хитрая. да и не уверен, что @a относится к bind variables.
[00:03:43] <ygrek> в mysql - да.
[00:03:58] <ermine> да у меня полночь уже стукнула
[00:04:15] <ygrek> признаю что я variable'ы вообще не использовал
[00:04:21] <ermine> мрак, уже 1 сентября
[00:04:44] <gds> половина чата будет тут только вечером!11
[00:06:49] ermine компилит сульцю в новой системе сборки и по ходу выкидывает лишние openы - вот уж реальная польза от перестройки системы сборки
[00:08:43] <604> только хотел всех позлравить с окончанием лета :(
[00:10:20] <ermine> лето должно длиться вечно
[00:12:06] <604> вам тыщи на 4 южнее
[00:13:34] <604> "км" забыл дописать
[00:14:54] <gds> лето приемлю вечно, но жара запарила. с июля моск не включается толком, когда дома (+32..+36). про кондиционеры знаю.
[00:16:56] <604> по санпинам работодатель должен сокращать рабочий день на 1 час за каждый градус выше 24. неудивительно, что уже при 32 не хочется работать
[00:20:03] <gds> ygrek: как будешь делать bind variables, сообщи. и посмотреть хочется, и вообще. может задизайним вариант, который и тебе удобен, и вообще кошерен будет.
[00:20:43] <ygrek> э.. подожди, я кажется перепутал, bind variables это ведь не bind parameters?
[00:20:45] <gds> 604: у нас другие санпины. Да и на работе температура нормальная, дома вот не очень. Гулять, опять же, мало по кайфу. А всего-то 30N.
[00:21:28] <gds> вроде bind variables и bind parameters -- просто разные названия, а "@var" -- это mysql'евские variables.
[00:22:07] <gds> в одной и той же оракловской софтине, в разных версиях были и variables, и parameters.
[00:22:26] <ygrek> переменные и параметры это разные вещи
[00:22:37] <ygrek> параметр это то что подставляется в query
[00:22:49] <ygrek> переменная это обычная переменная просто на стороне sql
[00:22:50] <ygrek> так?
[00:23:18] <gds> в mysql -- вероятно, что дело именно так.
[00:23:22] <ygrek> а в mysql вдобавок переменные могут быть @var, а параметры тоже @var или ?
[00:23:32] <ygrek> в смысле или '?'
[00:23:45] <ygrek> а где не так?
[00:23:56] <ygrek> параметры то везде есть я надеюсь?
[00:29:33] <gds> про переменные -- как я понял, это чисто mysql-фишка. внутренняя штука, которая крутится в чисто в пределах последовательности запросов.
параметры тоже не везде есть, но их везде можно эмулировать, хотя бы грубой нарубкой по разделителю "?".
[00:31:46] <ygrek> угу
[00:31:53] ygrek off
[00:45:16] ygrek вышел(а) из комнаты
[01:09:12] НуНе вошёл(а) в комнату
[01:09:17] НуНе вышел(а) из комнаты: QIP Infium: Спокойное общение
[01:12:43] 604 вышел(а) из комнаты
[07:48:21] john вышел(а) из комнаты
[08:15:47] john вошёл(а) в комнату
[09:53:27] ygrek вошёл(а) в комнату
[10:12:59] 604 вошёл(а) в комнату
[10:18:46] f[x] вошёл(а) в комнату
[11:37:43] <ermine> f[x]: в продолжение темы про камлобилд и функцию extern, которая создает тэг внешней либлы: какая обработка окамлофинда лучше - компилять с помощью окамлофинда или использовать окамлофинд только чтобы получить пути?
[11:38:49] <ermine> щас у меня было второе, гимор там где забыли указать все необходимые депендсы в META
[11:40:18] <f[x]> лучше та которая тебе больше нравится.
[11:40:32] <f[x]> первое конечно более универсально - но плагин получается монстрячий
[11:40:50] <f[x]> я предпочитаю более простой второй вариант - а депенденсы руками в плагине указывать
[11:42:26] <ermine> а ты это в отношении ocamlnet'a пробовал?
[11:44:43] <f[x]> угу
[11:45:25] <f[x]> flag ["link"; "ocaml"; "use_netstring"; "thread"; "byte"] (S[A"netstring_mt.cmo"]);
flag ["link"; "ocaml"; "use_netstring"; "thread"; "native"] (S[A"netstring_mt.cmx"]);
flag ["link"; "ocaml"; "use_equeue"; "thread"; "byte"] (S[A"unixqueue_mt.cmo"]);
flag ["link"; "ocaml"; "use_equeue"; "thread"; "native"] (S[A"unixqueue_mt.cmx"]);
[11:45:32] <f[x]> остальное как обычно
[11:46:43] <ermine> в камлонете не только нетстринги
[11:47:20] <ermine> вот в моем вопросе во втором варианте с помощью окамлфинда можно получить список депендсов и построить вот такие флаги
[11:47:28] <f[x]> это инициализация для -thread
[11:47:44] <ermine> это работает, если аффтар не забыл указать все депендсы в МЕТЕ
[11:48:08] <f[x]> > построить вот такие флаги
какие?
[11:49:42] <ermine> ну функция обходит список депендсов, создает use_tag и втыкает их в флаги компиляции
[11:51:39] <f[x]> т.е. если либа зависит ещё от чего-то?
[11:51:47] 604 вышел(а) из комнаты
[11:52:44] f[x] перечисляет все зависимости руками
[11:53:48] <gds> предположение глупое, так как не знаю внутренностей ocamlbuild, но всё же. А не вариант ли там подменить компилятор "ocamlc" на "ocamlfind ocamlc -package ..."?
[11:53:58] <ermine> вот тебе в привате монструизный код
[11:54:03] <f[x]> угу
[11:54:06] <f[x]> ясно
[11:54:52] <f[x]> gds: вариант. на вики в примерах есть.
[11:55:28] <ermine> вот и я думаю, как оптимизировать жизнь
[12:08:54] <ermine> gds: ты новшеств боишься?
[12:18:24] Mon вышел(а) из комнаты: Replaced by new connection
[12:20:09] Mon вошёл(а) в комнату
[12:20:50] gds вышел(а) из комнаты: Replaced by new connection
[12:20:51] gds вошёл(а) в комнату
[12:22:53] <gds> ermine: касаемо ocamlbuild -- я уже соптимизировал себе жизнь насчёт него. пока всё идёт отлично.
[12:25:27] ermine вышел(а) из комнаты: Replaced by new connection
[12:25:28] ermine вошёл(а) в комнату
[12:27:02] <ermine> gds: а еще tuareg, flymake и наверняка еще кучи полезных штучек
[12:28:44] ermine почему-то не хочет менять ocamlc на ocamlfind ocamlc
[12:29:35] <gds> туарег не умеет revised -- фпень его.
flymake -- почему-то редко бывает подобная нужда. как будет -- обращу внимание.
насчёт кучи полезных штучек -- всё ещё интересно.
[12:48:08] ygrek вышел(а) из комнаты
[12:49:09] john вышел(а) из комнаты
[12:49:18] john вошёл(а) в комнату
[13:09:10] sevenov вышел(а) из комнаты
[13:33:02] 604 вошёл(а) в комнату
[13:39:44] ermine ботается с требованием выстраивать библиотеки в правильном порядке
[13:39:59] <ermine> какое же галимое камло
[13:48:00] <604> ну вот, а я уже обрадовался, что нашел идеальный язык программирования...
[13:52:13] <ermine> это хаскиль
[13:52:32] <gds> и лисп!11
[13:58:20] f[x] плюётся от камловского ffi и поддерживает ermine
[13:58:53] <f[x]> ermine: хинт - имеет значение порядок объявление ocaml_lib в myocamlbuild.ml
[14:09:39] <ermine> f[x]: я знаю
[14:11:13] <ermine> сначала камлобилд искало мои либлы в определенном каталоге, пришлось это заменить на явное прописывание, чтобы не конфликтовало с поиском либл в камлофинде
[14:15:01] <gds> вот кал.. более двух месяцев назад нашёл багу в сборке окамла ( http://caml.inria.fr/mantis/view.php?id=4826 ), думая, что она влияет только на виндовую сборку. Понадобилось собрать под линупсом -- так та же фигня.
Они чо, только "новой системой" собирают, что ли?..
[14:15:30] <gds> и ссыкотно обновлять на последнюю из cvs.
[14:26:47] 604 вышел(а) из комнаты
[14:42:41] Mon вышел(а) из комнаты
[14:43:40] Mon вошёл(а) в комнату
[14:46:42] <gds> напомните, как там распарсить файл так, чтобы получить правильные номера строк? ocamllex, увеличивать lexbuf.lex_curr_p.pos_lnum при '\n', а дальше ocamlyacc/menhir разберутся?
[14:50:51] <ermine> посмотри в модуле Lexing
[14:50:56] <ermine> или Genlex
[14:51:48] <ermine> gds: позиции все определяются только в лексере, yacc работает только с токенами из лексера
[14:53:12] <gds> во, логично, восстановил картину. при ошибке парсер спрашивает у лексера, где случилась ошибка.
[15:03:10] <f[x]> надо флешмобить в багтрекере
[15:13:01] Mon вышел(а) из комнаты
[15:13:42] gds вышел(а) из комнаты
[15:15:11] gds вошёл(а) в комнату
[15:15:37] ermine вышел(а) из комнаты: Replaced by new connection
[15:15:41] ermine вошёл(а) в комнату
[15:15:42] <gds> хотя бы ответ в стиле "не используйте старую сборку" получить бы -- тогда было бы можно пинать их по яйцам за неработающую падвендой новую модную сборку.
[15:16:11] Mon вошёл(а) в комнату
[15:17:04] <f[x]> пожалуйся в рассылке
[15:17:19] Ernesto вошёл(а) в комнату
[15:17:28] <Ernesto> all:
[15:18:23] Mon вышел(а) из комнаты
[15:19:24] Mon вошёл(а) в комнату
[15:23:21] <gds> да может и смысла нет жаловаться -- приложил фикс, проканало, а следующие версии уже попробую через модную сборку собрать, и там подниму вопрос, как про винду, так и про юниксы.
[15:26:00] john вышел(а) из комнаты
[15:34:25] 604 вошёл(а) в комнату
[15:44:50] f[x] наживо прикрутил параметры к ocaml-mysql
[15:46:15] <gds> и какой апи получился?
[15:47:31] <f[x]> module P : sig
type stmt
type result
val prepare : dbd -> string -> stmt
val execute : stmt -> string array -> result
val fetch : result -> string option array option
val close : stmt -> unit
end
[15:50:09] <gds> ровно, чотко.
но только входные позиционные.
[15:51:08] <f[x]> crap он и есть crap
[15:54:51] <gds> не, всё понятно, нафига лишний код плодить без нужды.
а над общим dbi буду думать потом.
[16:10:00] Ernesto вышел(а) из комнаты: offline
[16:22:33] john вошёл(а) в комнату
[17:10:13] sevenov вошёл(а) в комнату
[17:26:35] 604 вышел(а) из комнаты
[19:07:57] john вышел(а) из комнаты: Replaced by new connection
[19:07:58] john вошёл(а) в комнату
[19:59:27] gds вышел(а) из комнаты
[20:09:06] gds вошёл(а) в комнату
[21:23:15] <ermine> f[x]: а в камлобилде можно вставлять тэги не в _tags, а в конфиг камлобилда и как это сделать?
[21:23:54] <ermine> хотелось бы сделать автоматическое добавление тэгов для определенных тэгов
[21:25:41] <ermine> объявили результаты icfpc
[21:32:23] <gds> почитал конфу icfpc, ничего супер-интересного.
[21:33:37] <gds> кстати вот, а что такого плохого в подмене ocamlc -> ocamlfind ocamlc?
я не занимался этим вопросом, но пытался обдумать на фоне. Вроде, сходу, совсем ничего плохого, а просто куча хорошего. (в предположении, что ocamlfind есть везде)
[21:35:18] <ermine> да ничего сложного
[21:36:28] <ermine> я тихо надеюсь, что камлобилд дорастет до того, что камлофинд станет ненужным
[21:36:37] <ermine> как omake стал уже ненужным
[21:37:19] <ermine> у камлофинда одна фича осталась - автоматическое добавление депендсов при компиляции и линковке
[21:38:11] <ermine> вот я тут спросила как добавлять тэги не через _tags - как раз преследую эту цель
[21:39:39] <ermine> а еще у меня есть личная антипатия к автору ocamlfind и щсфьдтуе
[21:39:47] <ermine> ocamlnet
[21:42:58] <gds> сложного -- ничего. интересно, что _плохого_.
ocamlbuild и ocamlfind преследуют разные цели. не всегда нужно совмещать две разные утилиты в одну.
omake стал ненужным не только из-за этого -- у них была более серьёзная штука, с кучей системных зависимостей, они это не поддерживали, поэтому и подохло.
антипатия есть, но она не мешает юзать софт. я вон линуса от говна не отличаю, и что с того. А ещё уважаю музыку и песни некоторых людей, противных мне до отвращения. Абстракция, black box, все дела.
[21:46:14] <ermine> к камлофинду есть еще антипатия из-за того, что надо его учитывать при поиске имеющихся в системе библиотек
[21:47:21] <ermine> ты это видел на примере cryptokit: автор не предусматривал использование его компиляцию через ocamlfind, однако мне приходится учитывать, что в некоторых линуксах она инсталлится только через ocamlfind
[21:47:38] <gds> его не надо учитывать, его надо
ocamlfind dummycmdline || die "нет ocamlfind -- нет мультиков"
[21:47:39] <ermine> дайте мне пожалуйста единообразную работу с библиотеками
[21:48:19] <ermine> пусть даже плагин камлобилда будет монстроидальным
[21:48:20] <gds> cryptokit видел. проще отрубить руки тем, кто его так ставит.
[21:49:15] <ermine> да при чем эти руки, если ты тут пару месяцев утверждал, что камлофинд - стандарт?
[21:50:39] <ermine> есть еще одна система с библиотеками и прочим говном, называется GODI
[21:51:10] <gds> он стандарт, да. Но с cryptokit история хитрее. Его не предусматривали ставить через ocamlfind. Если его поставили так -- это местечковое удобство, но лажа для кроссплатформенной сборки. Оба варианта имеют преимущества.
[21:52:03] <gds> godi я не смотрел -- может оно и хорошее, но то, что оно долгое время не работало падвендой, убило весь интерес ковырять.
[21:52:33] <ermine> godi - это некая аналогия портов во фре
[21:52:49] <ermine> и там все ставится через камлофинд (а как же иначе?)
[21:53:28] <gds> да, об этом слышал. я только против отсутствия кроссплатформенности, среди всего известного мне про godi.
[21:56:20] <ermine> короче, мне надо искать путь к библиотеке:
1. через ocamlfind query
2. а может, она есть в ocamlc -where
3. в локальном каталоге site-lib
[21:57:05] <ermine> или 3 пункт заменяется на файлик с прописанными путями, или это 4-ый пункт
[21:57:34] <ermine> вот из-за случая с cryptokit мне надо с этим танцевать
[21:58:21] <ermine> второй пункт кстати нельзя проверить
[21:59:33] <ermine> ocamlbuild имеет в встроенных тэгах стандартные библиотеки камля, но я опять же про cryptokit
[22:01:48] <ermine> ocamlfind позволяет иметь локальный site-lib (и это использовалось в старой сборке сульци)
[22:01:49] <gds> смотря какие проверки приемлемы -- можно поискать нужный.cma.
[22:02:04] <gds> кстати да, ocamlfind и это тоже умеет!
[22:02:48] <ermine> а чо?
[22:04:34] <ermine> кстати, в более старых версиях сульци я подкладывала туда МЕТу для cryptokit, пока мне не сообщили про конфликт
[22:05:14] <ermine> пришлось подразумевать, что если cryptokit нету в камлофинде, то он есть в ocamlc -where
[22:05:38] <ermine> и пущай там компилятор ругается, что его нету
[22:06:04] ermine излила соплю на жилетку gds и успокоилась
[22:08:55] <gds> да понятно, что ситуация говно. и слажали линупсоедэ сочетанием действий: ставят не в родное место и не уведомляют аплинка о новой модной политике.
[22:10:50] <ermine> а может, слажали сами камловеды?
[22:16:16] <gds> среди авторов? там же лерой вроде. у него голова большая, мелочей вида ocamlfind не замечающая.
[22:19:22] <ermine> не, разработчики самого ocaml
[22:19:58] <ermine> а вот у хаскиля cabal!
[22:20:16] <ermine> ничего ставить в систему ненада
[22:20:57] <gds> так окамл вроде чисто компилятор с минимальной "средой". разработчикам было нужно именно так, чтобы иметь меньше гемора.
ну в окамле скоро будут батарейки. уже полтора года как скоро будут, вроде.
[22:21:31] <gds> кстати, cabal = godi, вроде как
[22:22:37] <ermine> с камлофиндом
[23:02:59] ygrek вошёл(а) в комнату
[23:05:35] ygrek вышел(а) из комнаты
[23:06:46] ygrek вошёл(а) в комнату
[23:35:17] <ygrek> тэги в плагине камлобилда -- http://nicolaspouillard.fr/ocamlbuild/html/Signatures.PLUGIN.html -- видимо Command.spec.T должно подойти
[23:40:06] sevenov вышел(а) из комнаты
[23:44:07] ygrek вышел(а) из комнаты
[23:44:29] ygrek вошёл(а) в комнату
[23:50:12] <ermine> ай, почему я такая благовоспитанная, а то бы ща сказала какое-нить матерное слово по поводу того что я таки собрала сульцююююю
[23:50:22] <ermine> ygrek: вот не нашла как втыкать
[23:51:50] <ermine> ygrek: этот T можно создать через tags_of_pathname, где pathname что-то типа "c"++"compile"++"other tag"
[23:52:11] <ermine> пока глубоко не вникала
[23:52:40] <ermine> пора спать
[23:55:56] ygrek вышел(а) из комнаты
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!