ChanServ changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.02.1 announcement at http://ocaml.org/releases/4.02.html | Public channel logs at http://irclog.whitequark.org/ocaml
badkins has quit [Ping timeout: 246 seconds]
badkins has joined #ocaml
AltGr has joined #ocaml
FatBack has quit [Remote host closed the connection]
jwatzman has quit [Quit: jwatzman]
ontologiae has joined #ocaml
ontologiae has quit [Ping timeout: 248 seconds]
cesar_ has joined #ocaml
cesar_ is now known as Guest48795
Guest48795 has quit [Ping timeout: 265 seconds]
<ollehar> anyone awake? :P
<ollehar> can I raise an exception after a `try ... with` and KEEP the old backtrace?
SuperNoeMan has quit [Ping timeout: 250 seconds]
<nojb> ollehar: you can use Printexc.get_raw_backtrace to save a backtrace
<ollehar> back not "bake" it into the next exception?
<nojb> what do you mean ?
<ollehar> try ... with e -> cleanup(); raise e
josch_ has quit [Ping timeout: 250 seconds]
<ollehar> original backtrace dissapears here.
<nojb> ah, yes - I don't think that is possible -
josch has joined #ocaml
<ollehar> hm ok
<ollehar> thanks anyway
SuperNoeMan has joined #ocaml
ollehar has quit [Remote host closed the connection]
djellemah_ has joined #ocaml
malc_ has quit [Quit: leaving]
djellemah__ has quit [Ping timeout: 245 seconds]
rand000 has quit [Quit: leaving]
javamonn has quit [Remote host closed the connection]
rgrinberg has joined #ocaml
zachdonovan has joined #ocaml
<Drup> rgrinberg: "given that you're more experienced"
<rgrinberg> Drup: yes cap'n?
<Drup> NOPE :<
pyon is now known as cofree-copyon
<Drup> (not on webserver's internals, at least)
<rgrinberg> well you at least know some common stuff running on ocsigenserver
<rgrinberg> what about checking how well ocsigen.org runs on it?
<Drup> I don't know if it's a very good or a very terrible idea
<Drup> because ocsimore
<rgrinberg> does ocsigen.org serve its own static assets?
<Drup> yes
<Drup> rgrinberg: I focused on the new_interface, so haven't look at the cohttp stuff yet, how is the code ?
<Drup> and also, maybe more important, what do you expect will break ?
BitPuffin has quit [Ping timeout: 248 seconds]
<rgrinberg> code looks fine IMO except for some big commented chunks which i don't understand
<rgrinberg> breakage wise there's that connection closed callback stuff
<Drup> yes, I saw that. I have no idea.
<rgrinberg> can you think of some downstream api relying on those hooks?
<rgrinberg> well anyway now there's a big leak b/c that hashtable only grows
<Drup> I don't think so
<Drup> well I mean, no external users
<Drup> the rest of ocsigen ? no idea
<rgrinberg> also you guys have your own websockets implmentation somewhere right?
oriba is now known as oriba__
<Drup> no, but we have a comet one
<Drup> ocsigen_comet
<rgrinberg> that should probably work
<rgrinberg> why do you guys copy your ocamldoc in the damn .ml files :O
<Drup> s/guys/dinosaure
<rgrinberg> also we should pay attention to how uri fields ends up changing (if at all) and chunked/fixed for http responses
<rgrinberg> nothing really obvious but people end up relying on edge cases related to these
<Drup> (you see, you know server internals better, told you x)
<rgrinberg> :D anyway, how do we spin up a semi trivial cohttp/ocsigen app and bang it with curl
<Drup> oh, that's easy
<Drup> "make run.opt.local"
<Drup> it serves on localhost:8080
<Drup> But there is no ocsigenserver test suite.
dav has quit [Ping timeout: 250 seconds]
<rgrinberg> i know :(
<rgrinberg> i looked hard for one
<rgrinberg> does $ make run.opt.local work for you?
<Drup> yes
javamonn has joined #ocaml
<Drup> it prints a warning that looks important, but it's not
<Drup> (random path error, could be fixed, but involves magic sed files that I don't want to touch)
<rgrinberg> no dice
<Drup> o_o
mcclurmc_ has quit [Remote host closed the connection]
<Drup> give me a sec, middle of rebasing
nojb has quit [Quit: nojb]
<rgrinberg> you guys need to sacrifice one intern to fix the build system ^_^
<Drup> we tried
<Drup> You can see the reason why it was not merged.
dav has joined #ocaml
<Drup> rgrinberg: I cannot reproduce, it works fine here
shinnya has quit [Ping timeout: 252 seconds]
<Drup> maybe some difference in dynlink behavior due to mac os ?
Sorella has quit [Quit: Connection closed for inactivity]
badkins has quit []
badkins has joined #ocaml
badkins has quit [Client Quit]
javamonn has quit [Remote host closed the connection]
javamonn has joined #ocaml
<rgrinberg> Drup: do you do make install with sudo? I don't
<Drup> I don't make install
<Drup> at all
<rgrinberg> ha ok, i instinctively did it after seeing the findlib path error
<Drup> well, I do have a non-dev version of ocsigenserver install, but I can change that
<Drup> good idea, let's try to recompile eliom on top of this stuff
oriba__ has quit [Quit: oriba__]
<Drup> nope, doesn't :D
javamonn has quit [Remote host closed the connection]
javamonn has joined #ocaml
psy_ has joined #ocaml
psy_ has quit [Max SendQ exceeded]
psy_ has joined #ocaml
<rgrinberg> just confirmed
<rgrinberg> although it doesn't seem like a cohttp change
<rgrinberg> seems like donosaure's other refactoring
darkf has joined #ocaml
<Drup> yeah
<Drup> fixed
<Drup> branch cohttp of eliom
<rgrinberg> wouldn't it be better to get rid of that refactoring in the cohttp branch?
<rgrinberg> also, do you have a .merlin handy for eliom?
<rgrinberg> also is dinosaure even alive?
<Drup> hum, I do
<rgrinberg> so many questions ^_^
<Drup> dinosaure is occasionally alive, but on china TZ.
<Drup> about the refactoring ... yes, that's precisely what I did :D
<Drup> I missed this commit, apparently
monoprotic is now known as diprotic
nullcat has joined #ocaml
diprotic is now known as chembot
chembot is now known as monoprotic
<nullcat> Is there anything you guys don't like about OCaml's side effects?
cesar_ has joined #ocaml
cesar_ is now known as Guest90648
<Drup> rgrinberg: will move the commit tomorrow, good testing, going to bed
<Drup> rgrinberg: oh, btw, how far Cohttp_lwt_mirage is from Cohttp_lwt_unix ?
<rgrinberg> yeah, better luck tomorrow
<rgrinberg> it must be really late for you :D
<Drup> bah, no, I'm used to it
<rgrinberg> Cohttp_lwt_mirage is almost the same except it's a little more limited
<Drup> subtype ? good.
<rgrinberg> e.g. you can't just respond with a local file
<rgrinberg> yeah it's a strict subset i think
<Drup> ah, hum, ok
<Drup> rgrinberg: try to identify parts (if there are any) that are unix only
<Drup> pretty sure there will be, if that's for static file
<rgrinberg> those 3 functions below are not available in mirage
<rgrinberg> apart form that it's the same
Sorella has joined #ocaml
Guest90648 has quit [Ping timeout: 265 seconds]
<Drup> "create" is less grepable that the others two.
<rgrinberg> Drup: at least you must not be that from chinese TZ now lol
<Drup> rgrinberg: err, pretty far actually
<Drup> like, the opposite
<Drup> I'm drifting west, not east
dav has quit [Ping timeout: 252 seconds]
<Drup> So I tend to be in the US TZ
dav has joined #ocaml
<Drup> (ok, I can see AltGr starting to work :D)
<rgrinberg> where is he?
<AltGr> Japan :)
<AltGr> it's almost lunch time actually
<rgrinberg> \o/
<Drup> rgrinberg: what is the equivalent of create ?
<Drup> (in mirage mode)
<Drup> (it's used, but it seems pretty much mandatory)
<Drup> (the other two are not)
<rgrinberg> yep. the `callback` itself should be the same
<Drup> rgrinberg: why a different name/signature ?
<Drup> it seems to fill the same function and be pretty close
<nullcat> discussing cohttp issues now?
<rgrinberg> no clue, avsm kicked mirage-http into its own repo back in the day (around 0.10 i think?)
<rgrinberg> I have no idea why
<rgrinberg> probably got sick of depopts
<rgrinberg> i want cohttp 0.17.0 to come out with separate opam pakcages for every backend
<rgrinberg> so perhaps we'll pull it back in
<rgrinberg> AltGr: thanks for that!
<Drup> rgrinberg: well, we can worry about it later, when I try to actually run ocsigen on mirage. There are many many things to do before that
<Drup> ahah, since there is a cohttp jsoo backend
<Drup> We might be able to do ocsigen-ception
<Drup> that would be hilarious
<rgrinberg> haha yeah that would be nice
<rgrinberg> also, having ocaml-websocket as an alternative to comet would be sweet as well
<Drup> vbmithr started working on that
<rgrinberg> comet/long polling/etc. are all dead at this point
<rgrinberg> nullcat: quite evidently :)
<nullcat> so what's the problem?
<Drup> a point vincent balat raised several time is the whole firewall traversal thingy
<rgrinberg> nullcat: getting this into decent shape: https://github.com/ocsigen/ocsigenserver/pull/64
<Drup> comet works outofthebox through pretty much anything
<Drup> websocket, less so
<rgrinberg> Drup: http://caniuse.com/#feat=websockets
<rgrinberg> anything red on that chart is not something i want to support :D
<Drup> that's browser compat, that's not my point
<rgrinberg> oh that's right proxies :D
<Drup> and entrerprise firewalls.
<rgrinberg> Drup: but then again there's ssl
<Drup> true
<rgrinberg> even pure ocaml ssl :D
blech_ has joined #ocaml
<Drup> tbh, I don't have opinion about it. The current implementation works really well and doesn't present any issue right now
<Drup> (the abstraction doesn't even leak, which says something !)
<rgrinberg> it leaks on benchmarks
<Drup> bah. We don't use it for perf intensive stuff.
<Drup> (ok, maybe we could)
<rgrinberg> if there was a need to allow pure JS clients i'd argue that WS is superior in that as well
<rgrinberg> since the WS client api is sane
<Drup> right, right
<Drup> anyway, other more urgent stuff
<rgrinberg> like running make run.opt.local
<rgrinberg> nullcat: do you run osx by chance?
<nullcat> yes
<nullcat> ...
<Drup> "chance"
<Drup> :D
<rgrinberg> nullcat: can you try running that make target in ocsigenserver ^_^
<Drup> rgrinberg: or reimplement the eliom syntax extension in a sane manner, for me.
<nullcat> hold on
<rgrinberg> Drup: does ocsigen use camlp4?
<Drup> ahah
<nullcat> you mean ``make run.opt.local` ?
<Drup> yes
<Drup> rgrinberg: that's an adorable question
<Drup> (yes, a shitton of it)
<rgrinberg> i mean just the server
<Drup> Oh. ocsigenserver ?
<rgrinberg> yeah
moei has quit [Quit: Leaving...]
<Drup> not a shitton then. Some ocasional ppx's syntax extension
<rgrinberg> nullcat: yep
<Drup> but not a lot
<rgrinberg> Drup: can't see any ppx, i can see a little camlp4 though
<nullcat> wait me to install those required obscure dependency libraries...
<Drup> ppx is too recent, we still support 4.00
<Drup> nullcat: "obscure" ? :p
<rgrinberg> Drup: nullcat is too young for ocamlnet :D
<nullcat> yeah...
<Drup> rgrinberg: cohttp depends explicitely on oasis O_O
<Drup> bad bad bad
<rgrinberg> Drup: nooo
<Drup> :<
<nullcat> yeah,maybe that's an inappropriate word...
<rgrinberg> maybe oasis is sneaking in transitively somehow :/
<nullcat> is TyXml something like Mirage's ocaml-cow?....
moei has joined #ocaml
<Drup> nullcat: err
<rgrinberg> Drup: yep read the comment it snuck up on us
moei has quit [Client Quit]
<Drup> rgrinberg: bad :<
<Drup> nullcat: it hurts me a bit inside to hear that, because it's similar to compare metaocaml to code-emission by string concatenation
<Drup> but yes
<nullcat> no no no... I am just wondering... I don't have much experience with TyXml...
<Drup> (but I know that not everyone likes statically checking html's correctness)
moei has joined #ocaml
<nullcat> but I know metaocaml > code-emission by string concatenation...
<blech_> rgrinberg, did I recently read a blog post from you about async vs. lwt?
<rgrinberg> blech_: "recently" might be pushing it
<rgrinberg> but probably
<blech_> fair enough, I'm a little behind the times
<nullcat> ok this is the output after installing all the dependencies and doing './configure && make run.opt.local'
<Drup> nullcat: that is weird.
<Drup> rgrinberg: how is it working with the stable branch of ocsigenserver ?
<rgrinberg> Drup: same shite
<nullcat> compiler version official 4.02.1, system: OS X 10.10.2
<Drup> this is very weird.
<rgrinberg> is there not a single OSX box in inria to test this stuff @_@
<nullcat> I have lots of time before going to bed. Feel free to ask me anything to help you :)
<rgrinberg> nullcat: excellent, b/c you know just as much as i do about this sutff
<Drup> rgrinberg: I don't want to talk about our CI, it will make me cry.
<nullcat> ...(థ౪థ)
<Drup> (I really don't like jenkins)
<rgrinberg> Drup: this is CAML_LD_LIBRARY_PATH for me: /Users/rgrinberg/.opam/4.02.1/lib/stublibs
<rgrinberg> does that sound about right?
<Drup> yeah
<Drup> rgrinberg: try to fiddle with local/etc/ocsigenserver.conf
<Drup> and tell me tomorrow how it goes
<nullcat> for me, I have "/Users/runhang/.opam/4.02.1/lib/stublibs" for this environment variable
<rgrinberg> PROJECTNAME looks harmless as well
<rgrinberg> Drup: will do
<rgrinberg> nullcat: you heard Drup
<nullcat> ok..
<Drup> you got designed voluntary guinea pig, apparently :D
<Drup> designated* ? probably
<rgrinberg> haha im doing it too
<Drup> rgrinberg: you tried to pin/install via opam and then retry to launch ?
<rgrinberg> Drup: yep
<Drup> then I don't know :|
<rgrinberg> well it's most probably a bug if it's happening to nullcat too
<rgrinberg> Drup: one sec
<Drup> it's not ok, but on my box, it triggers an ignored error, so it's harmless *to me*.
<rgrinberg> Drup: do leading slashes matter?
<rgrinberg> hopefuly not
<rgrinberg> anyway good night :D
<Drup> errr
<Drup> I'm not completely sure they don't :D
<Drup> (especially not-on-linux)
javamonn has quit [Remote host closed the connection]
myyst has joined #ocaml
<nullcat> wait.. it's already 5:25AM for you...?!
<Drup> yeah
myst has quit [Ping timeout: 265 seconds]
monoprotic is now known as triprotic
triprotic is now known as monoprotic
sdothum has quit [Quit: ZNC - 1.6.0 - http://znc.in]
zachdonovan has quit [Ping timeout: 256 seconds]
<rgrinberg> hmm how to enable all lwt logs
<rgrinberg> Drup nullcat: fuck yeah it works
<nullcat> ...
<nullcat> didn't see your question...
<rgrinberg> it's fine :D
<nullcat> rgrinberg: doesn't work for me...
<rgrinberg> hmm same error?
<nullcat> yes...
<rgrinberg> can i see your conf file after the edit?
<nullcat> no no..
<nullcat> not this one..
<nullcat> oh sorry
<nullcat> yes it is the one, before editting
<nullcat> I guess i need to modify line 22?
<nullcat> neither removing line 22 entirely or deleting the last two <findlib...> works
<nullcat> both produces the same error
zachdonovan has joined #ocaml
darkf_ has joined #ocaml
darkf has quit [Ping timeout: 265 seconds]
zachdonovan has quit [Ping timeout: 246 seconds]
<rgrinberg> and just to confirm you have the ocsigenserver installed with findlib
<rgrinberg> e.g. you opam pinned it
<rgrinberg> i'm not sure what's the problem looks the same as mine
<nullcat> no i did not...
<nullcat> how to pin it?
<nullcat> i did not install it using opam, i clone the repo and do configure and make
javamonn has joined #ocaml
javamonn has quit [Remote host closed the connection]
araujo has quit [Ping timeout: 264 seconds]
<struk|desk2> nullcat: opam pin add [-k git] name_of_package directory_or_git_url
zachdonovan has joined #ocaml
javamonn has joined #ocaml
cesar_ has joined #ocaml
cesar_ is now known as Guest81686
Guest81686 has quit [Ping timeout: 265 seconds]
darkf_ is now known as darkf
araujo has joined #ocaml
<rgrinberg> nullcat: yep you need to pin b/c the conf change makes it so that only the findlib installed mods are looked up
<rgrinberg> you can also run make install manually
<nullcat> "so that only the findlib installed mods are looked up" ?
<rgrinberg> yeah that conf file tells ocsigen where to look for extensions
<rgrinberg> you only want the findlib installed extensions to be looked up
<rgrinberg> but they must be there
<rgrinberg> e.g. $ ocamlfind list | grep -i ocsigen
<rgrinberg> should show a bunch of stuff
<nullcat> oh i see
<nullcat> rgrinberg: I read the manual of opam-pin but it's functionality is just to make a package stick to a version or source? how opam-pin exactly helps with this issue..
<rgrinberg> opam pin will invoke the install step
<rgrinberg> $ make install in our case
yac has quit [Ping timeout: 256 seconds]
eventualbuddha has quit [Read error: Connection reset by peer]
cojy_ has quit [Ping timeout: 252 seconds]
jcloud has quit [Ping timeout: 252 seconds]
ggherdov has quit [Ping timeout: 252 seconds]
bobpoekert has quit [Ping timeout: 252 seconds]
lopex has quit [Ping timeout: 272 seconds]
andreypopp has quit [Ping timeout: 252 seconds]
rfv has quit [Ping timeout: 252 seconds]
eventualbuddha has joined #ocaml
ericbmerritt has quit [Ping timeout: 252 seconds]
ericbmerritt has joined #ocaml
bobpoekert has joined #ocaml
yac has joined #ocaml
rfv has joined #ocaml
jcloud has joined #ocaml
cojy_ has joined #ocaml
<nullcat> i see
andreypopp has joined #ocaml
<nullcat> and manually doing 'make run.opt.local' still fails for me
lopex has joined #ocaml
MrScout_ has quit [Ping timeout: 272 seconds]
javamonn has quit [Remote host closed the connection]
ggherdov has joined #ocaml
_whitelogger has joined #ocaml
Simn has joined #ocaml
divyanshu has quit [Quit: Connection closed for inactivity]
IbnFirnas has quit [Ping timeout: 244 seconds]
AlexRussia has joined #ocaml
javamonn has joined #ocaml
javamonn has quit [Ping timeout: 255 seconds]
rgrinberg has joined #ocaml
rgrinberg has quit [Ping timeout: 246 seconds]
IbnFirnas has joined #ocaml
xificurC has joined #ocaml
xificurC has quit [Remote host closed the connection]
xificurC has joined #ocaml
Haudegen has quit [Ping timeout: 255 seconds]
Haudegen has joined #ocaml
AlexRussia has quit [Ping timeout: 250 seconds]
elfring has joined #ocaml
octachron has joined #ocaml
mengu has quit [Remote host closed the connection]
milosn has quit [Ping timeout: 256 seconds]
larhat has quit [Quit: Leaving.]
Kakadu has joined #ocaml
cesar_ has joined #ocaml
cesar_ is now known as Guest71605
Guest71605 has quit [Ping timeout: 265 seconds]
thomasga has quit [Quit: Leaving.]
rgrinberg has joined #ocaml
AltGr has left #ocaml [#ocaml]
elfring has quit [Read error: Connection reset by peer]
rgrinberg has quit [Ping timeout: 252 seconds]
elfring has joined #ocaml
dav_ has joined #ocaml
mengu has joined #ocaml
dav has quit [Ping timeout: 245 seconds]
thomasga has joined #ocaml
milosn has joined #ocaml
dav has joined #ocaml
dav_ has quit [Ping timeout: 272 seconds]
sdothum has joined #ocaml
rand000 has joined #ocaml
milosn has quit [Read error: Connection reset by peer]
milosn has joined #ocaml
ingsoc has joined #ocaml
tane has joined #ocaml
mort___ has joined #ocaml
badon has quit [Disconnected by services]
badon_ has joined #ocaml
badon_ is now known as badon
larhat has joined #ocaml
Submarine has quit [Remote host closed the connection]
milosn has quit [Read error: Connection reset by peer]
jbrown has joined #ocaml
milosn has joined #ocaml
thomasga has quit [Quit: Leaving.]
cesar_ has joined #ocaml
cesar_ is now known as Guest818
Guest818 has quit [Ping timeout: 265 seconds]
xificurC has quit [Ping timeout: 272 seconds]
avsm has joined #ocaml
mv has joined #ocaml
milosn has quit [Ping timeout: 248 seconds]
rgrinberg has joined #ocaml
rgrinberg has quit [Ping timeout: 256 seconds]
tristero has quit [Ping timeout: 255 seconds]
mort___ has quit [Quit: Leaving.]
Snark has quit [Ping timeout: 244 seconds]
avsm has quit [Quit: Leaving.]
djellemah_ has quit [Quit: Leaving]
djellemah_ has joined #ocaml
ggole has joined #ocaml
avsm has joined #ocaml
Snark has joined #ocaml
rand000 has quit [Ping timeout: 252 seconds]
milosn has joined #ocaml
mengu has quit [Remote host closed the connection]
cofree-copyon is now known as catenable-pyon
thomasga has joined #ocaml
mort___ has joined #ocaml
milosn has quit [Ping timeout: 252 seconds]
milosn has joined #ocaml
mengu has joined #ocaml
mengu has joined #ocaml
Simn has quit [Quit: Leaving]
BitPuffin has joined #ocaml
tashjash has joined #ocaml
mort___ has quit [Quit: Leaving.]
cesar_ has joined #ocaml
cesar_ is now known as Guest2697
Guest2697 has quit [Ping timeout: 256 seconds]
nojb has joined #ocaml
freling has joined #ocaml
idegen has joined #ocaml
mort___ has joined #ocaml
rgrinberg has joined #ocaml
badkins has joined #ocaml
Submarine has joined #ocaml
mengu has quit [Remote host closed the connection]
thomasga has quit [Quit: Leaving.]
zachdonovan has quit [Ping timeout: 264 seconds]
dav has quit [Ping timeout: 248 seconds]
dav has joined #ocaml
milosn has quit [Ping timeout: 248 seconds]
rgrinberg has quit [Ping timeout: 264 seconds]
avsm has quit [Quit: Leaving.]
<companion_cube> o/
<nojb> I need to join udp multicast group ... are there bindings anywhere ? (other than core)
<companion_cube> I think someone already asked that months ago
<companion_cube> not sure it's easy
javamonn has joined #ocaml
icicled` has joined #ocaml
<adrien_znc> extunix?
uris77 has joined #ocaml
<adrien_znc> there isn't much to do for multicast groups
<nojb> I don't think extunix has it
<nojb> ya, not much to do, but someone has to do it :)
icicled has quit [Ping timeout: 256 seconds]
Algebr has joined #ocaml
badon_ has joined #ocaml
badon has quit [Disconnected by services]
badon_ is now known as badon
psy_ has quit [Write error: Broken pipe]
badon has quit [Disconnected by services]
badon_ has joined #ocaml
Denommus has joined #ocaml
Denommus has quit [Client Quit]
badon_ is now known as badon
Algebr has quit [Remote host closed the connection]
Algebr has joined #ocaml
rand000 has joined #ocaml
s1n4 has joined #ocaml
<Algebr> Drup: how does one mix a Eliom_content.Svg.{F, D} with the corresponding Html5 modules?
Kakadu has quit [Quit: Page closed]
AlexRussia has joined #ocaml
<companion_cube> nojb: it would be nice to have it in Lwt (that's what you need anyway, don't you?)
mcclurmc has joined #ocaml
<nojb> companion_cube: yes, it would be easy to add it there - should I go ahead and try ?
mort___ has quit [Quit: Leaving.]
<companion_cube> I am not a Lwt developer, but maybe they'll merge it
<nojb> I thought about it ... I think I will give it a try
<Drup> Algebr: Html5.{F,D}.svg
Submarine has quit [Quit: Leaving]
jbrown has quit [Ping timeout: 252 seconds]
zachdonovan has joined #ocaml
psy_ has joined #ocaml
psy_ has quit [Max SendQ exceeded]
psy_ has joined #ocaml
jbrown has joined #ocaml
badon has quit [Ping timeout: 250 seconds]
Haudegen has quit [Ping timeout: 250 seconds]
<blech_> Ive got a somewhat newbie question
<blech_> if I have a number of transition functions that take subsets of the entire list of cases is there a way to merge multiple functions so that I have one global transition function that takes in all the states?
badon has joined #ocaml
<blech_> I'm sure I could create a hashtbl with the start states and the resulting translation, but I'm wondering if there's a better way
<blech_> If I had them statically I could create a pattern match for it but they're meant to be read in
djellemah_ has quit [Quit: Leaving]
djellemah_ has joined #ocaml
<mrvn> blech_: like [< `Foo | `Bar ] -> state + [< `Baz | `Buzz ] -> state == [< `Foo | `Bar | `Baz | `Buzz ] -> state?
<mrvn> If they are read in then you have to keep track of them yourself. can't be done with the type system.
<mrvn> I would keep a list of undefined states and a hashtable of transition functions. Then as you read in remove each state from list and add the transition function to the hashtable. At the end the list must be empty.
TheLemonMan has joined #ocaml
djellemah_ is now known as djellemah
ptc has joined #ocaml
<blech_> I think thats something like what I'm doing now. This question was inspired by the little I know if haskell. I believe in haskell you can define a function with only part of its applicable domain and then continue redefining that same function with other aspects. Later on in the code if you use the function name with any of its valid inputs it will handle the flow for you
<mrvn> you can do that but not depending on input
<blech_> can you? I thought in OCaml let bindings would mask previous bindings
Algebr has quit [Ping timeout: 248 seconds]
zachdonovan has left #ocaml [#ocaml]
<blech_> so if I do let f 3 = 4 and let f 5 = 6 then I'll only be able to do f 5, everything else would result in an error
<mrvn> blech_: yes. you would have to call the previous function for the old inputs in the new function
<mrvn> let f = fucntion 3 -> 4 let f = function 5 -> 6 | x -> f x
<blech_> awesome
<blech_> that never occurred to me
<mrvn> but carefull that you don't use "let rec".
<blech_> understood
<mrvn> probably best to call them f1, f2, f3, f4, ... and only the last one f
badon has quit [Disconnected by services]
badon_ has joined #ocaml
badon_ is now known as badon
Algebr has joined #ocaml
BitPuffin has quit [Ping timeout: 265 seconds]
Haudegen has joined #ocaml
idegen has left #ocaml [#ocaml]
cesar_ has joined #ocaml
cesar_ is now known as Guest67472
<Drup> blech_: in haskell multiple definitions of a function is equivalent to "let f = function ..." with all the cases laid out.
Guest67472 has quit [Ping timeout: 265 seconds]
catenable-pyon is now known as pyon
ptc has quit [Quit: Textual IRC Client: www.textualapp.com]
<dmbaturin> blech_: I prefer the "sugar-free" form "let f x = match x with pattern1 -> ... | pattern2 -> ..." instead of the "function" syntax, but it's a matter of taste.
<adrien_znc> such a code looks quite brittle
<adrien_znc> and probably slower if you need to chain things several times
badon has quit [Disconnected by services]
badon_ has joined #ocaml
badon_ is now known as badon
govg has joined #ocaml
darkf has quit [Quit: Leaving]
tristero has joined #ocaml
<Algebr> Drup: where did Eliom_client.Html5 move to?
<Drup> moved ?
<Drup> It never moved
<Drup> and it's Eliom_content, not Eliom_client
<Algebr> I'm looking for Eliom_client.Html5.of_input
<Drup> whare did you saw this function ?
<Drup> where*
<Drup> I have no idea how old this is, but it's before I even started using ocsigen :D
<Drup> Eliom_content.To_dom.of_input
<Drup> only available on the client side
<Drup> Eliom_content.Html5.To_dom.of_input
<Algebr> How can I directly define a handler, for example, a_mousedown {{ (* code *)}}. what I usually do is write out a separete {client{ let a_handler }} and then do a_mousedown {{ a_handler }}
<Drup> fun _ -> ...
<Drup> ? :)
octachron has quit [Quit: Leaving]
avsm has joined #ocaml
rgrinberg has joined #ocaml
matason has joined #ocaml
Algebr has quit [Ping timeout: 250 seconds]
<nojb> I wrote a patch for lwt with multicast support (https://github.com/nojb/lwt/tree/mcast) - opinions ? I will probably submit a PR soon to try to get it merged - it is a big pain not to have bindings for the multicast stuff sometimes
badkins has quit [Ping timeout: 246 seconds]
milosn has joined #ocaml
matason has quit [Quit: Leaving...]
<adrien_znc> with a superficial look, it's quite nice
<adrien_znc> only thing I'd do is probably to put all #define together
shinnya has joined #ocaml
gt2013 has joined #ocaml
larhat has quit [Quit: Leaving.]
<companion_cube> I'd give different names to the external declarations, too
<haesbaert> would if make sense to add a ipv4 suffix or something like that ?
<companion_cube> (unless the rest of the module doesn't)
<haesbaert> thinking of ipv6
zoetus has joined #ocaml
<zoetus> hi guys!
<zoetus> can someone explain the "circular build detected" error messages to me?
mcclurmc has quit [Remote host closed the connection]
<zoetus> i understand the problem, but i'm having trouble parsing the actual message
gt2013 has left #ocaml [#ocaml]
<companion_cube> it's not easy, indeed. The list of modules contains the one that depends on the module currently compiled, but which one it is, good luck to find out
<nojb> companion_cube: you mean to add stub_ or something like that ?
<companion_cube> nojb: yeah, somethng like this. but don't if the other stubs have regular names
<nojb> companion_cube: actually I think they do have a prefix - will check
<nojb> haesbaert: normally the ipv4 stuff does not have any special suffix in Unix stdlib
<zoetus> ah, okay. so to be clear: every module in the list has a dependency on the currently compiling one
<haesbaert> what is the difference of defining a type like: type foo = `Yey | `Nay to type foo = [`Yey | `Nay] ?
<haesbaert> nojb: ack
mcclurmc has joined #ocaml
avsm has quit [Quit: Leaving.]
<icicled`> haesbaert: the latter is a polyimorphic variant
<icicled`> it can be extended
<icicled`> see the Polymorphic Variant section @ https://realworldocaml.org/v1/en/html/variants.html
<nojb> haesbaert: type foo = `Yay | `Nay is not valid ocaml syntax - maybe you mean type foo = Yay | Nay
<haesbaert> ahhhh I see,
<haesbaert> nojb: yes, sorry, that's what I meant
<haesbaert> icicled`: ack, thanks :D
matason has joined #ocaml
badon has quit [Disconnected by services]
badon_ has joined #ocaml
Submarine has joined #ocaml
badon_ is now known as badon
badon has quit [Excess Flood]
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
badon_ has joined #ocaml
badon_ is now known as badon
javamonn has quit [Remote host closed the connection]
javamonn has joined #ocaml
tashjash has quit [Remote host closed the connection]
<blech_> why can I not pattern match on a function output? So for example (List.length list) -> <some value>
<blech_> The error I get is "operator expected"
zoetus has quit [Ping timeout: 246 seconds]
<lyxia> blech_: What does that mean?
<lyxia> blech_: match List.length list with ... ?
<mrvn> lyxia: that you have bad code
<mrvn> blech_: matching works on structure, not value with the exception of literals.
<mrvn> blech_: "match foo with x ->" does not compare foo with x but rather compares the structure and then binds the value of foo to the new binding x.
mcclurmc has quit [Remote host closed the connection]
<blech_> I guess my confusion is why can I match against a specific int value (like 0) but not an int value thats' the result of a function?
<mrvn> because literals are considered structure
ggVGc has joined #ocaml
Algebr has joined #ocaml
<mrvn> The value of 0 is known at compile time, the result of a function is not. The compiler couldn't say wether a match covers all cases with functions.
<blech_> mrvn: so is match with 0 equivalent to match with n when n = 0?
<mrvn> yes
BitPuffin has joined #ocaml
jwatzman|work has joined #ocaml
<blech_> except if I understand this correctly when you start using "when" statements the compiler can't try to evaluate completeness, is that right?
jwatzman|work has quit [Changing host]
jwatzman|work has joined #ocaml
<blech_> so I could actually do match n when n = (List.length list)
<mrvn> then you also have to match n when n != (List.length list) for completness
<mrvn> except without when because that throws of the completness detection
<mrvn> But such a match is better written as "if"
<blech_> fair enough
Anarchos has joined #ocaml
mridul_seth has joined #ocaml
<blech_> so here's a stylistic question. Match is great for destructing variants. I was under the impression match also served as the analogue for the switch statement. If you have a fair number of cases that depend on values of a number when would you use an if chain vs. the match?
<nojb> the match is compiled much more efficiently and is easier to read
<adrien_znc> and can do exhaustiveness checks
Algebr has quit [Ping timeout: 244 seconds]
shinnya has quit [Ping timeout: 264 seconds]
nullcat has joined #ocaml
cesar_ has joined #ocaml
cesar_ is now known as Guest99779
Guest99779 has quit [Ping timeout: 256 seconds]
nullcat has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
freling has quit [Quit: Leaving.]
mridul_seth has quit [Read error: Connection reset by peer]
<haesbaert> any obvious way to get an Unix.inet_addr from a Cstruct.uint32 (which is an ocaml int32)
<haesbaert> so, soming up, get a Unix.inet_addr from an int32
badkins has joined #ocaml
nullcat has joined #ocaml
badon has quit [Disconnected by services]
badon_ has joined #ocaml
badon_ is now known as badon
<haesbaert> it seems I'll need to build the string from the int and then make the inet_addr
<nojb> yes, I am afraid so that it necessary
<nojb> or you can use ipaddr (github.com/mirage/ocaml-ipaddr)
<haesbaert> cool, I'll try that
avsm has joined #ocaml
Anarchos has quit [Quit: reboots to test]
mcclurmc has joined #ocaml
avsm1 has joined #ocaml
<haesbaert> ocaml-ipaddr will do, there is even an of_int32 -> v4, and a v4 -> Unix.inet_Addr
avsm has quit [Ping timeout: 252 seconds]
nullcat__ has joined #ocaml
nullcat__ has quit [Remote host closed the connection]
nullcat__ has joined #ocaml
maufred has quit [Ping timeout: 252 seconds]
nullcat has quit [Ping timeout: 250 seconds]
Anarchos has joined #ocaml
nojb has quit [Quit: nojb]
maufred has joined #ocaml
MrScout has joined #ocaml
freling has joined #ocaml
araujo has quit [Quit: Leaving]
rand000 has quit [Ping timeout: 252 seconds]
rand000 has joined #ocaml
Algebr has joined #ocaml
araujo has joined #ocaml
nullcat__ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
nullcat has joined #ocaml
javamonn has quit [Remote host closed the connection]
MrScout_ has joined #ocaml
jabesed has joined #ocaml
MrScout has quit [Ping timeout: 265 seconds]
Anarchos has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
matason has quit [Quit: Later!]
badkins has quit [Read error: Connection reset by peer]
javamonn has joined #ocaml
mcclurmc has quit [Remote host closed the connection]
jabesed has quit [Ping timeout: 250 seconds]
freling has quit [Quit: Leaving.]
rgrinberg has quit [Ping timeout: 248 seconds]
badkins has joined #ocaml
avsm1 has quit [Quit: Leaving.]
badon has quit [Disconnected by services]
badon_ has joined #ocaml
rgrinberg has joined #ocaml
Gama11_ has joined #ocaml
badon_ is now known as badon
claudiuc has joined #ocaml
cesar_ has joined #ocaml
cesar_ is now known as Guest29817
Gama11 has quit [Ping timeout: 244 seconds]
rgrinberg has quit [Ping timeout: 264 seconds]
Guest29817 has quit [Ping timeout: 256 seconds]
matason has joined #ocaml
c355E3B has joined #ocaml
Haudegen has quit [Ping timeout: 248 seconds]
c355E3B has quit [Client Quit]
Anarchos has joined #ocaml
ggole has quit []
nullcat has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
ericwa has joined #ocaml
Haudegen has joined #ocaml
monoprotic has quit [Disconnected by services]
badon has quit [Ping timeout: 245 seconds]
<Algebr> Drup: How I do made a script node?
badon_ has joined #ocaml
<Algebr> in eliom
badon_ is now known as badon
Simn has joined #ocaml
<Drup> Algebr: with the script combinator ?
<Drup> but you very rarely need it
<Algebr> I mean is there an example, I tried script [cdata js_code] ()
<Algebr> I need it in this case
<Drup> it's pcdata, apparently
<Algebr> tried that too
nullcat has joined #ocaml
<Drup> and it's not a list.
<Drup> by curiosity, what was the error message ?
<Algebr> Error: The function applied to this argument has type ?a:[< Html5_types.script_attrib ] Eliom_content.Html5.F.attrib list -> [> Html5_types.script ] Eliom_content.Html5.elt This argument cannot be applied without label
<Algebr>
<Algebr> thats with script (pcdata js_script) ()
<Drup> why do you add "()" after ? o_o
<Algebr> cause I saw the unary, but now I'm trying just script (pcdata js_script) and that doesn't work. These types are hard to understand, they are like printf style types
<Drup> yeah, I know
<Drup> unary means no-list
<Algebr> So can you provide a correct example ?
Gama11 has joined #ocaml
<Drup> that works for me: script (pcdata "")
Kakadu has joined #ocaml
<Drup> I should really write a message "how to read the docs"
Gama11_ has quit [Ping timeout: 264 seconds]
<Algebr> I get this error now, http://pastebin.com/1qYmT0m0 I think the best thing would be just a cookbook of how to do common things in web dev.
<Algebr> Because I looked at the script tag docs and they don't actually have an example of correct usage of the script function
<Drup> Algebr: show me the whole expression
<Drup> because the error is elsewhere.
badon has quit [Ping timeout: 264 seconds]
Gama11_ has joined #ocaml
raphaelss has joined #ocaml
Gama11 has quit [Ping timeout: 248 seconds]
<Drup> About the cook book : I'm sorry, I can't document every single combinator in tyxml, it's mostly normal html stuff and users should look at the html doc of their choice (Mozilla's developer network, for example). Other than that, well, It's what we tried to do with the howtos here http://ocsigen.org/tuto/manual/
<Drup> if you want to add more, contributions welcome.
nojb has joined #ocaml
shinnya has joined #ocaml
<Drup> Algebr: I found the issue.
<Drup> "js_script" is an identifier defined inside Html5.F which was overwriting your definition
<Drup> (there is a warning for that :3)
<Algebr> major facepalm
<Algebr> How do I turn that warning on
<Drup> warning 44 and 45
<Algebr> I mean in the eliom generated makefile, is there some switch for that or I should just add those warnings to the compiler invokation
<Drup> oh
<Drup> in the Makefile, just add your option to ELIOMC/ELIOMOPT/JS_OF_ELIOM
lordkryss has joined #ocaml
xificurC has joined #ocaml
<Algebr> Drup: is there one target that will do opt, install.opt, run.opt?
<Drup> eh, maybe ?
<Drup> Don't ask me questions about makefiles, please é_è
<Algebr> lol
javamonn has quit [Remote host closed the connection]
javamonn has joined #ocaml
javamonn has quit [Remote host closed the connection]
mengu has joined #ocaml
nullcat__ has joined #ocaml
raphaelss has quit [Quit: leaving]
jonludlam has joined #ocaml
nullcat has quit [Ping timeout: 256 seconds]
freling has joined #ocaml
blech_ has left #ocaml ["Leaving"]
blech_ has joined #ocaml
freling has quit [Client Quit]
myyst is now known as myst
s1n4 has quit [Ping timeout: 244 seconds]
nullcat__ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
ingsoc has quit [Read error: Connection reset by peer]
ingsoc has joined #ocaml
jonludlam has quit [Ping timeout: 250 seconds]
cesar_ has joined #ocaml
cesar_ is now known as Guest82501
badkins has quit [Read error: Connection reset by peer]
badkins has joined #ocaml
rgrinberg has joined #ocaml
Guest82501 has quit [Ping timeout: 256 seconds]
MrScout_ has quit [Remote host closed the connection]
javamonn has joined #ocaml
nullcat has joined #ocaml
Simn has quit [Quit: Leaving]
badkins has quit []
nojb has quit [Quit: nojb]
mort___ has joined #ocaml
rgrinberg has quit [Ping timeout: 250 seconds]
martintrojer has quit [Read error: Connection reset by peer]
elfring has quit [Quit: Konversation terminated!]
rgrinberg has joined #ocaml
nojb has joined #ocaml
tane has quit [Quit: Verlassend]
claudiuc has quit [Remote host closed the connection]
Algebr has quit [Ping timeout: 265 seconds]
jonludlam has joined #ocaml
Algebr has joined #ocaml
<Drup> rgrinberg: If you didn't saw, your comment about the unused function was adressed
jonludlam has quit [Ping timeout: 246 seconds]
claudiuc has joined #ocaml
mengu has quit [Remote host closed the connection]
<rgrinberg> Drup: yep I saw. more importantly, dinosaure is alive ;D
<Anarchos> rgrinberg raffarin is back ?
<rgrinberg> raffarin?
<Anarchos> rgrinberg french joke, sorry for the noise...
<Drup> and a bad one :>
<Anarchos> Drup i only make people laugh with bad jokes :)
larhat has joined #ocaml
MrScout has joined #ocaml
<Drup> rgrinberg: if you could do a little script that takes the list of file served by the "make run.opt.local" and curl them all, with various options, that could be great
<Drup> #almostatestsuite
<rgrinberg> Drup: the only thing that works is index.html sadly
<rgrinberg> everything else fails
<rgrinberg> can you reproruce?
<Drup> ahahah
<rgrinberg> reproduce?
<Drup> :D
<Drup> (would still be useful :p)
uris77_ has joined #ocaml
<companion_cube> o/ rgrinberg
<Drup> hum
<Drup> it works here
<Drup> oh, maybe not, reinstalling
<rgrinberg> lol
<rgrinberg> companion_cube: convince Drup to let us use containers in ocsigen :D
<Drup> I already though about it
<Drup> to replace the whole ocsigen_lib
<Drup> it's basically a drop-in replacement
<Drup> but I never tried to convinced vincent about it, because, well, "it works"
<Drup> I don't have a compeling argument except "it would remove some code"
uris77 has quit [Ping timeout: 255 seconds]
<rgrinberg> tell him you have a friend and he'd really like to get some free testing for his lib
<Drup> ahah
<Drup> not going to convince him
<Drup> rgrinberg: first step would be to replace the Url and Uri modules by the relevant mirage library
<Drup> rgrinberg: yeah, working.
<rgrinberg> Hmm, maybe cause i have cohttp master running
<Drup> rgrinberg: If you want details, you can take the exact same command line and put "-V"
ggVGc is now known as walt
<rgrinberg> Drup: to see headers?
<Drup> hum, not sure about headers
<Drup> rgrinberg: there are stuff in local/var/log too
Kakadu has quit [Remote host closed the connection]
<rgrinberg> nothing useful unfortunately let me try stable cohttp
<companion_cube> rgrinberg: what are you working on those days?
<Drup> (If we just find a bug in cohttp while testing our frankenstein cocsighttpgen, I'm taking out the champagne)
<Drup> found*
<rgrinberg> companion_cube: whatever pays the bills unfortunately :/
<rgrinberg> which ends up being android
<rgrinberg> Drup: hmm well it works against stable
<Drup> huho :D
<rgrinberg> now we just need some git bisect/opam reinstall/curl frankstein to find the breaking commit
mcclurmc has joined #ocaml
<Drup> (Yes, I did searched for a picture specific for this purpose that works well with my github avatar)
badkins has joined #ocaml
mcclurmc has quit [Remote host closed the connection]
<rgrinberg> Drup: i'd honestly give the bisecting a try if make run.opt.local wasn't broken out of the box ;)
<Drup> rgrinberg: if you remove only the last line, does it work ?
Gama11_ has quit [Read error: Connection reset by peer]
<rgrinberg> Drup: I tried that and no dice
matason has quit [Ping timeout: 272 seconds]
<Drup> If I remove the two lines, it doesn't work for me anymore xD
jabesed has joined #ocaml
nojb has quit [Quit: nojb]
<rgrinberg> Hmm, kind of strange how those 2 lines even do anything
<rgrinberg> the first one contains the META file but without all the compiled stuff
<Drup> yes
<rgrinberg> and the second one doesn't even exist
<Drup> that's what I said on github
<Drup> it's very weird.
<rgrinberg> what error do you get if you remove those 2 lines?
<Drup> ocsigenserver.opt: main: Fatal - While loading /home/gabriel/.opam/eliom/lib/ocsigenserver/extensions/staticmod.cmxs: implementation mismatch on Ocsigen_local_files
<Drup> 96 commits since last release o_o
<rgrinberg> hm that's a different kind of error though. and $ make reinstall doesn't fix it?
mcclurmc has joined #ocaml
<Drup> nope
jabesed has quit [Ping timeout: 252 seconds]
<Drup> however, if I use the one installed, it works
<Drup> oh, wait wait wait
<Drup> ocsigenserver is launched with the command "src/server/ocsigenserver.opt", no ./ at the start
<Drup> would that cause issues ?
jbrown has quit [Ping timeout: 255 seconds]
cesar_ has joined #ocaml
cesar_ is now known as Guest17391
nullcat has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<Drup> rgrinberg: you know what, quick test solution
jabesed has joined #ocaml
<Drup> copy the ocsigenserver.conf file somewhere
<Drup> with your fixes
<Drup> just do the bisect magic and install with opam everything
xificurC has quit [Ping timeout: 252 seconds]
<Drup> and launch with "ocsigenserver.opt -c /path/to/ocsigenserver.conf"
<Drup> and it should work
<Drup> I'll think about what to do with this run.local later.
nullcat_ has joined #ocaml
Guest17391 has quit [Ping timeout: 265 seconds]
jabesed has quit [Ping timeout: 250 seconds]
rgrinberg has quit [Ping timeout: 264 seconds]
MercurialAlchemi has quit [Ping timeout: 252 seconds]
javamonn has quit [Remote host closed the connection]
ingsoc has quit [Quit: Leaving.]
javamonn has joined #ocaml
Algebr has quit [Ping timeout: 256 seconds]
struk|work has quit [Ping timeout: 246 seconds]
nullcat_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
javamonn has quit [Ping timeout: 265 seconds]
mort___ has quit [Quit: Leaving.]
larhat has quit [Quit: Leaving.]
rgrinberg has joined #ocaml
nullcat has joined #ocaml
uris77_ has quit [Quit: leaving]
kerneis__ has quit [Ping timeout: 250 seconds]
kerneis has joined #ocaml
thbrcr has joined #ocaml
thbrcr has quit [Remote host closed the connection]
seanmcl has joined #ocaml
rgrinberg has quit [Ping timeout: 252 seconds]
rgrinberg has joined #ocaml
seanmcl has quit [Client Quit]
<Drup> llvm3.6 is not compatible with last ctypes :(
seanmcl has joined #ocaml
dubosec has joined #ocaml
<dubosec> I had a quick question: I am trying to run ml scripts in utop, but I am not sure where utop calls its files from. In fact, I am not sure where any of the files are called from since I installed all the packages with opam. If I want to run an ml script via utop, where should I save the files to? I am running linux (slackware)
<Drup> what do you mean by "files" ? IO stuff, or libraries ?
<Drup> if the first, then it's relative to the directory where you launched utop
<Drup> if the second, just use ocamlfind, it will figure it out for you
<dubosec> just scripts I write: for instance, like print_string "hello world\n";; and then saving that as hello.ml and then calling that script
<dubosec> i usually just launch utop in my home folder: so I should call it from there?
<Drup> yes
<dubosec> oh, I didn't realize that was it. I thought I needed to find the specific utop files or something. Thanks!
<dubosec> damn, it worked. well, sorry for all that than
<dubosec> *then
<dubosec> thanks drup
<Drup> no problem :)
madroach has quit [Ping timeout: 264 seconds]
madroach has joined #ocaml
seanmcl has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
jbrown has joined #ocaml
Haudegen has quit [Ping timeout: 244 seconds]
rand000 has quit [Quit: leaving]
jwatzman|work has quit [Quit: jwatzman|work]
keen___ has quit [Read error: Connection reset by peer]
tel has joined #ocaml
keen___ has joined #ocaml
claudiuc has quit [Remote host closed the connection]
Haudegen has joined #ocaml
cesar_ has joined #ocaml
cesar_ is now known as Guest83224