goncalo has quit [Read error: Connection reset by peer]
goncalo has joined #ocaml
lopex has quit []
joewilliams is now known as joewilliams_away
dnolen_ has joined #ocaml
arubin has quit [Quit: arubin]
clog has joined #ocaml
lopex has joined #ocaml
clog has joined #ocaml
* sgnb
found comint-send-input
betta_y_omega has quit [Read error: Operation timed out]
betta_y_omega has joined #ocaml
munga has quit [Ping timeout: 264 seconds]
f[x] has quit [Ping timeout: 260 seconds]
dnolen_ has joined #ocaml
dnolen_ has quit [Client Quit]
dnolen_ has joined #ocaml
iratsu has quit [Ping timeout: 255 seconds]
iratsu has joined #ocaml
pdhborges has joined #ocaml
pdhborges has left #ocaml []
pdhborges has joined #ocaml
pdhborges has quit [Read error: Connection reset by peer]
ftrvxmtrx has quit [Read error: Connection reset by peer]
ftrvxmtrx_ has joined #ocaml
munga has joined #ocaml
cthuluh has quit [Quit: .]
cthuluh has joined #ocaml
pdhborges has joined #ocaml
<pdhborges>
Is anyone here familiar with ocaml's gc?
dnolen_ has quit [Quit: dnolen_]
<thelema>
pdhborges: a bit, what's up?
<pdhborges>
hi thelema
<pdhborges>
I don't understand very well how threads interact with caml_local_roots and release_runtime_system
<hcarty>
pdhborges: When you have time - what is the state of your zeromq bindings?
<thelema>
ocaml threads or C/C++ threads?
<pdhborges>
hcarty: I'll fix the bugs zmq 2 bindings
<pdhborges>
thelema: ocaml threads
<pdhborges>
hcarty: but I'm writting new ones for ocaml zmq 3
<hcarty>
pdhborges: I haven't used your bindings yet, but I'm hoping to get a chance to try them out soon
<pdhborges>
okay ^^
<hcarty>
pdhborges: Ah! In that case, perhaps I'll wait for version 3.
<pdhborges>
hcarty: in about 5 days I'll release the bindings for zmq 3
<pdhborges>
they will be much simpler
<pdhborges>
and closer to the original api
<pdhborges>
thelema: ocaml threads
<pdhborges>
the problem is
<thelema>
pdhborges: I'm not familiar with release_runtime_system, but the model seems pretty straightforward - threads run one at a time, when the GC is running, no threads are running
<pdhborges>
the param macros save the current local_root
<pdhborges>
into the frame
<pdhborges>
and return
<pdhborges>
assigns the local roots to the frame
<pdhborges>
the problem is
<pdhborges>
what happens
<pdhborges>
when a thread is preempted after releasing the lock
<pdhborges>
another thread might add modify the local roots
<thelema>
ah, ocaml threads aren't fully preemptive - they only context switch at designated places, such as at allocation.
<pdhborges>
o
<thelema>
it's possible for an ocaml thread to run long-living computational code and keep the CPU for a long time
<thelema>
thus Thread.yield
iratsu has quit [Ping timeout: 255 seconds]
StepanKuzmin has joined #ocaml
<pdhborges>
well in that case
* thelema
tries to verify this online
<pdhborges>
I'll have to totally rework my scenarios
cthuluh has quit [Ping timeout: 260 seconds]
<thelema>
hmm, maybe I'm only correct for bytecode threads
<thelema>
it seems native code threads use system threads, which are more than likely preemptive
<pdhborges>
ok
<pdhborges>
tl dr I don't understand how caml_local_roots are shared between threads
<pdhborges>
I though each thread had one but then
Snark has joined #ocaml
<thelema>
well, I guess all the uses of GC data are protected by locks so only one thread at a time can be in that critical section
<thelema>
as the GC isn't concurrent
<pdhborges>
that would make sense because I can't find any code that
<zsparks>
Is there a way to print floats that doesn't use scientific notation?
<pdhborges>
iterates the threads (struct)
<pdhborges>
and traverses the local_roots
<zsparks>
That is, that gets just the decimal with no "...e-05" or whatever?
<zsparks>
or rather, getting a string out of it, not printing, sorry
<pdhborges>
there is some code in interp.c that saves and restores local_root
<thelema>
zsparks: sprintf "%.0f" 3.1415 -> "3"
munga has quit [Ping timeout: 264 seconds]
<zsparks>
thelema: I still want the stuff after the decimal, too, though I think I get the idea
<zsparks>
I want to be able to save it to a variable, though, not print it out
<pdhborges>
but i can figure how does that fit in the grand scheme of things
cthuluh has joined #ocaml
<thelema>
zsparks: sprintf returns a string
<zsparks>
(if yo are guessing that ugly hacks involving the string representations of numbers are happening, you'd be right!)
<zsparks>
thelema: ah, heh, shows you what I know. Thanks!
<thelema>
zsparks: no problem
<hcarty>
pdhborges: Will the zeromq 3 bindings be in the same github repository?
<pdhborges>
hcarty: no, I created a new one
<pdhborges>
but it's empty for now
f[x] has joined #ocaml
betta_y_omega has quit [Ping timeout: 250 seconds]
<hcarty>
pdhborges: Ok. Thank you for the bindings and the information.
betta_y_omega has joined #ocaml
f[x] has quit [Ping timeout: 240 seconds]
munga has joined #ocaml
f[x] has joined #ocaml
ankit9 has quit [Quit: Leaving]
iratsu has joined #ocaml
zsparks_ has joined #ocaml
zsparks_ is now known as zsporks
zsporks has quit [Client Quit]
zsparks_ has joined #ocaml
zsparks_ is now known as zsporks
lopex has quit []
spearalot has joined #ocaml
munga has quit [Ping timeout: 264 seconds]
ftrvxmtrx_ has quit [Quit: This computer has gone to sleep]
f[x] has quit [Ping timeout: 240 seconds]
todun has joined #ocaml
larhat has quit [Quit: Leaving.]
ulfdoz has joined #ocaml
munga has joined #ocaml
halfr has joined #ocaml
joewilliams_away is now known as joewilliams
Anarchos has quit [Quit: Vision[0.9.7-H-090423]: i've been blurred!]
lopex has joined #ocaml
eikke has quit [Ping timeout: 240 seconds]
yezariaely has joined #ocaml
yezariaely has left #ocaml []
othiym23 has joined #ocaml
ftrvxmtrx has joined #ocaml
Cyanure has quit [Remote host closed the connection]
ulfdoz_ has joined #ocaml
ulfdoz has quit [Ping timeout: 240 seconds]
ulfdoz_ is now known as ulfdoz
betta_y_omega has quit [Ping timeout: 255 seconds]
betta_y_omega has joined #ocaml
munga has quit [Ping timeout: 260 seconds]
todun has quit [Quit: :s]
ftrvxmtrx has quit [Quit: Leaving]
todun has joined #ocaml
chrissbx has joined #ocaml
f[x] has joined #ocaml
<chrissbx>
Hello. I need to build a completely static binary of a program, meaning, one that also includes libc etc.; how do I do that?
iratsu has quit [Ping timeout: 252 seconds]
<chrissbx>
Does ocamlopt link .o files itself without invoking ld? In any case, it doesn't take any -ldopt argument.