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
dothraki__ has joined #ocaml
ril has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
yomimono_ has quit [Ping timeout: 244 seconds]
troydm has quit [Ping timeout: 244 seconds]
troydm has joined #ocaml
dothraki__ has quit [Ping timeout: 244 seconds]
troydm has quit [Ping timeout: 244 seconds]
lyxia has joined #ocaml
reynir has joined #ocaml
jyc__ has joined #ocaml
cantstanya has joined #ocaml
sspi has joined #ocaml
fluter has joined #ocaml
maker has joined #ocaml
bigs has joined #ocaml
yunxing has quit [Remote host closed the connection]
yunxing has joined #ocaml
dsheets has joined #ocaml
ril has joined #ocaml
dch has joined #ocaml
troydm has joined #ocaml
dsheets has quit [Ping timeout: 250 seconds]
troydm has quit [Ping timeout: 244 seconds]
ril has quit [Ping timeout: 272 seconds]
walter|r has joined #ocaml
misterme_ has quit [Remote host closed the connection]
Algebr has joined #ocaml
nicoo has quit [Remote host closed the connection]
nicoo has joined #ocaml
dsheets has joined #ocaml
sh0t has quit [Ping timeout: 260 seconds]
walter|r has quit [Ping timeout: 260 seconds]
troydm has joined #ocaml
dsheets has quit [Ping timeout: 250 seconds]
Sorella has quit [Quit: Connection closed for inactivity]
yunxing has quit [Quit: Leaving...]
mfp_ has quit [Ping timeout: 240 seconds]
mfp_ has joined #ocaml
sh0t has joined #ocaml
silver has quit [Read error: Connection reset by peer]
walter|r has joined #ocaml
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Read error: Connection reset by peer]
FreeBirdLjj has joined #ocaml
walter|r has quit [Ping timeout: 244 seconds]
pierpa has quit [Ping timeout: 246 seconds]
thomasga has quit [Quit: Leaving.]
<obj_magic> very good explanation. path.ml is crucial in ocaml
oh-camel has joined #ocaml
dothraki__ has joined #ocaml
Algebr has quit [Ping timeout: 244 seconds]
<oh-camel> I'm looking at classes in reason for the first time - does anyone know why `new` returns a function instead of the instance of the class?
zRecursive has joined #ocaml
walter|r has joined #ocaml
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 276 seconds]
zRecursive has left #ocaml ["ERC (IRC client for Emacs 24.5.1)"]
walter|r has quit [Remote host closed the connection]
oh-camel has quit [Ping timeout: 250 seconds]
Algebr has joined #ocaml
butts_butts has joined #ocaml
Algebr has quit [Ping timeout: 250 seconds]
rgrinberg has joined #ocaml
FreeBird_ has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 276 seconds]
lostman has joined #ocaml
FreeBird_ has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
butts_butts has quit [Ping timeout: 272 seconds]
cmk_zzz has quit [Ping timeout: 276 seconds]
cmk_zzz has joined #ocaml
dothraki__ has quit [Quit: Leaving]
Algebr has joined #ocaml
shinnya has quit [Ping timeout: 260 seconds]
mistermetaphor has joined #ocaml
FreeBird_ has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 260 seconds]
dsheets has joined #ocaml
FreeBird_ has quit [Remote host closed the connection]
dsheets has quit [Ping timeout: 260 seconds]
FreeBirdLjj has joined #ocaml
MercurialAlchemi has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 240 seconds]
nicoo has quit [Remote host closed the connection]
nicoo has joined #ocaml
yunxing has joined #ocaml
scarygelatin has quit [Quit: Leaving]
groovy2shoes has joined #ocaml
sh0t has quit [Quit: Leaving]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
dsheets has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 272 seconds]
FreeBirdLjj has quit [Ping timeout: 260 seconds]
rgrinberg has quit [Ping timeout: 260 seconds]
dsheets has quit [Ping timeout: 260 seconds]
dsheets has joined #ocaml
manud has quit [Quit: manud]
sgnb has quit [Remote host closed the connection]
sgnb has joined #ocaml
darius93 has quit [Ping timeout: 252 seconds]
pootler_ has quit [Read error: Connection reset by peer]
teiresias has quit [Remote host closed the connection]
srcerer_ has joined #ocaml
pootler_ has joined #ocaml
dsheets has quit [Ping timeout: 272 seconds]
johnelse has quit [Ping timeout: 240 seconds]
M-martinklepsch has quit [Ping timeout: 240 seconds]
teiresia` has joined #ocaml
srcerer has quit [Ping timeout: 260 seconds]
johnelse has joined #ocaml
darius93 has joined #ocaml
kushal has joined #ocaml
clockish has quit [Quit: bye]
M-martinklepsch has joined #ocaml
clockish has joined #ocaml
FreeBirdLjj has joined #ocaml
copy` has quit [Quit: Connection closed for inactivity]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
teiresia` has quit [Changing host]
teiresia` has joined #ocaml
teiresia` is now known as teiresias
FreeBirdLjj has quit [Ping timeout: 244 seconds]
MercurialAlchemi has joined #ocaml
mistermetaphor has quit []
dsheets has joined #ocaml
mistermetaphor has joined #ocaml
groovy2shoes has quit [Ping timeout: 250 seconds]
dsheets has quit [Ping timeout: 260 seconds]
A1977494 has joined #ocaml
mistermetaphor has quit [Remote host closed the connection]
butts_butts has joined #ocaml
mistermetaphor has joined #ocaml
mistermetaphor has quit [Read error: Connection reset by peer]
mistermetaphor has joined #ocaml
FreeBirdLjj has joined #ocaml
troydm has quit [Ping timeout: 244 seconds]
caw has quit [Ping timeout: 260 seconds]
zpe has joined #ocaml
ygrek has joined #ocaml
zpe has quit [Remote host closed the connection]
aphprentice has quit [Ping timeout: 260 seconds]
msch has quit [Ping timeout: 260 seconds]
zpe has joined #ocaml
git-commit has quit [Ping timeout: 252 seconds]
andreypopp has quit [Ping timeout: 260 seconds]
jkni has quit [Ping timeout: 260 seconds]
yminsky has quit [Ping timeout: 260 seconds]
NingaLeaf has joined #ocaml
NingaLeaf_ has quit [Ping timeout: 260 seconds]
yminsky has joined #ocaml
parataxis has quit [Ping timeout: 260 seconds]
msch has joined #ocaml
oldmanistan_ has quit [Ping timeout: 260 seconds]
git-commit has joined #ocaml
aphprentice has joined #ocaml
sz0 has quit [Ping timeout: 260 seconds]
jkni has joined #ocaml
parataxis has joined #ocaml
oldmanistan_ has joined #ocaml
andreypopp has joined #ocaml
caw has joined #ocaml
lostman has quit [Quit: Connection closed for inactivity]
stephe_ has quit [Ping timeout: 260 seconds]
Fleurety has quit [Ping timeout: 246 seconds]
stephe_ has joined #ocaml
troydm has joined #ocaml
jkni has quit [Ping timeout: 260 seconds]
sz0 has joined #ocaml
ygrek has quit [Ping timeout: 250 seconds]
Fleurety has joined #ocaml
jkni has joined #ocaml
Bahman has joined #ocaml
mistermetaphor has quit [Remote host closed the connection]
alexelcu has joined #ocaml
butts_butts has quit [Ping timeout: 260 seconds]
boegel|quassel is now known as boegel
boegel has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
boegel has joined #ocaml
lindig has joined #ocaml
groovy2shoes has joined #ocaml
frefity has joined #ocaml
lostman has joined #ocaml
lindig has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
Bahman has quit [Quit: ave atque vale]
groovy2shoes has quit [Remote host closed the connection]
lindig has joined #ocaml
groovy2shoes has joined #ocaml
lindig has quit [Client Quit]
ygrek has joined #ocaml
butts_butts has joined #ocaml
lindig has joined #ocaml
lindig has quit [Client Quit]
butts_butts has quit [Remote host closed the connection]
FreeBirdLjj has quit [Remote host closed the connection]
Simn has joined #ocaml
groovy2shoes has quit [Quit: Leaving]
<companion_cube> aantron: tbh lwt-pipe is part inspired from what I read about async.pipe
<companion_cube> (didn't read the code, only the interface, though — but oracle's laywer might be unhappy?)
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Read error: Connection reset by peer]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Read error: Connection reset by peer]
FreeBirdLjj has joined #ocaml
<reynir> heh
alexelcu has quit [Quit: Leaving.]
alexelcu has joined #ocaml
wolfcore has quit [Ping timeout: 260 seconds]
wolfcore has joined #ocaml
frefity has quit [Ping timeout: 272 seconds]
lindig has joined #ocaml
yunxing has quit [Remote host closed the connection]
<Algebr> hamburger menu pipes
yunxing has joined #ocaml
<companion_cube> it's refreshing to see aantron taking over lwt's maintainance
freehck has quit [Remote host closed the connection]
yunxing has quit [Ping timeout: 244 seconds]
manud has joined #ocaml
lindig has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
rand__ has joined #ocaml
dsheets has joined #ocaml
dsheets has quit [Remote host closed the connection]
dsheets has joined #ocaml
lindig has joined #ocaml
<Algebr> is he really?
<Algebr> that's great.
<MercurialAlchemi> I wonder how much work there is to do to make lwt cooperate with multicore?
frefity has joined #ocaml
alexelcu has quit [Quit: Leaving.]
alexelcu has joined #ocaml
fedjo has joined #ocaml
ygrek has quit [Ping timeout: 260 seconds]
jwatzman|work has joined #ocaml
lindig has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
lindig has joined #ocaml
aantron has quit [Quit: Enjoy!]
lindig has quit [Client Quit]
seangrove has joined #ocaml
lindig has joined #ocaml
bba has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
bba has joined #ocaml
bba has quit [Client Quit]
Pepe__ is now known as Pepe_
ggole has joined #ocaml
amnn has joined #ocaml
zpe has quit [Ping timeout: 240 seconds]
bronsen has joined #ocaml
orbifx has joined #ocaml
lindig has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
lindig has joined #ocaml
lindig has quit [Client Quit]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
lindig has joined #ocaml
manud has quit [Quit: manud]
lindig has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<Algebr> hopefully not that much
<flux> in practice, maybe, a lot of code might depend on current single thread of execution, though
lindig has joined #ocaml
rand__ has quit [Quit: leaving]
lindig has quit [Client Quit]
darius93 has quit [Ping timeout: 260 seconds]
lindig has joined #ocaml
darius93 has joined #ocaml
lindig has quit [Client Quit]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
seangrove has quit [Ping timeout: 272 seconds]
bba has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
dsheets has quit [Remote host closed the connection]
dsheets has joined #ocaml
lindig has joined #ocaml
lindig has quit [Client Quit]
FreeBirdLjj has quit [Remote host closed the connection]
lindig has joined #ocaml
FreeBirdLjj has joined #ocaml
ygrek has joined #ocaml
Algebr has quit [Ping timeout: 272 seconds]
tautologico has quit [Quit: Connection closed for inactivity]
sepp2k has joined #ocaml
lindig has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
lindig has joined #ocaml
zpe has joined #ocaml
<companion_cube> +1 flux, I write lwt code assuming there will be no race conditions
lindig has quit [Client Quit]
<companion_cube> I think that when multicore finally happens, lwt should continue providing a single-core interface
ygrek has quit [Ping timeout: 246 seconds]
<companion_cube> and people will be able to use Lwt_preemptive.detach for costly computations if they wish
dsheets has quit [Remote host closed the connection]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
jave has quit [Ping timeout: 252 seconds]
jave has joined #ocaml
pierpa has joined #ocaml
pierpa has quit [Remote host closed the connection]
pierpa has joined #ocaml
larhat has joined #ocaml
<Drup> that is so cool <3
<Drup> (next jsoo release is going to be really cool)
lindig has joined #ocaml
<lin> .quit
<lin> Sorry
pierpa has quit [Remote host closed the connection]
pierpa has joined #ocaml
lindig has quit [Client Quit]
<flux> drup, umm, executive summary for us not following js_of_ocaml that closely?-)
<Drup> you can now compile a .cmo/a to a .js file and use dynlink
<Drup> and separate compilation
dsheets has joined #ocaml
<Drup> Previously, you had to compile to an executable then compile that to .js
pyon has quit [Quit: brb guise]
<reynir> :o that sounds very cool!
<engil> that remembered by that my previous attempt at writing a reason toplevel with jsoo was a failure
<companion_cube> soon OCaml on node.js will be more popular than OCaml native
<engil> mostly because I didn't took the time to understand every bits of it
<engil> Drup: you think it's doable ?
FreeBirdLjj has quit [Remote host closed the connection]
<engil> might be the wrong channel…
<Drup> engil: huum, I don't see what would be the issue
dsheets has quit [Ping timeout: 252 seconds]
<flux> companion_cube, argh
<engil> Drup: so the issue is my incompetence, noted.
<engil> will try again later then
FreeBirdLjj has joined #ocaml
<flux> not completence but perseverance ;-)
<flux> -l
<engil> probably :)
FreeBirdLjj has quit [Remote host closed the connection]
<companion_cube> flux: I'm not serious, I hope it will not happen
<companion_cube> but maybe reason will become more popular than vanillocaml
FreeBirdLjj has joined #ocaml
<engil> well, if you use github stars as a scale, that's already it
<engil> :-)
<companion_cube> ^^
tane has joined #ocaml
<companion_cube> stars are fun but they probably are not a valid measure for anything
<companion_cube> (except 'the number of people clicking on the star button')
<engil> well, they measure interest, not actual impact
<engil> nor « real interest », that is, above saying « that's cool »
<companion_cube> yeah, exactly
<Drup> engil: I think the simplest way would be to copy the toplevel in js_of_ocaml's sources and add reason -> ocaml translation inside Toplevel.run
<companion_cube> or "I want to bookmark this"
<engil> Drup: did that, fought a little bit with translating from camlp4 to ppx, haven't used jsoo in ages
<Drup> translating from camlP4 to ppx ? What for ?
<flux> I've starred many projects I haven't even git cloned
pyon has joined #ocaml
<flux> I'll check them out again.. eventually.. :-)
<engil> reason won't compile with some camlp4 bits
<Drup> engil: why does it matter ? You want the jsoo toplevel to take reason as imput, not to translate the code to reason syntax
AlfredENeuman has joined #ocaml
<Drup> But actually, now that I'm looking at it, don't bother doing that
<Drup> just change Toploop.parse_topleve_phrase
lindig has joined #ocaml
<Drup> it's a reference, you can change the content, switch it for a reason parser :]
octachron has joined #ocaml
<engil> Drup: when I tried to use the reason parser, when using the reason package when compiling, it complained that reason was not compatible with camlp4
<engil> I probably did something wrong though
<engil> will try again
<Drup> that doesn't make sense, it's an ocaml library, once it's compiled, it doesn't matter o_o
<engil> that what I thought
<Drup> ping chenglou ^
amnn has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
amnn has joined #ocaml
lindig has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<flux> I realized on the other hand I haven't starred the ocaml project :-)
<MercurialAlchemi> engil: you're unreasonable, that's why :)
dsheets has joined #ocaml
lindig has joined #ocaml
<engil> maybe :)
<engil> Drup: might be related to this: error(pkg_camlp4) = "reason is incompatible with camlp4"
Sorella has joined #ocaml
lindig has quit [Client Quit]
<Drup> right, so apparently this error is also propagated to reason.lib, which is wrong
lindig has joined #ocaml
sh0t has joined #ocaml
lindig has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
lindig has joined #ocaml
steve_gh has joined #ocaml
lindig has quit [Client Quit]
<steve_gh> can I ask a beginner's question?
gpietro_ has joined #ocaml
<companion_cube> sure, go on
<steve_gh> Thxs. I'm a little confused about how I instantiate a date using CalendarLib (for example using utop)
<steve_gh> If I type
<steve_gh> let d=Date.make 2016 10 10;;
sh0t has quit [Ping timeout: 260 seconds]
<steve_gh> I get
<reynir> Where's CalendarLib from?
<steve_gh> val d : Date.t = <abstr>
<companion_cube> from `calendar`?
<companion_cube> steve_gh: that's just how it's printed, the type is probably opaque
lindig has joined #ocaml
lindig has quit [Client Quit]
<steve_gh> OK thxs companion_cube. Now if I try applying a getter method to my date d, for example d.days_in_month I get an Error: Unbound value days_in_month.
<companion_cube> Date.days_in_month d
<steve_gh> So I'm thinking that I haven't actually specified the type. Am I barking up the wrong tree here?
<companion_cube> the function belongs to the module, not the values
ygrek has joined #ocaml
<steve_gh> Duh!!! thank you. I get it now
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
lindig has joined #ocaml
lindig has quit [Client Quit]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
wiredsister has joined #ocaml
FreeBird_ has joined #ocaml
<companion_cube> hmmm, does OCaml support parametrized printing functions nowadays?
<companion_cube> in utop
<Enjolras_> you mean like #install_printer ?
<companion_cube> yeah, it rejects my printing functions
tane has quit [Quit: Verlassend]
<companion_cube> "wrong type for a printing function"
steve_gh has quit [Ping timeout: 250 seconds]
<companion_cube> (for (formatter -> 'a -> unit) -> formatter -> 'a t -> unit)
lindig has joined #ocaml
djellemah has quit [Remote host closed the connection]
FreeBirdLjj has quit [Ping timeout: 240 seconds]
<ggole> 4.03 added those iirc
rgrinberg has joined #ocaml
<companion_cube> well I tried on 4.03...
FreeBird_ has quit [Ping timeout: 244 seconds]
gpietro_ has quit [Ping timeout: 260 seconds]
<Drup> #install_poly_printer or something like that
Denommus has joined #ocaml
<companion_cube> oh, right, it was because of optional arguments
lindig has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
Ravana has quit [Quit: Goodbye for now!]
dsheets has quit [Remote host closed the connection]
Ravana has joined #ocaml
dsheets has joined #ocaml
silver has joined #ocaml
al-damiri has joined #ocaml
tane has joined #ocaml
lindig has joined #ocaml
lindig has quit [Client Quit]
Mercuria1Alchemi has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 244 seconds]
amnn has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
gpietro_ has joined #ocaml
pyon has quit [Ping timeout: 240 seconds]
hcarty has joined #ocaml
dwillems has joined #ocaml
lostman has quit [Quit: Connection closed for inactivity]
rgrinberg has quit [Ping timeout: 276 seconds]
A1977494 has quit [Remote host closed the connection]
ygrek has quit [Ping timeout: 250 seconds]
darius93 has quit [*.net *.split]
Fleurety has quit [*.net *.split]
aphprentice has quit [*.net *.split]
AlfredENeuman has quit [*.net *.split]
wiredsister has quit [*.net *.split]
def`_ has quit [*.net *.split]
M-pesterhazy1 has quit [*.net *.split]
rgrinberg has joined #ocaml
alexelcu has left #ocaml [#ocaml]
rgrinberg has quit [Read error: Connection reset by peer]
rgrinberg has joined #ocaml
rgrinberg has quit [Read error: Connection reset by peer]
dwillems has quit [Read error: Connection reset by peer]
trevorriles has joined #ocaml
MercurialAlchemi has joined #ocaml
aantron has joined #ocaml
A1977494 has joined #ocaml
<aantron> argh, znc keeps crashing with no log
<lin> :(
slash^ has joined #ocaml
<lin> aantron: is this possibly your problem? https://github.com/znc/znc/issues/1255
<aantron> hum seems i have znc 1.2, from the blessed ubuntu repos
<lin> 1.2 o.O
<lin> upgrade pls
<aantron> yeah :p
mistermetaphor has joined #ocaml
<aantron> thanks
<lin> Sure lol
lindig has joined #ocaml
ygrek has joined #ocaml
lindig has quit [Client Quit]
mistermetaphor has quit [Remote host closed the connection]
<edwin> aantron: FWIW I run ZNC 1.6.2-2~bpo8+1, it hasn't crashed since February 20 when I installed that version
<aantron> edwin: cool, i will try installing znc from the ppa and see how that works
lindig has joined #ocaml
yomimono has joined #ocaml
copy` has joined #ocaml
leyyin has joined #ocaml
kolko has joined #ocaml
ygrek has quit [Ping timeout: 250 seconds]
wiredsister has joined #ocaml
def`_ has joined #ocaml
M-pesterhazy1 has joined #ocaml
lindig has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
rgrinberg has joined #ocaml
infinity0_ has joined #ocaml
infinity0_ has quit [Changing host]
infinity0_ has joined #ocaml
infinity0 has quit [Ping timeout: 260 seconds]
rgrinberg has quit [Read error: Connection reset by peer]
Sorella has quit [Quit: Connection closed for inactivity]
AlfredENeuman has joined #ocaml
darius93 has joined #ocaml
Fleurety has joined #ocaml
aphprentice has joined #ocaml
Fleurety has quit [Max SendQ exceeded]
aphprentice has quit [Max SendQ exceeded]
aphprentice has joined #ocaml
lindig has joined #ocaml
infinity0_ has quit [Remote host closed the connection]
rgrinberg has joined #ocaml
infinity0 has joined #ocaml
kushal has quit [Quit: Leaving]
zpe has quit [Ping timeout: 244 seconds]
darius93 has quit [*.net *.split]
AlfredENeuman has quit [*.net *.split]
infinity0 has quit [Remote host closed the connection]
aantron has quit [Quit: Enjoy!]
lindig has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
infinity0 has joined #ocaml
aantron has joined #ocaml
<frefity> using lwt, how do I block until a thread has terminated?
Algebr has joined #ocaml
<companion_cube> you mean,really block? you cannot
<Drup> frefity: simply use bind/>>=
<companion_cube> use >>=
<Algebr> and its friends, I like >|=
Algebr has quit [Remote host closed the connection]
Algebr has joined #ocaml
dsheets has quit [Remote host closed the connection]
<frefity> thanks
darius93 has joined #ocaml
AlfredENeuman has joined #ocaml
mistermetaphor has joined #ocaml
dsheets has joined #ocaml
Denommus has quit [Ping timeout: 258 seconds]
rgrinberg has quit [Ping timeout: 252 seconds]
zpe has joined #ocaml
<Algebr> fiddling with fork is annoying, damnit OCaml single threadedness
<companion_cube> have you tried parmap and the likes?
<Algebr> parmap is more for computations
<Algebr> and subdividing work, as I understand it
<Algebr> I just need to fork n number of times
<companion_cube> oh
rgrinberg has joined #ocaml
<Algebr> yea, my hassle is that its messing up sockets from the parents, etc etc. Unix crap
<companion_cube> ah, yeah, annoying
gpietro_ has quit [Quit: Leaving]
<Algebr> and tried lwt-parallel but its not actualy forking all the time?
<Algebr> just hassle of trying to find all the odd unix corner cases
larhat has quit [Quit: Leaving.]
lindig has joined #ocaml
<Algebr> but the single threadness + Lwt did let me bang something out quite good in a short period of time, for that I love the elegance of Lwt, however heavily underdocumented it is
<Algebr> Does ocaml farm out the linking of cmos and whatnot to the system linker, or does it have a primitiv inhouse linker
BitPuffin|osx has quit [Remote host closed the connection]
Denommus has joined #ocaml
doecnt has joined #ocaml
doecnt has quit [Remote host closed the connection]
lindig has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
lindig has joined #ocaml
shinnya has joined #ocaml
mistermetaphor has quit [Ping timeout: 260 seconds]
mistermetaphor has joined #ocaml
lindig has quit [Read error: Connection reset by peer]
thomasga has joined #ocaml
jwatzman|work has quit [Quit: jwatzman|work]
misterme_ has joined #ocaml
hcarty has quit [Ping timeout: 260 seconds]
ygrek has joined #ocaml
<Algebr> python really does have its moments of awesome: if not any([filename.endswith(name) for name in bad_endings]):
<Algebr>
mistermetaphor has quit [Ping timeout: 244 seconds]
<Algebr> python trivial, the list comprehension is faster than the map(lambda, iterable) since the map will load up the function name/symbol for each call. (Or so I am told)
dsheets has quit [Remote host closed the connection]
dsheets has joined #ocaml
bba has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
zpe has quit [Ping timeout: 240 seconds]
bba has joined #ocaml
dsheets has quit [Ping timeout: 276 seconds]
MightyJoe is now known as cyraxjoe
rand__ has joined #ocaml
octachron has quit [Quit: Page closed]
dsheets has joined #ocaml
wiredsister has quit [Ping timeout: 244 seconds]
<companion_cube> List.for_all (fun name -> not (File.suffix name filename)) bad_endings <--- sth like this is not too bad either
<Algebr> yea not bad, but doesn't read to me as easily from left to right
dsheets has quit [Ping timeout: 258 seconds]
<companion_cube> yeah, yeah, ok
<mfp_> Algebr: what was the problem with lwt-parallel exactly? IIRC it creates a "zygote" process that will fork as needed to create workers and give the (unix socket) address to the main program so that it can get the result
mfp_ is now known as mfp
unbalancedparen has joined #ocaml
<Algebr> yea, I don't need it to fork as needed, I need it to fork n number. Otherwise when it forks the children get parents sockets, and I don't need that, also have this race condition where child forks and gets parents server, which gets request and then forks again.
<Algebr> the main program doesn't get any result, each forked child more like provides a service
<mfp> Algebr: IIRC the idea is to fork the "zygote" early when the process starts, so that the workers do not inherit random garbage (fds, stuff)
amnn has joined #ocaml
<Algebr> yea, I take it that's Parallel.init
<companion_cube> you can also setup FDs so they close on fork, afaik
<companion_cube> so the child doesn't get them at all
<Algebr> well, I need child to get the request and parent's handle to close
<Algebr> bah, its confusing
<companion_cube> it's on a per-FD basis
<mfp> the handle is a fd?
yunxing has joined #ocaml
amnn has quit [Client Quit]
<mfp> you can send the fd via a unix socket to the worker, then forget about it in the main program
<Algebr> how
<Algebr> also wat
<Algebr> you mean like literally just sending the fd's number?
<Algebr> damnit mulitcore come fix this all.
dwillems has joined #ocaml
<mfp> nope, the thing to pass unix file descriptors via sendmsg
<flux> but it's all a bit tricky I recall, is there a module that does it?
amnn has joined #ocaml
<mfp> maybe extunix?
<Algebr> I will just defer this refactoring and stick to the single thread for now
<mfp> OK sendmsg: Unix.file_descr -> ?sendfd:Unix.file_descr -> string -> unit
<mfp> Send a message and optionally a file descriptor through a socket.
misterme_ has quit [Remote host closed the connection]
mistermetaphor has joined #ocaml
<Algebr> assume there's a lwt version
<Algebr> also how bad would it be to do Unix.fork in an Lwt process and then in the child call Lwt_main.run
<flux> I think it might not work as great as you hope
<Algebr> this way each child gets its own Lwt_main loop right?
<flux> look at what Lwt_unix.fork does?
leyyin has quit [Ping timeout: 272 seconds]
dwillems has quit [Ping timeout: 272 seconds]
jwatzman|work has joined #ocaml
<seliopou> Algebr are you building a web server>
<seliopou> ?
<Algebr> no
<Algebr> but I hope someone does
<seliopou> just trying to farm out some work?
<seliopou> to multiple cores?
<Algebr> yea
<seliopou> or over the network?
<Algebr> multiple cores on local machine
<Algebr> or at least have more than one OCaml process doing work at same time
connorjacobsen has joined #ocaml
<seliopou> any particular scheduling strategy you're going after or just "more cores plz"
<seliopou> (trying to get an idea of your requirements)
mistermetaphor has quit [Remote host closed the connection]
<Algebr> more cores plz
<Algebr> no unix bugz
mistermetaphor has joined #ocaml
<flux> iirc ocamlnet has some library for that effect. haven't tried it though.
<flux> featuring shared memory
<seliopou> ok so two solutions come to mind, one involving ocaml, and one not involving ocaml
<seliopou> First the OCaml one (don't shoot the messenger): https://github.com/janestreet/async_parallel
<seliopou> :D
<flux> one not involving ocaml: use c++!
<struk|desk> fwiw, I had a bad experience with that guy..couldn't get it to work on multiple machines (it did work ok locally on on host though)
slash^ has quit [Read error: Connection reset by peer]
hcarty has joined #ocaml
<struk|desk> and no documentation on it..not clear path of dev
<flux> hmm, Async seems interesting
<flux> but I do wonder if the channels are movable between processes
<flux> and if theere's a way to wait messages on multiple channels
<flux> mayeb I should write an Event module for multiple processes!
<seliopou> Second, I'd write a shell script to setup a bunch of fifos in the filesystem, spawn a process and pass the name of the fifo to each one
slash^ has joined #ocaml
<seliopou> then, the script can read a work unit from a file one line at a time, and round-robin to the fifos
<Algebr> seliopou: bah, such a big ass rewrite outweighs the benefit, but not a bad suggestion
<hcarty> flux: zeromq maybe?
<flux> hcarty, 0mq for ocaml allows passing channels easily from process to process?
<Algebr> seliopou: ah, clever
<Algebr> thank you
<hcarty> flux: Not channels, just bytes
<seliopou> np
<flux> well yes, that's simpl-ish ;)
<hcarty> flux: And listening for multiple senders
<flux> but it would be nice to for example: send a message, and sometimes the message contains a handle to the channel to send the response back to
<hcarty> flux: That would be useful... submit a PR to lwt-zmq with the appropriate scaffolding :-)
<hcarty> flux: Or a feature request
<struk|desk> I really liked using zeromq. worked well almost out of the box. rabbit mq...not so much. async parallel, not at all
<hcarty> I haven't tried async parallel. I use zeromq more or less daily and am quite happy with it overall
<struk|desk> to complete the list though: https://github.com/rgrinberg/onanomsg
dsheets has joined #ocaml
dwillems has joined #ocaml
<rgrinberg> companion_cube: if you want to officially take over onanomsg you're welcome to
<struk|desk> if I started a project that needed one of zeromq or nanomsg, not sure which I'd pick
<companion_cube> ah, yeah
dsheets has quit [Ping timeout: 272 seconds]
<companion_cube> forgot about that
srcerer_ is now known as srcerer
<rgrinberg> struk|desk: please pick zeromq. the bindings are in far better shape and zeromq is actually being maintained
<companion_cube> really? in what way are nanomsg's bindings bad actually?
<struk|desk> got it! I am trying to using kefka exclusively for anything involving multiple machines anyhow (or tensorflow if it's specific to that domain), but we will see..
<struk|desk> err, *kafka
tvynr has joined #ocaml
<tvynr> Does anyone know if it's possible to write a project-specific PPX extension? I'm using OASIS as a build system and I'm trying to come up with a good way to write little domain-specific syntactic sugar without the overhead of creating a separate project.
<mrvn> rgrinberg: except they sometimes segfault
<mrvn> tvynr: it is but don't ask me how
<tvynr> mrvn: Well, that's encouraging, at least. :)
<companion_cube> tvynr: I suppose you'll have to deal with ocamlbuild directly, but I might be wrong
<rgrinberg> companion_cube: they don't work with lwt or async yet
<mrvn> iirc you need to patch myocamlbuild to add the flags and some tags to make it build the ppx first.
<companion_cube> wait, there is a nanomsg_lwt module?
<tvynr> companion_cube, mrvn: Thanks; I'll take a look. I'm sort of paranoid I'm going to wind up with something that doesn't play nicely with Merlin. :(
dsheets has joined #ocaml
zpe has joined #ocaml
<hcarty> mrvn: If they segfault please submit a bug!
dsheets has quit [Ping timeout: 276 seconds]
zpe_ has joined #ocaml
zpe has quit [Ping timeout: 250 seconds]
orbifx has quit [Quit: WeeChat 1.5]
<struk|desk> does anyone know of a function in Core.Std.Option which provides a default value to the option in a lazy way? eg: Option.value_lazy ~f:(fun () -> "a default") an_optional
dwillems has left #ocaml ["Ex-Chat"]
<companion_cube> in Core, I don't know
<struk|desk> I added one as PR to CCOpt :), but core doesn't seeem to have one
octachron has joined #ocaml
<companion_cube> ahah indeed :D
<companion_cube> I remembered having one, but not that you were the implementor
shinnya has quit [Ping timeout: 260 seconds]
<octachron> tvynr, for merlin, you just need to add a line like "FLG -ppx your_ppx_executable" and it should work fine
ggole has quit []
darkf has quit [Quit: Leaving]
<tvynr> octachron: Ah! I'd forgotten about FLG. Thanks!
<struk|desk> companion_cube: they are also missing choice, surprisingl..maybe I should PR it, for uniformity's sake
<companion_cube> :D
<companion_cube> core, this minimalistic library
<struk|desk> lol
octachron has quit [Read error: Connection reset by peer]
kolko has quit [Quit: ZNC - http://znc.in]
amnn has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
connorjacobsen has quit [Remote host closed the connection]
amnn has joined #ocaml
dsheets has joined #ocaml
thomasga has quit [Quit: Leaving.]
dsheets has quit [Ping timeout: 250 seconds]
Simn has quit [Ping timeout: 260 seconds]
octachron has joined #ocaml
mistermetaphor has quit [Remote host closed the connection]
octachron_ has joined #ocaml
octachron_ has quit [Client Quit]
slash^ has quit [Ping timeout: 250 seconds]
octachron has quit [Ping timeout: 272 seconds]
groovy2shoes has joined #ocaml
<MercurialAlchemi> dbuenzli is a machine
<MercurialAlchemi> how many quality libraries can one person release a month?
mistermetaphor has joined #ocaml
<MercurialAlchemi> with docs
<Algebr> we are quite a productive community
<struk|desk> I demand a drug test!
pyon has joined #ocaml
<tane> I just wondered whether there was a file-path lib for ocaml.. of course there's one in his repository .. :)
Algebr has quit [Ping timeout: 258 seconds]
<companion_cube> there are several, actually: fpath and fileutils
<tane> yep, somehow I wasn't able to find the via opam. must have been bad search pattern day
bba has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<fds> struk|desk: I'd also like to know what I should be taking. ;-)
walter|r has joined #ocaml
<struk|desk> fds: I mean, maybe you can do the code that quickly sober, but with docs? come on...
<companion_cube> he must have been preparing those releases for a while though :)
octachron has joined #ocaml
walter|r has quit [Remote host closed the connection]
walter|r has joined #ocaml
octachron has quit [Read error: Connection reset by peer]
walter|r has quit [Remote host closed the connection]
<MercurialAlchemi> companion_cube: yeah
yomimono has quit [Quit: Leaving]
<MercurialAlchemi> or he has a time machine and his future self sends him code
<companion_cube> no, I think he spends a lot of time on his code
<companion_cube> and those libs have been in the works for a while, which is why they're so well designed
<struk|desk> companion_cube: stop it with your plausible explanations-they are not welcomed here!
octachron has joined #ocaml
dsheets has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 272 seconds]
thomasga has joined #ocaml
dsheets has quit [Ping timeout: 250 seconds]
jwatzman|work has quit [Quit: jwatzman|work]
amnn has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
amnn has joined #ocaml
Omerta has joined #ocaml
zpe_ has quit [Remote host closed the connection]
frefity has quit [Ping timeout: 258 seconds]
Simn has joined #ocaml
manud has joined #ocaml
lin has quit [Quit: Free me from Freenode!]
tvynr has quit [Quit: Leaving]
scarygelatin has joined #ocaml
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 250 seconds]
zpe has joined #ocaml
Omerta has quit [Quit: Leaving]
octachron has quit [Quit: Leaving]
zpe has quit [Remote host closed the connection]
thomasga has quit [Read error: Connection reset by peer]
thomasga has joined #ocaml
bitbckt_ is now known as bitbckt
bitbckt has quit [Changing host]
bitbckt has joined #ocaml
<smondet> rks`: quand on `opam pin` merlin sur `master` c'est normal de pas avoir le vim-plugin?
bba has joined #ocaml
<smondet> (sorry for the wrong language / channel :) )
ygrek has quit [Ping timeout: 244 seconds]
Simn has quit [Quit: Leaving]
tane has quit [Quit: Verlassend]
leyyin has joined #ocaml
sepp2k has quit [Quit: Leaving.]
leyyin has quit [Quit: So Long, and Thanks for All the Fish]
Cypi has quit []
Cypi has joined #ocaml
rand__ has quit [Quit: leaving]
dhil has joined #ocaml
Algebr has joined #ocaml
dhil has quit [Ping timeout: 244 seconds]
yunxing has quit [Remote host closed the connection]
yunxing has joined #ocaml
hcarty has quit [Ping timeout: 244 seconds]
dsheets has joined #ocaml
walter|r has joined #ocaml
dsheets has quit [Ping timeout: 260 seconds]
madroach has quit [Ping timeout: 244 seconds]
madroach has joined #ocaml
sh0t has joined #ocaml
sh0t has quit [Ping timeout: 272 seconds]
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 260 seconds]