flux changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml MOOC http://1149.fr/ocaml-mooc | OCaml 4.03.0 announced http://ocaml.org/releases/4.03.html | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml
Algebr``` has joined #ocaml
zpe has quit [Ping timeout: 240 seconds]
dexterph has quit [Ping timeout: 260 seconds]
ril has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
walter|r has quit [Remote host closed the connection]
walter|r has joined #ocaml
troydm has joined #ocaml
AeroNotix has left #ocaml ["WeeChat 1.3"]
walter|r has quit [Ping timeout: 272 seconds]
ril has joined #ocaml
yunxing has joined #ocaml
zpe has joined #ocaml
troydm has quit [Ping timeout: 244 seconds]
zpe has quit [Ping timeout: 260 seconds]
ril has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
ril has joined #ocaml
pierpa has quit [Ping timeout: 244 seconds]
phrst has quit [Ping timeout: 260 seconds]
phrst has joined #ocaml
walter|r has joined #ocaml
IntTree has joined #ocaml
troydm has joined #ocaml
scarygelatin has quit [Quit: Leaving]
<Algebr```> Okay the foo_p functions of Lwt_list do not play nicely with Lwt_unix.fork
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
Sorella has quit [Quit: Connection closed for inactivity]
ztennix has joined #ocaml
zpe has joined #ocaml
zpe has quit [Ping timeout: 260 seconds]
groovy2shoes has quit [Quit: Leaving]
ztennix has quit [Ping timeout: 260 seconds]
<Algebr```> How do I force several lwt things to happen together, atomically.
unbalancedparen has quit [Quit: WeeChat 1.5]
yunxing has quit [Remote host closed the connection]
<Algebr```> okay, at_exit's behavior is silly with forked children. why is there no way to clear the at_exit for children
<Algebr```> in lwt
troydm has quit [Ping timeout: 244 seconds]
lopex has quit [Quit: Connection closed for inactivity]
troydm has joined #ocaml
<sgronblo> Algebr```: dont you need some sort of STM to do things "atomically"? I thought Lwt was more like a Continuation monad or something?
<sgronblo> well im a total ocaml noob
troydm has quit [Ping timeout: 244 seconds]
ril has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
walter|r has quit [Remote host closed the connection]
zpe has joined #ocaml
zpe has quit [Ping timeout: 260 seconds]
IntTree has quit [Quit: Leaving.]
seangrove has joined #ocaml
ztennix has joined #ocaml
mistermetaphor has quit [Remote host closed the connection]
troydm has joined #ocaml
rgrinberg has quit [Ping timeout: 252 seconds]
troydm has quit [Ping timeout: 244 seconds]
troydm has joined #ocaml
zpe has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
zpe has quit [Ping timeout: 240 seconds]
troydm has quit [Ping timeout: 244 seconds]
pecan has quit [Quit: WeeChat 1.5]
ztennix has quit [Quit: WeeChat 1.5]
yunxing has joined #ocaml
MercurialAlchemi has joined #ocaml
seangrove has quit [Remote host closed the connection]
troydm has joined #ocaml
rossberg has quit [Ping timeout: 260 seconds]
copy` has quit [Quit: Connection closed for inactivity]
rossberg has joined #ocaml
zpe has joined #ocaml
zpe has quit [Ping timeout: 252 seconds]
AlexRussia has quit [Ping timeout: 260 seconds]
MercurialAlchemi has quit [Ping timeout: 264 seconds]
MercurialAlchemi has joined #ocaml
toomuchtvrotsurb has quit [Remote host closed the connection]
A1977494 has joined #ocaml
troydm has quit [Ping timeout: 244 seconds]
A19774941 has joined #ocaml
A1977494 has quit [Ping timeout: 240 seconds]
zpe has joined #ocaml
shinnya has quit [Ping timeout: 276 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
zpe has quit [Ping timeout: 244 seconds]
shinnya has joined #ocaml
ygrek has joined #ocaml
troydm has joined #ocaml
troydm has quit [Ping timeout: 244 seconds]
troydm has joined #ocaml
zpe has joined #ocaml
adrien_znc has left #ocaml [#ocaml]
zpe has quit [Remote host closed the connection]
seangrove has joined #ocaml
alexelcu has joined #ocaml
troydm has quit [Ping timeout: 244 seconds]
zpe has joined #ocaml
Nahra has quit [Ping timeout: 252 seconds]
zpe has quit [Remote host closed the connection]
troydm has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
Simn has joined #ocaml
rand__ has joined #ocaml
chenglou has quit []
chenglou has joined #ocaml
infinity0_ has joined #ocaml
infinity0_ has quit [Changing host]
infinity0_ has joined #ocaml
infinity0 has quit [Ping timeout: 252 seconds]
ygrek has quit [Ping timeout: 276 seconds]
infinity0_ has quit [Remote host closed the connection]
infinity0 has joined #ocaml
frefity has joined #ocaml
yunxing has quit [Remote host closed the connection]
troydm has quit [Ping timeout: 244 seconds]
yunxing has joined #ocaml
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ocaml
troydm has joined #ocaml
yunxing has quit [Ping timeout: 260 seconds]
frefity has quit [Ping timeout: 276 seconds]
zpe has joined #ocaml
saruta has quit [Ping timeout: 252 seconds]
saruta has joined #ocaml
troydm has quit [Ping timeout: 244 seconds]
frefity has joined #ocaml
troydm has joined #ocaml
amnn has joined #ocaml
octachron has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
larhat has joined #ocaml
dsheets has joined #ocaml
groovy2shoes has joined #ocaml
dsheets has quit [Remote host closed the connection]
dsheets has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
jwatzman|work has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
troydm has quit [Ping timeout: 244 seconds]
troydm has joined #ocaml
bba has joined #ocaml
freehck has joined #ocaml
<freehck> Hello everybody.
<freehck> Doesn't Buffer module lock buffer while add_string?
<mrvn> Nothing does in ocaml.
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
seangrove has quit [Ping timeout: 276 seconds]
<freehck> mrvn: Thanks. I'll use Mutex module then.
larhat1 has joined #ocaml
larhat has quit [Ping timeout: 276 seconds]
<companion_cube> oh, there isn't a package base-num
<companion_cube> weird
amnn has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
ygrek has joined #ocaml
larhat has joined #ocaml
larhat1 has quit [Read error: Connection reset by peer]
larhat has quit [Read error: Connection reset by peer]
lopex has joined #ocaml
toomuchtvrotsurb has joined #ocaml
<Drup> Algebr``: please fix podge packaging
<Drup> it's terrible
<Drup> 1) It needs oasis at build time, it shouldn't
<Drup> 2) uninstall is buggy
cat5e has quit [Ping timeout: 246 seconds]
<Drup> wtf, it even installs the setup* files, WHY ?!
toomuchtvrotsurb has quit [Ping timeout: 252 seconds]
dsheets has quit [Remote host closed the connection]
bp0yt has joined #ocaml
dsheets has joined #ocaml
ygrek has quit [Ping timeout: 244 seconds]
<mrvn> dsheets: needing oasis is better
<mrvn> Drup: ^^^
<dsheets> what?
<mrvn> dsheets: sorry, bad tab completion
<bp0yt> hey, is ocalm a flavour of lisp?
<mrvn> like $1000 chamanger is a kind of water.
larhat has joined #ocaml
kushal has joined #ocaml
bp0yt has left #ocaml ["Leaving"]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
<companion_cube> mrvn: you might want to depend on oasis, but then there is no need for setup files :)
<mrvn> which would be the point of it :)
<companion_cube> maybe, when (if?) Gildor merges my PR into oasis, oasis will become a more acceptable dependency
larhat1 has joined #ocaml
larhat has quit [Ping timeout: 260 seconds]
kakadu has joined #ocaml
Soni has joined #ocaml
Soni is now known as cat5e
bba has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
butts_butts has joined #ocaml
dsheets has quit [Remote host closed the connection]
sepp2k has joined #ocaml
copy` has joined #ocaml
amnn has joined #ocaml
larhat1 has quit [Read error: Connection reset by peer]
larhat has joined #ocaml
<reynir> Are there vim plugins for _oasis files?
silver has joined #ocaml
<reynir> \o/ thanks
<companion_cube> also, something for opam files
rgrinberg has joined #ocaml
<companion_cube> rgrinberg: we were talking about your vim syntax modules, which are cool ;)
<reynir> Aha, there's https://github.com/rgrinberg/vim-ocaml too
<reynir> ^ includes _oasis, _tags and opam files
rgrinberg has quit [Client Quit]
rgrinberg has joined #ocaml
<companion_cube> oh, it includes _oasis now?
<companion_cube> ah right, I only use this one actually
unbalancedparen has joined #ocaml
ygrek has joined #ocaml
toomuchtvrotsurb has joined #ocaml
dsheets has joined #ocaml
toomuchtvrotsurb has quit [Ping timeout: 250 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
butts_butts has quit [Ping timeout: 250 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
seangrove has joined #ocaml
hcarty has joined #ocaml
octachron has quit [Ping timeout: 250 seconds]
larhat has quit [Ping timeout: 276 seconds]
butts_butts has joined #ocaml
seangrove has quit [Ping timeout: 264 seconds]
troydm has quit [Ping timeout: 244 seconds]
larhat has joined #ocaml
dsheets has quit [Remote host closed the connection]
dsheets has joined #ocaml
NingaLeaf has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
Sorella has joined #ocaml
toomuchtvrotsurb has joined #ocaml
groovy2shoes has quit [Quit: Leaving]
zpe has quit [Remote host closed the connection]
FreeBirdLjj has quit [Remote host closed the connection]
munksgaa1d has joined #ocaml
aantron has joined #ocaml
FreeBirdLjj has joined #ocaml
troydm has joined #ocaml
amnn has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
larhat has quit [Read error: Connection reset by peer]
<munksgaa1d> I'm trying to install the llvm module using `opam install llvm`, but I keep getting an error saying ld cant find "-lLLVM-3.8". Does anyone know what could be wrong? I have llvm installed (llvm-config --version returns "3.8.0") and I'm running Gentoo
<Drup> you probably need llvm's headers too
<munksgaa1d> But I can compile some LLVM dependant C++ code
<munksgaa1d> For the record, I'm following the llvm tutorials (http://llvm.org/docs/tutorial/index.html) which has both an ocaml and a c++ implementation. The C++ thing works, but opam cant find llvm :(
<Drup> I don't really now gentoo, so I can't really help you
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
FreeBird_ has joined #ocaml
sh0t has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 252 seconds]
FreeBird_ has quit [Ping timeout: 272 seconds]
<hcarty> I have some bindings using ctypes that currently use Foreign's release_runtime_lock. I'd like to move to stub generation because it will make binding some local C code easier. However stub generation doesn't give the option of releasing the OCaml runtime lock.
<hcarty> What is the proper work-around for this?
troydm has quit [Ping timeout: 244 seconds]
<mrvn> hcarty: I think they are working on that
Mercuria1Alchemi has joined #ocaml
<hcarty> mrvn: I'm hoping for a workaround until formal support is available. I have libffi-based bindings working fine, but I'd like to bind some local C convenience functions too without having to mix FFI methods. Not sure that's going to work though
<hcarty> Not without significant extra effort at least
<mrvn> hcarty: do they take long? do they block? Otherwise just add (* FIXME: release runtime *)
<munksgaa1d> Ah, think I need to compile llvm with ocaml bindings.
<mrvn> or can't you just include arbitrary C statements in the stub generation?
johnelse has quit [Ping timeout: 244 seconds]
<hcarty> mrvn: They use the CPU fairly heavily and, in order to be useful in the context I need the bindings for, I need them to run concurrently with the rest of the program
<mrvn> hannes: fair enough. I've just seen people add the runtime lock to functions that take less time to complete than releasing the lock.
<hcarty> mrvn: If I can include arbitrary C statements in stub generation I'll use that - not sure it's possible yet though
<hcarty> The calls will take seconds to minutes, so pretty long running :-)
butts_butts has quit [Ping timeout: 244 seconds]
<mrvn> and why does irssis tab completion randomly change its behaviour?
<mrvn> h<tab> completes to hcarty, johnelse leaves, h<tab> completes to hannes, butts_butts leaves, h<tab> completes to hcarty again. *grrr*
<hcarty> That's fun
<mrvn> seems like every join/leave resorts the user list and destroys the "LRU" order.
<mrvn> or some of them at least
amnn has joined #ocaml
rand__ has quit [Quit: leaving]
johnelse has joined #ocaml
johnelse is now known as johnel_away
johnel_away is now known as johnelse
troydm has joined #ocaml
pierpa has joined #ocaml
munksgaa1d has quit [Quit: Lost terminal]
amnn has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
BitPuffin|osx has joined #ocaml
<dsheets> hcarty: take a look at my ocaml-unix-fcntl or ocaml-unix-dirent packages, i have util c files which release the lock. yallop has some related work for lwt job wrapped bindings in the pipeline which may also solve this deficiency
<hcarty> dsheets: Thanks, I'll take a look
butts_butts has joined #ocaml
mxu has joined #ocaml
<mxu> I’m trying to use BuckleScript with Qt/QML, and QML doesn’t know anything about “requires”, which appears in the generated JavaScript. Is this just a hopeless endevour or is there way to work around this?
<seliopou> Drup: am I hallucinating? :P
<Drup> seliopou: what do you mean ? That he changed his mind ?
<seliopou> yes
<Drup> I'm not really surprised
<Drup> he probably tried to implement it cleanly, figured out you couldn't and fall back to keeping the unsafe version
<seliopou> ¯\_(ツ)_/¯
<mxu> Does Bucklescript only work with Node? It seems that “require” is not standard JavaScript.
<kakadu> mxu: You need require.js embedded in your QML app
octachron has joined #ocaml
<Drup> seliopou: indeed
<Drup> seliopou: the other thing he added is useful, but completely unrelated to your usecase :p
<Drup> oh, actually, it could
<Drup> you could skip indentation spaces
<mxu> Kakadu: I know you worked on related stuff. Have you had any luck with getting Ocaml and Qt to interoperate via Bucklescript or is this just a hopeless endevour?
<kakadu> I did some hello-world-like apps with js_of_ocaml
<kakadu> They kind of worked
<kakadu> not really big one
<kakadu> I will be glad to do some experiments again but there is a lot of stuff which I should do but don't want
<kakadu> I think that all problems are solvable
<mxu> They might be solvable by someone, but not by me. :(
<kakadu> Just make some demo with QML and require.js for the beginning without any ocaml
mpu has left #ocaml [#ocaml]
<seliopou> Drup: That's quite nice, actually. Depending on the thing you're printing, you could define a single formatter and get pretty printing and compact printing by just swapping out that function.
<Drup> yes
<hcarty> dsheets: Ah, cool - I didn't realize it was safe to call caml_*_runtime_system inside a bare C function. But I suppose it makes sense that it would be safe as long as that function is only called from a properly wrapped stub.
<Drup> it's a useful feature.
<mxu> Kakadu: The main reason I wanted to use OCaml from QML was that I’ve been bitten by weak type systems like JavaScript’s too often, but it seems that it would be better just to live with JavaScript’s ticking timebomb of a type-system.
<kakadu> Well, I beleive that idea of Ecmascript in QML is to do some really simle stuff related to GUI. Complex/time-consuming code should be done in OCaml/C++ respectively
<kakadu> So, it is not right to write all the logic in OCaml, translate to Ecamscript and run in QML engine
<kakadu> because their implementaion of Javascript VM is good for small code
<kakadu> It was created to compile small portion of Ecmascript well. Not the big ones. V8 is good for big ones. They abandoned it and created Vm called V4
<Drup> seliopou: also, I figured tyre might amuse you
<seliopou> Drup: interesting!
<seliopou> ohhhh
<seliopou> Got that routing!
<Drup> seliopou: well, it's like in furl, but only for regexs
<mxu> Kakadu: There is no point in using OCaml if OCaml is limited to writing small segments of code for QML.
<Drup> furl does a bit more work to handle URLs well
<Drup> (it has the routing too)
<mxu> Getting OCaml + Qt working on Android is impossible.
<kakadu> Wait, I didn't said that
<flux> mxu, well, if such segments can make directly use of OCaml functions, then it seems to me it's not useless at all
toomuchtvrotsurb has quit []
<seliopou> Drup: i gotta dig deeper into both, and get back to stuff that's higher up the http stack
<kakadu> Ecmascript in QMLis intended to implement some small GUI interaction things.
<mxu> I don’t know what you mean by “directly.” i was just hoping to be able to use OCaml for something productive. Something people might actually look at. But it seems that OCaml is relegated to the backend that no one in the real world sees it.
jeffmo has joined #ocaml
<Drup> seliopou: tyre's API is unlikely to change (I don't see fundamental issues in it)
<Drup> furl's API ... is not good
<mxu> Kakadu: OCaml is a second-class citizen for Qt. Well, third-class really.
<Drup> I want to change it
<kakadu> Well, I had some thought to patch QML engine to use OCaml insted of Javascript but I think that nobody will use it (and too much work, of course)
yomimono has joined #ocaml
<mxu> Everything I work on is hopeless. I don’t even know why I bother. I try to find things that are interesting and exciting, but nothing ever works out for me.
<kakadu> mxu: ocsigen?
<mxu> Kakadu: What about it?
<kakadu> type-safe web-programmin in OCaml
<kakadu> Have some interesting things in it
<mxu> I don’t want web programming. I want nice, real, native applications.
<kakadu> okay.....
ocaml314 has joined #ocaml
mxu has quit [Quit: mxu]
<kakadu> I will try to bring a guy there which will say that lablqt is good
octachron has quit [Quit: Page closed]
bba has joined #ocaml
lin has joined #ocaml
<lin> Hey all, any Arch users here?
AlexRussia has joined #ocaml
<Drup> what's your question ?
<lin> Trying to build some libs and I'm getting a '/usr/bin/ld: /usr/lib/ocaml/libasmrun.a(startup.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC', trying to find the right package to get that
<Drup> please pastebin "opam config report"
ocaml314 has quit [Quit: Page closed]
<Leonidas> lin: at best you just uninstall the system ocaml.
mistermetaphor has joined #ocaml
<Drup> hum, are you actually using opam ?
<lin> I am, yes
<lin> Ah damn didn't even look at the paste
<lin> Just a tick
<lin> OK nvm that was the right thing. Sorry, n00b at ocaml stuff here
<Leonidas> In my experience the Arch OCaml packages are horrible and trying to glue together OPAM and AUR-installed packages is not even worth the effort
ocaml211 has joined #ocaml
<Leonidas> I guess I should orphan all my OCaml AUR packages as well.
<Drup> well, they work well for packaging, not for dev
<Drup> lin: just use an opam switch, "opam switch 4.03.0" for example
<Drup> (See opam's documentation for details)
orbifx has joined #ocaml
<orbifx> Who is bad mouthing lablqt?
<lin> OK, thank you! I'm currently rebuilding arch official opam with fPIC in my CFLAGS in the ABS, but if that doesn't work then I'll try the switch, thanks Leonidas and Drup
doecnt has joined #ocaml
<Drup> seliopou: interesting note about tyre, you may notice that the operators are very similar to the one in angstrom, that's on purpose. The main differences are that tyre is reversible, so I had to change some stuff
<seliopou> I noticed :)
<seliopou> Something like this would be better for doing URI routing
<Drup> seliopou: well, as I said, furl is for URI routing ;)
<Drup> tyre is more or less extracted from furl
<Leonidas> Drup: yes, if you have applications that depend on these, sure (though in the case of ocaml, that would be only build-dependencies)
<seliopou> wait how is this reversible in general?
<Drup> seliopou: well, there is parse and unparse
<seliopou> i see that, my question is how does unparse always work? :)
<Drup> two constraints on the combinators
<seliopou> ohhh
<Drup> they are visilble on the type of <?> and of **>
<seliopou> conv
dsheets has quit [Remote host closed the connection]
<Drup> ah yes, conv is bidirectional
<seliopou> i see :)
<Drup> It's a bit constraining for the user, but I think having unparse is a very good property
<seliopou> yeah I glossed over conv because I assumed from its shape it was a simple map-like operations
<Drup> it's a bimap :p
<seliopou> so i was right! :P
<Drup> If you want to really understand the constraint, I think it's easier to look at the definition of 'a t
dsheets has joined #ocaml
<orbifx> Kakadu: ?
doecnt has quit [Ping timeout: 260 seconds]
<reynir> orbifx: I don't think anyone was badmouthing lablqt
slash^ has joined #ocaml
butts_butts has quit [Ping timeout: 240 seconds]
<orbifx> reynir: I was kidding, but I heard there was a debate
<orbifx> What was the matter?
tane has joined #ocaml
<kakadu> mxu is left
butts_butts has joined #ocaml
<kakadu> So, how is bad that OCaml is 3rd classs citizin in QML apps?
<reynir> orbifx: mxu wanted to use qt/qml on android with ocaml, and complained about ocaml support for qt on android
<reynir> (something like that)
frefity has quit [Quit: Ex-Chat]
<kakadu> history knows everything, btw
amnn has joined #ocaml
<orbifx> I'll read it on some online logger
dsheets has quit [Remote host closed the connection]
dsheets has joined #ocaml
nicoo has quit [Remote host closed the connection]
<reynir> Does lablqt work on android?
nicoo has joined #ocaml
ocaml211 has quit [Ping timeout: 250 seconds]
mistermetaphor has quit [Read error: Connection reset by peer]
mistermetaphor has joined #ocaml
shinnya has quit [Ping timeout: 260 seconds]
<orbifx> reynir: dunno
<orbifx> Not tried it there
<orbifx> I would like to know but it would be low on my priority list
troydm has quit [Ping timeout: 244 seconds]
<orbifx> Also I didn't even understand what mxu's problem was
<kakadu> I dont' have android, I don't know
troydm has joined #ocaml
amnn has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
butts_butts has quit [Ping timeout: 246 seconds]
jwatzman|work has quit [Quit: jwatzman|work]
kolko has joined #ocaml
Algebr``` has quit [Ping timeout: 276 seconds]
butts_butts has joined #ocaml
ygrek has quit [Ping timeout: 244 seconds]
mistermetaphor has quit [Read error: Connection reset by peer]
orbifx2 has joined #ocaml
<orbifx2> Bottom line is, I've successfully used lablqt for an industrial application
orbifx has quit [Ping timeout: 244 seconds]
mistermetaphor has joined #ocaml
butts_butts has quit [Ping timeout: 244 seconds]
rand__ has joined #ocaml
frefity has joined #ocaml
<frefity> using Lwt_io.open_connection, I get a (Lwt_io.input_channel * Lwt_io.output_channel) Lwt.t
<frefity> how do i get the output channel?
<frefity> using snd gives me a type error
dsheets has quit [Remote host closed the connection]
dsheets has joined #ocaml
dsheets has quit [Remote host closed the connection]
dsheets has joined #ocaml
dsheets has quit [Remote host closed the connection]
nicoo has quit [Remote host closed the connection]
thomasga has joined #ocaml
dsheets has joined #ocaml
nicoo has joined #ocaml
yomimono has quit [Ping timeout: 240 seconds]
yunxing has joined #ocaml
rand__ has quit [Read error: Connection reset by peer]
loocash has joined #ocaml
loocash has quit [Client Quit]
loocash has joined #ocaml
loocash has quit [Client Quit]
loocash has joined #ocaml
troydm has quit [Ping timeout: 244 seconds]
loocash has quit [Client Quit]
troydm has joined #ocaml
troydm has quit [Ping timeout: 244 seconds]
<hcarty> frefity: You need to bind the result, something like "let%lwt ic, oc = Lwt_io.open_connection ... in ..."
yunxing has quit [Remote host closed the connection]
Denommus has joined #ocaml
<Algebr``> or Lwt_io.open_connection ... >>= fun (ic, oc) ->
dsheets has quit [Remote host closed the connection]
dsheets has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 276 seconds]
dsheets has quit [Ping timeout: 260 seconds]
lindig has joined #ocaml
<lindig> Any Oasis expert around? How does the Oasis handle binaries that are declared in the _oasis file in the install step? The manual doesn't tell and from experiments I have doubts that they get installed.
<companion_cube> it installs them, unless you specify Install: false
dsheets has joined #ocaml
<lindig> Where do they go? Where prefix says they should go?
<Algebr``> I suppose look at setup.data for paths?
<Algebr``> I think it uses whatever ocamlc -where says
<companion_cube> yes, to --bindir
<lindig> I tried this and then used find(1) to locate the binary in /usr/local and ~/.opam and could not find them.
<companion_cube> look at ./configure
<companion_cube> typically, in opam, I do [ "./configure" "--prefix" prefix ]
<companion_cube> and on opam install, oasis will do the right thing
<lindig> ok. will try again. it is exactly for oapm
<lindig> opam
dsheets has quit [Ping timeout: 244 seconds]
<lindig> so in do [make "install"] in opam as well?
<lindig> …you do…
troydm has joined #ocaml
<lindig> trying it again, it seems to work (going to /usr/local/bin). hmm
zpe has joined #ocaml
octachron has joined #ocaml
<Drup> lindig: do exactly the same as https://github.com/whitequark/ocaml-inotify
dsheets has joined #ocaml
yunxing has joined #ocaml
<lindig> Thanks. This looks well crafted. Mine uses the makefile (which calls ocaml setup.ml).
<Drup> not going through the makefile avoids any GNUism&co that might have slip there, which is better for portability
thomasga has quit [Quit: Leaving.]
dsheets has quit [Ping timeout: 250 seconds]
rwmjones has quit [Ping timeout: 260 seconds]
thomasga has joined #ocaml
lindig has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
doecnt has joined #ocaml
ril has joined #ocaml
zpe has quit [Remote host closed the connection]
scarygelatin has joined #ocaml
rwmjones has joined #ocaml
thomasga has quit [Quit: Leaving.]
octachron has quit [Ping timeout: 276 seconds]
lindig has joined #ocaml
thomasga has joined #ocaml
octachron has joined #ocaml
rwmjones has quit [Ping timeout: 264 seconds]
kakadu has quit [Ping timeout: 250 seconds]
rwmjones has joined #ocaml
troydm has quit [Ping timeout: 244 seconds]
jeffmo has quit [Quit: jeffmo]
troydm has joined #ocaml
Denommus has quit [Quit: Bye]
<seliopou> companion_cube: just saw your lwt-pipe repo
<seliopou> looks great!
<companion_cube> well, needs some testing and improvement, but I'm unhappy with Lwt_stream
<seliopou> As am I
lindig has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
Denommus has joined #ocaml
<seliopou> Would you be interested in contributions?
<companion_cube> we discussed it with hcarty
<companion_cube> oh yeah, sure!!
<seliopou> Specifically, I'm looking for something that would suit the requirements of cohttp and high-performance web apps in general
<seliopou> So that will be the angle I'm coming at it from, to be clear and up front
<seliopou> What's your license?
<seliopou> BSD-2, nice
<companion_cube> BSD
<companion_cube> please read the code!
slash^ has quit [Read error: Connection reset by peer]
<companion_cube> if you're going to use it, you're probably going to have to fix issues or add stuff
<companion_cube> (of course I'm interested in helping, too)
<seliopou> companion_cube: I will def read the code :)
<seliopou> Maybe not this week, got some traveling to do, but when I get back
<companion_cube> sure
<companion_cube> good! :)
mistermetaphor has quit [Read error: Connection reset by peer]
<seliopou> Have you given much thought as to whether the lib should be consumer-driven vs producer-driven?
dsheets has joined #ocaml
<Drup> isn't stream consumer-driven (and that's the source of most issues) ?
<Drup> Lwt_stream*
<companion_cube> seliopou: producer
<companion_cube> it's a bounded queue, and readers will block
<seliopou> Drup: the problem with stream is that it's both, depending on how you construct the stream
<seliopou> I believe david has some choice thoughts on the matter
<seliopou> companion_cube :+1:
thomasga has quit [Quit: Leaving.]
mistermetaphor has joined #ocaml
<companion_cube> well, at least that's how I see it; a synchronization point between writer(s) and reader(s)
<seliopou> Drup: too good to be true on the compiler pr, apparently
<Algebr``> edwin: I'm using Lwt_unix.fork in the callback to Lwt_io.establish_server and that works but while the child is handling the connection it could get another request on the same location, which makes the child run its own copy of the server
dsheets has quit [Ping timeout: 250 seconds]
NingaLeaf_ has joined #ocaml
NingaLeaf has quit [Read error: Connection reset by peer]
doecnt has quit [Ping timeout: 244 seconds]
zpe has joined #ocaml
<hcarty> seliopou companion_cube: I like that consumer-driven is an option in Lwt_stream - that's handy when you want to be fully bound by the consumer's usage rate
<hcarty> But the fact that you don't know when looking a stream if it's consumer- or producer-driven is a problem
djellemah has quit [Ping timeout: 252 seconds]
<edwin> Algebr``: you should probably have separate workers
<edwin> pre-forked, not forked at the time you receive the query
lindig has joined #ocaml
<edwin> I think if you fork after you created the listening socket, but before accepting any connections you would avoid the problem you described
kolko has quit [Quit: ZNC - http://znc.in]
<Algebr``> yea, I have tried that as well
<Algebr``> I should have
butts_butts has joined #ocaml
<Algebr``> ah, wish there was a way to call raw directly with flags
<Algebr``> call clone *
alexelcu has quit [Quit: Leaving.]
alexelcu has joined #ocaml
thomasga has joined #ocaml
doecnt has joined #ocaml
<Algebr``> Drup: okay, trying it out
<Drup> it doesn't use a pool of process, unlike Lwt_preemptive for threads, not sure if you really want that though
djellemah has joined #ocaml
troydm has quit [Ping timeout: 244 seconds]
djellemah has quit [Ping timeout: 250 seconds]
djellemah has joined #ocaml
<Algebr``> I'm fine with forking for each request
<Drup> bulletml has been released in ml ! \o/
<Drup> in opam*
butts_butts has quit [Ping timeout: 244 seconds]
<bronsen> I am following along https://realworldocaml.org/v1/en/html/a-guided-tour.html; in the section "Options" I get an error when I try the code for log_entry: http://i.imgur.com/J8wPMqd.png What should I look into to get this example compiled?
kushal has quit [Read error: Connection reset by peer]
<rgrinberg> bronsen: add something like ~zone:Time.Zone.local to your call
<rgrinberg> obviously you should choose whatever timezone works for you
doecnt has quit [Ping timeout: 240 seconds]
<bronsen> thank you rgrinberg :)
troydm has joined #ocaml
ril is now known as ril[away]
ril[away] is now known as ril
frefity has quit [Ping timeout: 244 seconds]
zpe has quit [Remote host closed the connection]
troydm has quit [Ping timeout: 244 seconds]
yunxing has quit [Remote host closed the connection]
frefity has joined #ocaml
srcerer_ has joined #ocaml
srcerer has quit [Ping timeout: 276 seconds]
thomasga has quit [Quit: Leaving.]
mistermetaphor has quit [Read error: Connection reset by peer]
troydm has joined #ocaml
srcerer_ is now known as srcerer
thomasga has joined #ocaml
Mercuria1Alchemi has quit [Ping timeout: 240 seconds]
mistermetaphor has joined #ocaml
orbifx2 has quit [Ping timeout: 272 seconds]
dsheets has joined #ocaml
<hcarty> Will aquiring the runtime lock work with a cstubs-based funptr?
<hcarty> s/aquiring/acquiring/
rand__ has joined #ocaml
alexelcu has quit [Quit: Leaving.]
misterme_ has joined #ocaml
mistermetaphor has quit [Ping timeout: 250 seconds]
octachron has quit [Quit: Leaving]
unbalancedparen has quit [Quit: WeeChat 1.5]
mistermetaphor has joined #ocaml
yunxing has joined #ocaml
misterme_ has quit [Ping timeout: 264 seconds]
mistermetaphor has quit [Ping timeout: 276 seconds]
mistermetaphor has joined #ocaml
dsheets has quit [Remote host closed the connection]
frefity has quit [Ping timeout: 244 seconds]
troydm has quit [Ping timeout: 244 seconds]
munksgaard has joined #ocaml
zpe has joined #ocaml
<munksgaard> Hi! Does anyone know about the ocaml bindings for llvm? I'm trying to install them with `opam install llvm`, but it keeps complaining that ld can't find "-lLLVM-3.8". I've got llvm installed and working (as far as I can tell), but somehow ocaml/opam cant find it
<Drup> munksgaard: you have the right version ?
<munksgaard> Drup: I believe so, `llvm-config --version` returns 3.8.0
<Drup> could you pastebin "opam install -v llvm" ?
misterme_ has joined #ocaml
mistermetaphor has quit [Read error: Connection reset by peer]
<munksgaard> Drup: Sure, give me a minute
ril is now known as ril[away]
lindig has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
yunxing has quit [Remote host closed the connection]
lindig has joined #ocaml
<munksgaard> That's the contents of env, out and err
<munksgaard> as well as some environment stuff I guess
<Drup> and you can use -lLLVM-3.8 manually just fine ?
ril[away] is now known as ril
troydm has joined #ocaml
<munksgaard> Drup: Hmm, I'm not sure how to test it, but I've been able to compile a C++ file with `llvm-config --cxxflags --ldflags --system-libs --libs core`
<munksgaard> Which returns -lLLVMCore -lLLVMSupport but not -lLLVM-3.8
<Drup> huum
<munksgaard> And no, it seems like if I just use `ld -lLLVM-3.8`, I get an error
<munksgaard> ld: cannot find -lLLVM-3.8
<munksgaard> The same, I guess :)
shinnya has joined #ocaml
<Drup> It seems like an issue with gentoo's packaging of llvm
<munksgaard> :-/
lindig has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
yunxing has joined #ocaml
thomasga has quit [Quit: Leaving.]
<munksgaard> I have a lot of different libLLVM{random-stuff} in my /usr/lib. Should there just be one `libLLVM-3.8.so instead?
<Drup> not instead, but yes you need it
<Drup> just add a symlink
zpe has quit [Remote host closed the connection]
<munksgaard> Drup: To what, LLVMCore?
<Drup> huum
<Drup> you don't have a libLLVM.so ?
<munksgaard> Drup: nope :/
<Drup> do you have any .so ?
<munksgaard> Drup: Yep, a whole bunch of them. libLLVMCore.so for example, but also a hundred others
hcarty has quit [Ping timeout: 246 seconds]
<Drup> that is weird
<Drup> I have lot's of .a and only one .so (plus a bunch of symlinks)
<munksgaard> Drup: Ah! I think it worked by just symlinking libLLVMCore.so to libLLVM-3.8
<munksgaard> .so
<munksgaard> Now I have to see if I can compile anything
<Drup> right, you can try that I guess, but I'm not convinced it's going to work for everything
<munksgaard> Drup: Maybe not... Shouldn't the install script for the llvm module use llvm-config to get the flags anyway?
<munksgaard> I'm just guessing that that's what llvm-config is for
<Drup> It probably should, but it seems a bit tricky, you need to ask jpdeplaix for the details
<Drup> (the ocaml bindings are actually included inside llvm's sources, so it's reusing llvm's buildsystem, with only the ocaml binding enabled, jpdeplaix's is the author of the script)
<munksgaard> Drup: Ah okay. Thank you! I think I'll bother jpdeplaix tomorrow :)
thomasga has joined #ocaml
sh0t has quit [Ping timeout: 244 seconds]
troydm has quit [Ping timeout: 244 seconds]
<munksgaard> Drup: Okay, I will take a look. Thanks again!
tane has quit [Quit: Verlassend]
rand__ has quit [Quit: leaving]
<Drup> munksgaard: for the record, here is what I have : https://bpaste.net/show/e91b18f3cf15
Simn has quit [Quit: Leaving]
<munksgaard> Drup: Strange... I have most of the same ones, but mine are all .so's and there's no libLLVM-3.8.so except for the one I just symlinked...
yomimono has joined #ocaml
<munksgaard> Drup: What does the * next to the filename mean?
<Drup> executable, for .so
<Drup> and @ is symlink
<Drup> that's on arch, but I'm pretty sure it's the same on debian
<munksgaard> Drup: I guess Gentoo is making life hard for me again :)
troydm has joined #ocaml
misterme_ has quit [Read error: Connection reset by peer]
mistermetaphor has joined #ocaml
<jpdeplaix> munksgaard: what is your problem ?
cthuluh has quit [Ping timeout: 244 seconds]
ril has quit [Read error: Connection reset by peer]
<munksgaard> jpdeplaix: I'm having trouble installing the llvm module using `opam install llvm` on my gentoo machine. Apparently, I don't have the correct libLLVM-3.8.so in /usr/lib.
<munksgaard> Manually symlinking libLLVMCore.so.3.8.0 to libLLVM-3.8.0.so "worked" for installing the module, but I'm having doubts that it's the correct solution.
<munksgaard> Also, I'm wondering where the -lLLVM-3.8 argument to `ld` when I try to `opam install llvm` comes from. My llvm-config doesn't mention such a library at all.
<munksgaard> (At least as far as I can tell)
ril has joined #ocaml
manud has quit [Quit: manud]
yunxing has quit [Remote host closed the connection]
manud has joined #ocaml
yunxing has joined #ocaml
sh0t has joined #ocaml
amnn has joined #ocaml
<jpdeplaix> well -lLLVM-3.8 comes from the sources themselves
<jpdeplaix> munksgaard: ^
yunxing has quit [Remote host closed the connection]
<munksgaard> jpdeplaix: The LLVM sources?
<jpdeplaix> but it should still be available on any system installation so I don't understand why you don't have it
<jpdeplaix> munksgaard: it's hard-coded in the LLVM sources yes
A19774941 has quit [Quit: Leaving.]
<munksgaard> jpdeplaix: Yes it is very strange. And I've just recompiled LLVM to make sure nothing was missing. Perhaps the gentoo package maintainers are messing things up?
<jpdeplaix> munksgaard: what do you have in this directory ? http://paste.isomorphis.me/2IJ
bba has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
bba has joined #ocaml
bba has quit [Client Quit]
<munksgaard> jpdeplaix: I don't even have such a directory
<munksgaard> jpdeplaix: These are the results of running `ls /usr/lib | grep -i llvm`: http://pastebin.com/vUJRkPFv
<munksgaard> The libLLVM-3.8.so and libLLVM.so.3.8.0 have been manually created by me
yunxing has joined #ocaml
<munksgaard> and are just symlinks to libLLVMCore.so
yunxing has quit [Remote host closed the connection]
<jpdeplaix> munksgaard: and what is the result of « llvm-config --ldflags » ?
<jpdeplaix> hum I mean llvm-config-3.8
<munksgaard> jpdeplaix: I don't have llvm-config-3.8, only llvm-config. And the result is `-L/usr/lib64`
yunxing has joined #ocaml
<jpdeplaix> so maybe it's something about 64 vs 32 bits libraries
<jpdeplaix> what emerge use flags did you use ?
<munksgaard> jpdeplaix: USE="libffi multitarget ncurses ocaml static-analyzer xml -clang -debug -doc -gold -libedit -lldb -python {-test}" ABI_X86="32 (64) (-x32)"
<munksgaard> jpdeplaix: Perhaps I need x32?
<munksgaard> On the ABI_X86
john51 has joined #ocaml
mal`` has joined #ocaml
<jpdeplaix> perhaps
MightyJoe has joined #ocaml
<jpdeplaix> It worth a try
mehdib_ has joined #ocaml
maufred has joined #ocaml
Pepe__ has joined #ocaml
ooo_ has joined #ocaml
igitoor_ has joined #ocaml
<munksgaard> jpdeplaix: Yeah. I'll give it a try tomorrow, it takes some time to recompile LLVM :) Thanks for helping me out so far!
<jpdeplaix> munksgaard: you're welcome :)
boegel|quassel has joined #ocaml
obj_magic has joined #ocaml
avsej_ has joined #ocaml
avsej_ has joined #ocaml
bitbckt_ has joined #ocaml
cschneid- has joined #ocaml
darius93 has joined #ocaml
M-pesterhazy1 has joined #ocaml
cat5e has quit [*.net *.split]
mfp_ has quit [*.net *.split]
seako has quit [*.net *.split]
sspi has quit [*.net *.split]
bigs has quit [*.net *.split]
cantstanya has quit [*.net *.split]
dch has quit [*.net *.split]
rpip has quit [*.net *.split]
bronsen has quit [*.net *.split]
lyxia has quit [*.net *.split]
jyc__ has quit [*.net *.split]
igitoor has quit [*.net *.split]
lpaste_ has quit [*.net *.split]
def` has quit [*.net *.split]
[BNC]lokien has quit [*.net *.split]
maker has quit [*.net *.split]
dariusc93 has quit [*.net *.split]
objmagic has quit [*.net *.split]
maufred_ has quit [*.net *.split]
mal``` has quit [*.net *.split]
bitbckt has quit [*.net *.split]
l1x has quit [*.net *.split]
Pepe_ has quit [*.net *.split]
mehdib has quit [*.net *.split]
cyraxjoe has quit [*.net *.split]
john51_ has quit [*.net *.split]
fluter has quit [*.net *.split]
reynir has quit [*.net *.split]
boegel has quit [*.net *.split]
M-pesterhazy has quit [*.net *.split]
avsej has quit [*.net *.split]
cschneid has quit [*.net *.split]
cnu- has quit [*.net *.split]
ooo has quit [*.net *.split]
def`_ has joined #ocaml
avsej_ is now known as avsej
lpaste has joined #ocaml
cnu- has joined #ocaml
rpip has joined #ocaml
butts_butts has joined #ocaml
srcerer has quit [Ping timeout: 276 seconds]
igitoor_ has joined #ocaml
igitoor_ has quit [Changing host]
igitoor_ is now known as igitoor
yomimono_ has joined #ocaml
bba has joined #ocaml
lokien has joined #ocaml
rgrinberg has quit [Ping timeout: 244 seconds]
yomimono has quit [Ping timeout: 240 seconds]
munksgaard has quit [Quit: Lost terminal]
<aantron> companion_cube: seliopou: Drup: hcarty: proposals to change Lwt_stream and/or include something else in Lwt (or factor streams out) are welcome. id rather not keep something people dont want to use, even if it takes a long time to fully phase out. as for me as a user, i have no strong opinion on Lwt_stream, but the interface does frighten me slightly
<Drup> diml saying he wanted something "like Batteries.Enum" is slightly scary
troydm has quit [Ping timeout: 244 seconds]
<Drup> seliopou: <* priority is bellow @@ :(
<Drup> and *> is the wrong associativity
<aantron> companion_cube: i was thinking of the kind of stream that lwt-pipe is, when thinking about seliopou's PR(s) recently... looks pretty nice and clean
thomasga1 has joined #ocaml
sepp2k has quit [Quit: Leaving.]
yunxing has quit [Remote host closed the connection]
troydm has joined #ocaml
Denommus has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
thomasga has quit [Ping timeout: 260 seconds]
butts_butts has quit [Ping timeout: 240 seconds]
misterme_ has joined #ocaml
mistermetaphor has quit [Read error: Connection reset by peer]
madroach has quit [Ping timeout: 244 seconds]
madroach has joined #ocaml
srcerer has joined #ocaml
cat5e has joined #ocaml
mfp_ has joined #ocaml
cthuluh has joined #ocaml
nicoo has quit [Ping timeout: 244 seconds]
seako has joined #ocaml
yunxing has joined #ocaml
<Algebr``> bah, should be able to do let open (struct let a = 10 end) in but can't
l1x has joined #ocaml
troydm has quit [Ping timeout: 244 seconds]
troydm has joined #ocaml
thomasga1 has quit [Quit: Leaving.]
<Algebr``> Drup: wow nice reasons by Leo, ()i think Leo)
nicoo has joined #ocaml
thomasga has joined #ocaml
troydm has quit [Ping timeout: 244 seconds]
amnn has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
ril is now known as ril[away]
ril[away] is now known as ril
troydm has joined #ocaml
Nahra has joined #ocaml