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

GMT+4
[00:01:34] sevenov вышел(а) из комнаты
[00:02:07] sevenov вошёл(а) в комнату
[00:11:38] ygrek вышел(а) из комнаты
[00:19:34] sevenov вышел(а) из комнаты
[00:20:25] sevenov вошёл(а) в комнату
[00:38:24] sevenov вышел(а) из комнаты: Replaced by new connection
[00:38:28] sevenov вошёл(а) в комнату
[00:44:02] sevenov вышел(а) из комнаты
[00:44:16] sevenov вошёл(а) в комнату
[01:35:54] asprit вошёл(а) в комнату
[01:38:55] sevenov вышел(а) из комнаты: Replaced by new connection
[01:38:56] sevenov вошёл(а) в комнату
[01:41:31] asprit вышел(а) из комнаты
[04:15:56] zfsed вышел(а) из комнаты
[04:33:20] daapp вошёл(а) в комнату
[08:19:21] gds вышел(а) из комнаты
[08:25:36] daapp вышел(а) из комнаты: Replaced by new connection
[08:25:39] daapp вошёл(а) в комнату
[08:59:23] gds вошёл(а) в комнату
[10:06:21] Typhon вошёл(а) в комнату
[10:07:01] Typhon вышел(а) из комнаты
[10:22:11] Typhon вошёл(а) в комнату
[10:42:39] f[x] вошёл(а) в комнату
[11:51:07] gds вышел(а) из комнаты: Replaced by new connection
[11:51:08] gds вошёл(а) в комнату
[12:13:29] <sceptic> А сулци можно научить декодировать URL =/
[13:08:39] <f[x]> sceptic: научи, в чём проблема? ;)
[13:08:56] <f[x]> Unix.LargeFile.fstat написано что Not implemented для win
[13:09:01] <f[x]> но оно implemented
[13:09:19] <f[x]> но для больших файлов всё равно возвращает EOVERLFOW
[13:09:42] <f[x]> CAMLprim value unix_fstat_64(value handle)
{
int ret;
struct _stati64 buf;
ret = _fstati64(win_CRT_fd_of_filedescr(handle), &buf);
if (ret == -1) uerror("fstat", Nothing);
return stat_aux(1, &buf);
}
[13:12:43] <f[x]> Objective Caml version 3.11.0
# open Unix;;
# let fd = openfile "rating.dat" [O_RDONLY] 0;;
val fd : Unix.file_descr = <abstr>
# Unix.LargeFile.fstat fd;;
Exception: Unix.Unix_error (EOVERFLOW, "fstat", "").
# Unix.LargeFile.stat "rating.dat";;
- : Unix.LargeFile.stats =
{Unix.LargeFile.st_dev = 2; Unix.LargeFile.st_ino = 0;
Unix.LargeFile.st_kind = S_REG; Unix.LargeFile.st_perm = 438;
Unix.LargeFile.st_nlink = 1; Unix.LargeFile.st_uid = 0;
Unix.LargeFile.st_gid = 0; Unix.LargeFile.st_rdev = 2;
Unix.LargeFile.st_size = 1851090944L; Unix.LargeFile.st_atime = 1249979372.;
Unix.LargeFile.st_mtime = 1246958940.;
Unix.LargeFile.st_ctime = 1249914836.}
[13:13:09] <f[x]> где засада?
[13:15:16] <gds> судя по stat.c, всё ок.
[13:15:28] <f[x]> аргх
[13:15:32] <f[x]> PR#4735
[13:15:46] <f[x]> я смотрел код из cvs, а камль у меня 11.0
[13:16:01] <f[x]> наконец причина обновиться
[13:16:26] <gds> ха, да, у меня 3.11.1.
[14:48:57] Mon вышел(а) из комнаты
[14:53:13] Mon вошёл(а) в комнату
[15:01:04] daapp вышел(а) из комнаты
[15:58:24] Typhon вышел(а) из комнаты
[15:58:35] Typhon вошёл(а) в комнату
[16:30:58] <gds> долбаюсь потихоньку с функторами. Понадобилось нечто, собирающее результаты работы наподобие fold_left. Понятно, что это должен быть модуль (так как работаем на уровне функторов-модулей), и, по условиям задачи, собиралка должна быть in-place. Получилось:
module type GathererImp = sig
type t;
type a;
value create : unit -> t;
value add : t -> a -> unit;
end;
вместо одной сигнатуры fold_left.
Теперь мне функторы нравятся чуть меньше.
[16:57:13] ermine нифига не поняла
[16:58:39] <gds> в классическом случае передал бы fold_left (или его аналог). С функторами -- передаю модуль, содержащий нужную функциональность.
[16:59:54] <ermine> и чем это плохо?
[17:00:13] <gds> тяжеловесностью, разве что.
[17:01:17] <ermine> но это удобно если нужен интерфейс сразу нескольких функций, а тяжеловесность появляется там где мешает статическая линковка :)
[17:02:14] <gds> ну да, если несколько функций, то нормально.
а где мешает статическая линковка, там не тяжеловестность, там жопа функторам.
[17:32:17] gds вышел(а) из комнаты
[17:46:10] sceptic вышел(а) из комнаты
[17:48:35] sceptic вошёл(а) в комнату
[18:33:33] gds вошёл(а) в комнату
[19:10:50] Typhon вышел(а) из комнаты
[19:22:30] f[x] вышел(а) из комнаты: Computer went to sleep
[19:48:40] gds вышел(а) из комнаты: Replaced by new connection
[19:48:41] gds вошёл(а) в комнату
[21:53:19] ygrek вошёл(а) в комнату
[22:43:50] <gds> цитаты вспомнились, найти не могу.
Может осталось в загашниках у кого цитаты/урлы.
1. рассказ про то, как кто-то (по памяти -- Chung-chieh Shan) на реаллайф-ФП-конфе прикололся: кто-то из студентов предлагал в хаскеле сделать такое преобразование, чтобы чистую функцию автоматически доводить до функции с сайд-эффектами -- liftM/mapM делать автоматически, тайпкласс дорисовывать, или как там это у них делается, и этот Чунг ответил что-то вроде: "так уже есть такая штука -- окамл называется". Предположительно рассказывал не сам Чунг, и дело было в caml-list.
2. цитатку насчёт использования ФП для генерации гарантированно-корректных программ в контексте то ли exponential money / linear time, то ли linear money / logarithmic time (предположительно от авторов "(jon|jones)" в ocaml_beginners@yahoo).
(навсяк продублировал в жыжыцу, вдруг. http://gds.livejournal.com/45710.html )
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!