gildor changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | OCaml 3.12.1 http://bit.ly/nNVIVH
iago has joined #ocaml
BiDOrD_ has joined #ocaml
BiDOrD has quit [Ping timeout: 265 seconds]
eikke has joined #ocaml
datkin has joined #ocaml
KDr2 has joined #ocaml
cdidd has quit [Remote host closed the connection]
eikke has quit [Ping timeout: 252 seconds]
sizz_ has left #ocaml []
Tobu has quit [Ping timeout: 260 seconds]
Tobu has joined #ocaml
lamawithonel has quit [Remote host closed the connection]
lamawithonel has joined #ocaml
iago has quit [Quit: Leaving]
lihaitao has joined #ocaml
Tobu has quit [Ping timeout: 260 seconds]
oriba has quit [Quit: oriba]
Tobu has joined #ocaml
Tobu has quit [Ping timeout: 260 seconds]
Tobu has joined #ocaml
snarkyboojum has quit [Read error: Operation timed out]
snarkyboojum has joined #ocaml
ulfdoz has quit [Ping timeout: 248 seconds]
ulfdoz has joined #ocaml
ulfdoz has quit [Ping timeout: 246 seconds]
ankit9 has quit [Ping timeout: 265 seconds]
pango is now known as pangoafk
ftrvxmtrx has quit [Quit: Leaving]
drewbert has left #ocaml []
lihaitao has quit [Ping timeout: 260 seconds]
cdidd has joined #ocaml
mika1 has joined #ocaml
cago has joined #ocaml
andreypopp has quit [Quit: Quit]
KDr2 has left #ocaml []
yroeht has quit [Ping timeout: 244 seconds]
yroeht has joined #ocaml
silver has joined #ocaml
ftrvxmtrx has joined #ocaml
ankit9 has joined #ocaml
djcoin has joined #ocaml
Submarine has joined #ocaml
Submarine has quit [Changing host]
Submarine has joined #ocaml
Anarchos has joined #ocaml
rby has quit [Read error: Connection reset by peer]
<Anarchos> How to achieve that : OCaml calls a C++ thread. The C++ thread forks multiple threads (in a way i cannot control), which call back ocaml. And i need some global shared object at the ocaml level...
<f[x]> you need to register those newly created threads with caml runtime
xlq has joined #ocaml
andreypopp has joined #ocaml
<xlq> [23:10] <pippijn> mfp: so try...with doesn't save all registers
<Anarchos> f[x]: i know but my problem lies in that the threads are created by an api (GUI API in C++), which i don't have the source code...
<xlq> Hmm, well I suppose it doesn't have to if it's in control of the code generation.
<f[x]> Anarchos, you can do that when the thread calls back into ocaml
<Anarchos> f[x]: so you mean i must implement a C++ layer above the C++ API, just to register the threads ?
eikke has joined #ocaml
rby has joined #ocaml
<Anarchos> f[x]: something like : if(not registered) {caml_register_thread (this->thread)}; callback_ocaml(...); ?
<f[x]> I guess so
<Anarchos> f[x]: and each access to the ocaml runtime should be guarded with enter/leave_blocking_section i guess...
<Anarchos> f[x]: my goal is to mimic the C++ API to a multithreaded GUI in ocaml, in order to program everything in ocaml.....
<f[x]> what guit toolkit is it?
<f[x]> usually gui toolkits are explicitely single threaded
<Anarchos> f[x]: it is the Haiku API for the native GUI
<Anarchos> f[x]: www.haiku-os.org
<Anarchos> which is massively multithreaded for responsiveness...
silver has quit [Read error: Connection reset by peer]
<f[x]> wow
<pippijn> xlq: yeah.. it can just save exactly those registers that are actually live at that point
thomasga has joined #ocaml
<Anarchos> f[x]: how should i interpret your "wow" ?
<f[x]> multithreaded gui toolkit - cool
<f[x]> exotic os - double cool
<Anarchos> f[x]: my program is a GUI application involving inputs in latex, displaying the png images generated from the latex source, and pass them to an ocaml first-order logic verifier :)
<Anarchos> f[x]: is it triple cool ?
<f[x]> it counts!
silver has joined #ocaml
<Anarchos> f[x]: thanks
zorun has quit [Read error: Connection reset by peer]
zorun has joined #ocaml
zorun has quit [Ping timeout: 265 seconds]
vext01 has quit [Quit: qqqq]
<Anarchos> f[x]: i hope to get significant results soon :)
<f[x]> I would be interested to hear if possible!
<Anarchos> f[x]: i come very often here, so no doubt you will hear about it
<Anarchos> f[x]: but for now it relies on a personal port of latex , i must polish it to release an autoinstallable package on haiku
Submarine has quit [Remote host closed the connection]
silver_ has joined #ocaml
silver has quit [Read error: Connection reset by peer]
Submarine has joined #ocaml
Submarine has quit [Changing host]
Submarine has joined #ocaml
Anarchos has quit [Ping timeout: 245 seconds]
iZsh has quit [Ping timeout: 260 seconds]
iZsh has joined #ocaml
zorun has joined #ocaml
Tobu has quit [Ping timeout: 272 seconds]
Anarchos has joined #ocaml
<Anarchos> Submarine: did you wrote a book about computer science for french preparatory classes ?
mfp has quit [Ping timeout: 246 seconds]
iago has joined #ocaml
Tobu has joined #ocaml
mehdid has quit [Ping timeout: 272 seconds]
mfp has joined #ocaml
andreypopp has quit [Ping timeout: 252 seconds]
mehdid has joined #ocaml
thomasga1 has joined #ocaml
thomasga has quit [Read error: Connection reset by peer]
Xizor has joined #ocaml
djcoin has quit [Quit: WeeChat 0.3.2]
thomasga has joined #ocaml
thomasga1 has quit [Read error: Connection reset by peer]
_andre has joined #ocaml
eikke has quit [Ping timeout: 260 seconds]
eikke has joined #ocaml
<Submarine> Anarchos, No.
yezariaely has quit [Remote host closed the connection]
<Anarchos> Submarine: ok :)
oriba has joined #ocaml
wtetzner has quit [Read error: Connection reset by peer]
djcoin has joined #ocaml
Submarine has quit [Quit: Leaving]
eikke has quit [Ping timeout: 246 seconds]
avsm has quit [Quit: Leaving.]
eikke has joined #ocaml
Anarchos has quit [Ping timeout: 245 seconds]
emmanuelux has joined #ocaml
Anarchos has joined #ocaml
Submarine has joined #ocaml
Submarine has quit [Changing host]
Submarine has joined #ocaml
fds has joined #ocaml
ankit9 has quit [Quit: Leaving]
avsm has joined #ocaml
datkin has quit [Read error: Operation timed out]
Submarine has quit [Quit: Leaving]
oriba has quit [Quit: oriba]
Anarchos has quit [Ping timeout: 245 seconds]
iratsu has joined #ocaml
ulfdoz has joined #ocaml
cago has quit [Quit: Leaving.]
snearch has joined #ocaml
mika1 has quit [Quit: Leaving.]
djcoin has quit [Quit: WeeChat 0.3.2]
spanner has left #ocaml []
ftrvxmtrx has quit [Quit: Leaving]
snearch has quit [Quit: Verlassend]
avsm has quit [Quit: Leaving.]
Cyanure has joined #ocaml
Tobu has quit [Ping timeout: 272 seconds]
cyphase has quit [Read error: Connection reset by peer]
Tobu has joined #ocaml
cyphase has joined #ocaml
Submarine has joined #ocaml
Submarine has quit [Changing host]
Submarine has joined #ocaml
Zedrikov has joined #ocaml
eni has joined #ocaml
avsm has joined #ocaml
Tobu has quit [Ping timeout: 272 seconds]
Tobu has joined #ocaml
eni has quit [Ping timeout: 246 seconds]
skchrko has joined #ocaml
lorill has joined #ocaml
cdidd has quit [Remote host closed the connection]
eni has joined #ocaml
andreypopp has joined #ocaml
pangoafk is now known as pango
bobry has quit [Quit: Connection closed for inactivity]
eni has quit [Quit: .]
skchrko has quit [Quit: ChatZilla 0.9.88.2 [Firefox 11.0/20120401163544]]
ftrvxmtrx has joined #ocaml
<Qrntz> thelema, afaics, it's just a concept yet — no concrete implementation?
<thelema> "As you see in the video I have a prototype of this working."
Cyanure has quit [Read error: Operation timed out]
<mrvn> thelema: oh yeah. that looks cool
<mrvn> thelema: for ocaml I want a side view with types instead of values as well
<mrvn> So when I type "let foo x = bar x "blub" []" the side view should insert string for the second type in the side view and show how the generic types turn into specific ones in bar.
<mrvn> gildor: ping
pango has quit [Remote host closed the connection]
pango has joined #ocaml
Associat0r has joined #ocaml
_andre has quit [Quit: leaving]
<thelema> mrvn: the parameter tracing seems to be a nice way to do that, although this all works best for things that are printable.
lorill has quit [Quit: Ex-Chat]
<mrvn> thelema: yeah, with complex data types the output would get rather long and unreadable.
<thomasga> that's indeed cool ideas for the next releases of typerex :-)
<thelema> thomasga: big thing right now would be integrated documentation, immediately popping up. That said, ocaml docs aren't well organized at the moment in install dirs.
<thelema> We have ocamldoc, and could have another output format produced by it for typerex
<thelema> I assume typerex can go from an identifier in code to the full module name of that identifier, but going from that to the docs... no standard
<thomasga> well the auto-complete mode of typerex almost does that
<flux> the docs could be embedded with anchors reflecting the lines the doc is generated from
<thomasga> it displays the possible functions, their type and the documentation
<thelema> flux: embedded where?
<flux> into the generated html
<thelema> thomasga: how do I enable that for batteries?
<mrvn> How would that work if you have one doc stanza for multiple functions?
<mrvn> e.g. unsafe_foo + foo
<flux> but I'm going to embed myself into the bed, will look backlog on the morning ;)
<thomasga> mrvn: that will not work
<thelema> mrvn: clearly duplication is necessary
<thelema> (or an ocamldoc extension to handle that)
<thomasga> thelema: you need to generate the cmt for batteries
<mrvn> or [foo x y] like [unsafe_foo] but with bounds checking.
<thomasga> and then put the right things in your .typerex
<thelema> cmt?
<thelema> Can this be done by the batteries installer?
<thomasga> binary annotations
<mrvn> Hmm, what would be a better default for read/write/pread/pwrite: Raise Unix_error on EINTR or interally restart the read/write?
<thomasga> you need to change ocamlopt to ocp-ocamlopt in your build scripts
<thelema> thomasga: ok, I can autodetect ocp-ocamlopt, and set it for ocamlfind
<thelema> Where do I put the resulting file?
<thomasga> same place as the cmo/cmx
<thomasga> anyway, I'm going to bed now
<thelema> I hope ocamlfind accepts them.
<thelema> thomasga: thanks, I'll play with this a bit tonight.
<thelema> maybe batteries 2.0 can be typerex enabled.
<thomasga> (for ocamlfind support)
<thomasga> btw, I'm going to bed now, good luck :-)
<thelema> thomasga: good night
thomasga has quit [Quit: Leaving.]
<pippijn> thelema: looks nice
<pippijn> TypeRex is a powerful development environment for OCaml. It is designed to integrate easily in your favorite editor, and to provide all the commands that programmers expect from a modern IDE. TypeRex is open-source and is developed by OCamlPro and INRIA.
<pippijn> my favourite editor?
<pippijn> it seems that only applies if my favourite editor is emacs
<mrvn> which is a certainty. DO NOT BLASPHEME
andreypopp has quit [Quit: Computer has gone to sleep.]
oriba has joined #ocaml
Tianon has quit [Ping timeout: 245 seconds]
BiDOrD has joined #ocaml
BiDOrD_ has quit [Ping timeout: 265 seconds]
Xizor has quit [Ping timeout: 260 seconds]
larhat has joined #ocaml
xlq has quit [Ping timeout: 260 seconds]
<Ptival> and INRIA?
<Ptival> (it's Inria btw :p)
eikke has quit [Ping timeout: 260 seconds]
eikke has joined #ocaml
<mrvn> Wouldn't it be nice if this would type? module M : sig type t = { x : int; } end = struct type t = { mutable x : int; } end
Modius_ has joined #ocaml
gmcabrita has quit [Ping timeout: 265 seconds]
gmcabrita has joined #ocaml
Modius has quit [Ping timeout: 265 seconds]
jonafan_ has joined #ocaml
Ptival_ has joined #ocaml
ivan\_ has joined #ocaml
datkin has joined #ocaml
mfp_ has joined #ocaml
bzzbzz_ has joined #ocaml
mfp has quit [*.net *.split]
tomprince has quit [*.net *.split]
ivan\ has quit [*.net *.split]
bzzbzz has quit [*.net *.split]
brendan has quit [*.net *.split]
jonafan has quit [*.net *.split]
Ptival has quit [*.net *.split]
ivan\_ is now known as ivan\
datkin has quit [Remote host closed the connection]
datkin has joined #ocaml
Associat0r has quit [Quit: Associat0r]
smondet has quit [Remote host closed the connection]
Tianon has joined #ocaml
Tianon has quit [Changing host]
Tianon has joined #ocaml
<pippijn> mrvn: yes, it would
<pippijn> mrvn: but it's not very nice if you pass M.t to somewhere and you expect that value to be immutable
<pippijn> mrvn: and then suddenly the immutable x changes because of an implementation detail in M
eikke has quit [Ping timeout: 265 seconds]