gildor changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | OCaml 3.11.2 released
aries has joined #ocaml
mfp has quit [Read error: Operation timed out]
krankkatze has quit [Quit: leaving]
krankkatze has joined #ocaml
joewilliams_away is now known as joewilliams
dark has quit [Remote host closed the connection]
joewilliams is now known as joewilliams_away
pencilk has joined #ocaml
valross has joined #ocaml
valross has quit [Quit: Ex-Chat]
valross has joined #ocaml
aries has quit [Quit: aries]
jeddhaberstro has quit [Quit: jeddhaberstro]
jeddhaberstro has joined #ocaml
travisbrady has quit [Quit: travisbrady]
Associat0r has quit [Quit: Associat0r]
pencilk has quit [Remote host closed the connection]
jeddhaberstro has quit [Quit: jeddhaberstro]
segmond has joined #ocaml
Amorphous has quit [Ping timeout: 248 seconds]
Yoric has joined #ocaml
ygrek has joined #ocaml
ulfdoz has quit [Ping timeout: 264 seconds]
valross has quit [Quit: Ex-Chat]
Amorphous has joined #ocaml
ftrvxmtrx has quit [Quit: Leaving]
f[x] has joined #ocaml
ygrek has quit [Ping timeout: 245 seconds]
Yoric has quit [Quit: Yoric]
gander has joined #ocaml
ftrvxmtrx has joined #ocaml
barismetin has joined #ocaml
ygrek has joined #ocaml
mfp has joined #ocaml
Yoric has joined #ocaml
Yoric_ has joined #ocaml
Yoric has quit [Ping timeout: 258 seconds]
Yoric_ is now known as Yoric
segmond has quit [Ping timeout: 240 seconds]
ikaros has joined #ocaml
_unK has quit [Remote host closed the connection]
ygrek has quit [Ping timeout: 245 seconds]
rossberg_ has quit [Quit: Leaving]
<kmkaplan>
How do I use module Map? I tried "Map.Make(String)" but it complains: Error: Unbound constructor Map.Make.
<companion_cube>
module M = Map.Make(String)
<companion_cube>
let a = M.empty in M.add x y a ...
<kmkaplan>
Oh... Sure, I am making a module, not a variable. Thank you.
<companion_cube>
if you only need this locally, I think let module M = Map.Make(String) in ... should work in 3.11
<mrvn>
module M = Map.Make(String) open M works, why not open (Map.Make(String))?
<companion_cube>
the syntax for modules is still quite static
<companion_cube>
maybe it will change in 3.12 with first-order modules
<mrvn>
yeah, time to make modules first order.
<kmkaplan>
OK. But I was mostly confused. Trying to use a module as a variable.
rossberg has joined #ocaml
Yoric has quit [Remote host closed the connection]
Yoric has joined #ocaml
Yoric has quit [Client Quit]
Yoric has joined #ocaml
valross has joined #ocaml
gander has left #ocaml []
ikaros_ has joined #ocaml
ikaros has quit [Ping timeout: 260 seconds]
<lxnay>
how are refs considered in the ocaml community? bad, good, something to avoid? I wrote 3 different versions of list_double, what's the best? http://pastebin.com/MyJSw9aN
<lxnay>
beside the tail vs non-tail recursivity (1st vs 3rd)
<lxnay>
sorry, 2nd vs 3rd
ikaros_ has quit [Ping timeout: 240 seconds]
<companion_cube>
the third is imho the best, unless you need processing huge lists (only case where tail-call is worth the List.rev overhead)
<bacam>
Unless you're dealing with large lists, List.map (fun x -> x*2)
<companion_cube>
refs are usefuls, but not for such things
_andre has joined #ocaml
<lxnay>
bacam: of course, List.map would be much better
<lxnay>
i am experimenting alternative ways of doing list_double
<lxnay>
another newbie question, how can I benchmark a function? is there any ocaml module/whatever? I could compile that and use time
<lxnay>
I'm running on linux
<lxnay>
I am just interested in benchmarking my list_double functions ;)
<companion_cube>
you can use gprof
<companion_cube>
and compile with -p option
<mfp>
lxnay: let time f x = let t0 = Unix.gettimeofday () in let y = f x in Printf.printf "Needed %8.5fs\n%!" (Unix.gettimeofday () -. t0); y ;-)
sepp2k has joined #ocaml
schmx is now known as schmrkc
waterChip has joined #ocaml
_zack has joined #ocaml
ikaros has joined #ocaml
waterChip has quit [Quit: waterChip]
prince has joined #ocaml
ikaros has quit [Quit: Leave the magic to Houdini]
ikaros has joined #ocaml
Submarine has joined #ocaml
Associat0r has joined #ocaml
bzzbzz has joined #ocaml
<lxnay>
mfp: Unix.gettimeofday ();;
Yoric_ has joined #ocaml
Yoric_ has quit [Remote host closed the connection]
Yoric has quit [Ping timeout: 258 seconds]
Yoric has joined #ocaml
fraggle_ has quit [*.net *.split]
fraggle_ has joined #ocaml
fraggle_ has quit [Ping timeout: 260 seconds]
fraggle_ has joined #ocaml
<_zack>
I've a C executable that calls caml_main(), it's completely statically linked
<_zack>
can I be sure that at runtime he will *not* call dlopen?
<mrvn>
You can be 100% unsure
<mrvn>
glibc does not support completly static linking
ygrek has joined #ocaml
avsm has joined #ocaml
<_zack>
mrvn: uhm, the point is rather *when* the caml runtime calls dlopen
boscop has joined #ocaml
<mrvn>
does it at all? I only know glibc will call dlopen for any named services, e.g. gethostbyname
<_zack>
mrvn: it does, there are various caml_dlopen() implementations and one of them uses dlopen()
<_zack>
I think it is only used to open objects linked to C stubs, and in my case they are all statically linked
<_zack>
but I'm not entirely sure about that
<mrvn>
strace it
<_zack>
eh, in my case it does *not*, but I was looking for a more general answer ;)
valross has quit [Quit: Ex-Chat]
<mrvn>
Did you use some module with C stubs like unix?
<mrvn>
(just out of curiosity)
segmond has joined #ocaml
sepp2k has quit [Remote host closed the connection]
barismetin has quit [Quit: Leaving...]
ulfdoz has joined #ocaml
fschwidom has joined #ocaml
fschwidom has quit [Remote host closed the connection]
sepp2k has joined #ocaml
ulfdoz_ has joined #ocaml
boscop_ has joined #ocaml
boscop has quit [Ping timeout: 240 seconds]
ulfdoz has quit [Ping timeout: 260 seconds]
Yoric has quit [Quit: Yoric]
_unK has joined #ocaml
ikaros has quit [Read error: Operation timed out]
travisbrady has joined #ocaml
oriba has joined #ocaml
ulfdoz_ has quit [Quit: Reconnecting]
ulfdoz has joined #ocaml
ikaros has joined #ocaml
jeddhaberstro has joined #ocaml
Submarine has quit [Quit: Leaving]
Jedai has joined #ocaml
SEcki has joined #ocaml
ftrvxmtrx has quit [Quit: Leaving]
kig has joined #ocaml
oriba has quit [Quit: Verlassend]
jeddhaberstro_ has joined #ocaml
jeddhaberstro has quit [Ping timeout: 276 seconds]
jeddhaberstro_ is now known as jeddhaberstro
sshc has quit [Quit: leaving]
neorab has quit [Ping timeout: 265 seconds]
mrvn has quit [Ping timeout: 265 seconds]
Yoric has joined #ocaml
ftrvxmtrx has joined #ocaml
fschwidom has joined #ocaml
sepp2k has quit [Ping timeout: 245 seconds]
boscop_ has left #ocaml []
boscop has joined #ocaml
mrvn has joined #ocaml
sepp2k has joined #ocaml
ftrvxmtrx has quit [Ping timeout: 264 seconds]
_andre has quit [Quit: Lost terminal]
ftrvxmtrx has joined #ocaml
ikaros has quit [Ping timeout: 265 seconds]
ikaros has joined #ocaml
ikaros has quit [Ping timeout: 265 seconds]
ygrek has quit [Remote host closed the connection]
ygrek has joined #ocaml
ikaros has joined #ocaml
ygrek has quit [Ping timeout: 245 seconds]
Yoric has quit [Quit: Yoric]
ikaros_ has joined #ocaml
BigJ has joined #ocaml
neorab has joined #ocaml
neorab has quit [Quit: freenode]
neorab has joined #ocaml
ulfdoz has quit [Ping timeout: 276 seconds]
ftrvxmtrx has quit [Ping timeout: 258 seconds]
ikaros has quit [Ping timeout: 240 seconds]
ikaros_ has quit [Ping timeout: 276 seconds]
ftrvxmtrx has joined #ocaml
ikaros has joined #ocaml
ikaros_ has joined #ocaml
ftrvxmtrx has quit [Remote host closed the connection]
ftrvxmtrx has joined #ocaml
ikaros_ has quit [Ping timeout: 240 seconds]
ikaros has quit [Read error: Operation timed out]
ikaros has joined #ocaml
sshc has joined #ocaml
fschwidom has quit [Remote host closed the connection]
fschwidom has joined #ocaml
ikaros has quit [Quit: Leave the magic to Houdini]
fschwidom has quit [Remote host closed the connection]
boscop has quit []
SEcki has quit [Read error: Connection reset by peer]