flux changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | OCaml 4.01.0 http://bit.ly/1851A3R | http://www.ocaml.org | Public logs at http://tunes.org/~nef/logs/ocaml/
Simn has quit [Quit: Leaving]
zxqdms has joined #ocaml
ollehar has quit [Ping timeout: 248 seconds]
breakds has joined #ocaml
shinnya has quit [Ping timeout: 240 seconds]
mfp has quit [Ping timeout: 268 seconds]
amirmc has joined #ocaml
amirmc has quit [Ping timeout: 252 seconds]
csakatoku has joined #ocaml
dsheets has quit [Ping timeout: 245 seconds]
madroach has quit [Ping timeout: 264 seconds]
madroach has joined #ocaml
rwmjones has quit [Ping timeout: 248 seconds]
talzeus has joined #ocaml
kizzx2 has joined #ocaml
kizzx2 has quit [Client Quit]
rwmjones has joined #ocaml
kizzx2 has joined #ocaml
kizzx2 has quit [Max SendQ exceeded]
kizzx2 has joined #ocaml
kizzx2 has quit [Max SendQ exceeded]
kizzx2 has joined #ocaml
kizzx2 has quit [Client Quit]
boogie has quit [Remote host closed the connection]
breakds has quit [Remote host closed the connection]
cesar_ has joined #ocaml
serge has joined #ocaml
cesar_ is now known as Guest63713
amirmc has joined #ocaml
adrien_oww has quit [*.net *.split]
quelu has quit [*.net *.split]
osnr has quit [*.net *.split]
jbrown has quit [*.net *.split]
rgrinberg1 has quit [*.net *.split]
rndm has quit [*.net *.split]
adrien_oww has joined #ocaml
jbrown has joined #ocaml
rgrinberg1 has joined #ocaml
amirmc has quit [Ping timeout: 264 seconds]
rndm has joined #ocaml
quelu has joined #ocaml
osnr has joined #ocaml
Guest63713 has quit [Remote host closed the connection]
f[x] has joined #ocaml
boogie has joined #ocaml
boogie has quit [Remote host closed the connection]
boogie has joined #ocaml
boogie has quit [Remote host closed the connection]
zxqdms has quit [*.net *.split]
technomancy has quit [*.net *.split]
ivan\ has quit [*.net *.split]
Xuerian_ has quit [*.net *.split]
tristero has quit [*.net *.split]
IbnFirnas has quit [*.net *.split]
zxqdms has joined #ocaml
technomancy has joined #ocaml
tristero has joined #ocaml
ivan\ has joined #ocaml
ivan\ has quit [Changing host]
ivan\ has joined #ocaml
Xuerian has joined #ocaml
ulfdoz has joined #ocaml
ggole has joined #ocaml
boogie has joined #ocaml
boogie has quit [Remote host closed the connection]
<caseyjames> Hi has anyone here used the library ocaml-csv or the csv_write in the library core extended
<adrien> morning
<adrien> I used ocaml-csv a long time ago
<caseyjames> morning. I can't figure out the writing end of things, how to insert fields etc. Do you just handle that with concatenation? @ ", " @
csakatoku has quit [Remote host closed the connection]
yezariaely has joined #ocaml
<adrien> it's been a long time, I need to have a lookg at the interface
serge has quit [Remote host closed the connection]
amirmc has joined #ocaml
justdit has joined #ocaml
<adrien> caseyjames: for ocaml-csv, you have "type t = string list list"
<adrien> in other words
<adrien> the main type is a rows of columns of text
amirmc has quit [Ping timeout: 248 seconds]
<adrien> I'd expect that inserting a field relies heaviliy on inserting items at the right position in each row
<adrien> I don't see helpers to do that though; it's fairly easy to do but it could be an annoying (if inefficient) operation; you should open a bug report on ocaml-csv's project page, the current maintainer is very active
<caseyjames> :adrien: I just stepped away. That is helpful thanks. Given your description it seems generating them manually might be cleaner for the straightforward work I'm doing
<adrien> well, it's a matter of having a "List.insert_at" function
<adrien> and ocaml-csv provides folding function
gour has joined #ocaml
Neros has quit [Read error: Operation timed out]
<caseyjames> "type t = string list list" makes sense in terms of csv, but that is very unfamiliar ocaml to me. is that a common way to do 2D array type thigs with lists?
<adrien> insert_at could be something like: fold_left (fun (e, n) l -> if n = 0 then e :: l else match l with [] -> [ e ] | h::t -> ohcrapIreasllyshouldn'ttrytocodelongerfunctionsdirectlyinIRC)
<adrien> well, csv can have a variable number of columns for each row
<adrien> so you have little choice but that
<caseyjames> Thanks again. I made a lot of good progress on OCaml today, but I got stuck on this csv thing this afternoon,
justdit has left #ocaml []
<adrien> csv isn't a very good format
ulfdoz has quit [Ping timeout: 245 seconds]
<adrien> it's not really standardized and you end up with issues with delimiters and how you're supposed to quote them when they appear in your cells
yacks has joined #ocaml
q66 has joined #ocaml
Yoric has joined #ocaml
serge has joined #ocaml
caligula has joined #ocaml
f[x] has quit [Ping timeout: 252 seconds]
thomasga has joined #ocaml
ttamttam has joined #ocaml
ontologiae has joined #ocaml
steshaw has quit [Ping timeout: 248 seconds]
IbnFirnas has joined #ocaml
nikki93 has quit [Remote host closed the connection]
f[x] has joined #ocaml
ontologiae has quit [Ping timeout: 264 seconds]
yroeht has quit [Quit: WeeChat 0.3.7]
zpe has joined #ocaml
skchrko has joined #ocaml
yroeht has joined #ocaml
thomasga has quit [Ping timeout: 265 seconds]
amirmc has joined #ocaml
thomasga has joined #ocaml
ontologiae has joined #ocaml
amirmc has quit [Ping timeout: 248 seconds]
thomasga has quit [Ping timeout: 240 seconds]
caligula has quit [Ping timeout: 248 seconds]
thomasga has joined #ocaml
serge has quit [Read error: Connection reset by peer]
serge has joined #ocaml
AltGr has joined #ocaml
ski has quit [Read error: Operation timed out]
ggole has quit [Ping timeout: 240 seconds]
adrinou has joined #ocaml
adrien_oww has quit [Read error: Connection reset by peer]
dsheets has joined #ocaml
manizzle has joined #ocaml
ggole has joined #ocaml
dsheets has quit [Ping timeout: 245 seconds]
<flux> adrien, but is there a better format?
<adrinou> depends on what you want to do :)
<adrinou> binary or not
<adrinou> s-expressions are nice
<adrinou> and when we get runtime types next month...
<adrinou> ( :D )
<companion_cube> can't wait
amirmc has joined #ocaml
<companion_cube> B-encode is cool :p
<adrinou> btw, "next month" <- that's completely made up
amirmc has quit [Ping timeout: 240 seconds]
<companion_cube> now you'll have to threaten Pierre in order to force him to release next month
<rks`> pierre is *not* working on that.
<flux> cvs is nice in that most apps you want to use cvs-kind-of-data with work with cvs. like excel, libreoffice, gnuplot, ..
<flux> s-expressions are more difficult to work with with standard unix tools
<companion_cube> hmmm, Grégoire, sorry
<companion_cube> anyway threatening Pierre is still a valid option
<def-lkb> csv?
<companion_cube> comma separated values
<def-lkb> read cvs
<rks`> comma valued separation.
<def-lkb> <3
<rks`> ;)
Yoric has quit [Ping timeout: 260 seconds]
<adrinou> flux: yeah, definitely; it all depends on what you need (in that case, compat)
mfp has joined #ocaml
serge_ has joined #ocaml
serge has quit [Ping timeout: 248 seconds]
Kakadu has joined #ocaml
<Kakadu> gour: hi
mort___ has joined #ocaml
djcoin_ has quit [Quit: WeeChat 0.4.1]
madroach has quit [Quit: leaving]
Simn has joined #ocaml
madroach has joined #ocaml
amirmc has joined #ocaml
adrinou is now known as adrien_oww
amirmc has quit [Quit: Leaving.]
Kakadu has quit [Remote host closed the connection]
Kakadu has joined #ocaml
Kakadu_ has joined #ocaml
weie_ has joined #ocaml
Kakadu has quit [Ping timeout: 272 seconds]
weie has quit [Ping timeout: 265 seconds]
Yoric has joined #ocaml
weie has joined #ocaml
weie_ has quit [Ping timeout: 252 seconds]
madroach has quit [Quit: leaving]
madroach has joined #ocaml
madroach has quit [Client Quit]
madroach has joined #ocaml
madroach has quit [Quit: leaving]
madroach has joined #ocaml
MitoticSpindle has joined #ocaml
madroach has quit [Ping timeout: 264 seconds]
madroach has joined #ocaml
darkf has quit [Quit: Leaving]
madroach has quit [Ping timeout: 264 seconds]
ttamttam has quit [Ping timeout: 248 seconds]
madroach has joined #ocaml
Neros has joined #ocaml
amirmc has joined #ocaml
ttamttam has joined #ocaml
amirmc1 has joined #ocaml
amirmc has quit [Read error: Connection reset by peer]
ontologiae has quit [Ping timeout: 265 seconds]
TDJACR has quit [Ping timeout: 245 seconds]
ollehar has joined #ocaml
amirmc1 has quit [Quit: Leaving.]
_andre has joined #ocaml
MitoticSpindle has quit [Ping timeout: 272 seconds]
talzeus has quit [Remote host closed the connection]
talzeus has joined #ocaml
skchrko has quit [Ping timeout: 240 seconds]
talzeus has quit [Ping timeout: 272 seconds]
whitequark has joined #ocaml
skchrko has joined #ocaml
Drup has joined #ocaml
dsheets has joined #ocaml
amirmc has joined #ocaml
<AltGr> Drup, on ocp-index: the latest version relies on ocp-indent (it uses its lexer to gather some context info). It should compile if you have a recent enough ocp-indent-lib installed
<Drup> AltGr: is the opam version recent enough ?
<whitequark> CAMLprim value llvm_pass_manager_builder_set_disable_unit_at_a_time(
* whitequark is a sad panda
amirmc has quit [Ping timeout: 240 seconds]
<AltGr> A release of both which is almost ready should clear the situation, but for now the OPAM release has the highest priority
<AltGr> sadly no, some cmi files are missing in the opam package
<Drup> is it fixable by pinning ?
<AltGr> it should, yes
<Drup> ok, I will try that later
<Drup> AltGr: do you plan to separate all those "almost independent" parts at some point ?
<AltGr> within ocp-index you mean ?
<Drup> yes
<AltGr> Hmm, it'll probably stay in a single repo, but there sure should be configuration options so that it's optional
<Drup> ok
mchqwerty has joined #ocaml
dsheets has quit [Ping timeout: 245 seconds]
ttamttam has quit [Ping timeout: 272 seconds]
f[x] has quit [Ping timeout: 264 seconds]
breakds has joined #ocaml
zpe has quit [Remote host closed the connection]
breakds has quit [Remote host closed the connection]
ttamttam has joined #ocaml
ttamttam has quit [Client Quit]
yacks has quit [Ping timeout: 272 seconds]
wolfnn has joined #ocaml
AltGr has left #ocaml []
AltGr has joined #ocaml
mort___ has quit [Ping timeout: 272 seconds]
AltGr has left #ocaml []
AltGr has joined #ocaml
ollehar has quit [Ping timeout: 265 seconds]
hcartyphone has joined #ocaml
erlnoob has joined #ocaml
Neros_ has joined #ocaml
Neros has quit [Ping timeout: 245 seconds]
Kakadu_ has quit [Ping timeout: 250 seconds]
zpe has joined #ocaml
agarwal1975 has joined #ocaml
zpe has quit [Ping timeout: 252 seconds]
kay__ has joined #ocaml
talzeus has joined #ocaml
hcartyphone has quit [Ping timeout: 272 seconds]
agarwal1975 has quit [Quit: agarwal1975]
yacks has joined #ocaml
dsheets has joined #ocaml
Kakadu has joined #ocaml
MoHaX has joined #ocaml
Kakadu has quit [Ping timeout: 250 seconds]
luke_ has joined #ocaml
Kakadu has joined #ocaml
<gour> Kakadu: hello
<Kakadu> How are u doing?
MoHaX has quit [Ping timeout: 245 seconds]
luke_ is now known as MoHaX
<Kakadu> yesterday I have heard that startup from C++ in lablqt can make potential users be afraid
<Kakadu> What do you think
<gour> Kakadu: atm, i'm busy with python & web stuff...why to be afraid of lablqt users?
<Kakadu> no
<Kakadu> users will be afraid to use lablqt because it uses startup from C++, not OCaml
<whitequark> how do I do "Some x"/"None" with ocaml's C interface?
<Drup> Kakadu: that's a valid concern
<Kakadu> whitequark: #define Some_val(v) Field(v,0)
<mrvn> 'a option is a variant type 'a option = None | Some of 'a. So None is an int 0 and Some it a block with 0 tag.
<gour> Kakadu: hmm, i'm not sure i got it right...you mean potential users of lablqt do not like to see C++ stuff?
MoHaX has quit [Ping timeout: 272 seconds]
<Kakadu> gour: yes, even if it is one file which is not supposed to be edited by developer
<whitequark> Kakadu: I see an existing method doing, uh, various magic: https://gist.github.com/whitequark/75a99ccbfac32421fa6f
<whitequark> is your method doing the same?
<gour> Kakadu: i could understand it...people want 'pure' solution
<Kakadu> btw
<Kakadu> Do we have links about writing bindding in ocaml.org?
<gour> Kakadu: i also believe that it would be nice, if possible, to join forces with wxocaml project and have one fully baked bindings instead of two half-baked
<Kakadu> gour: I understand but QtQuick (it seems ) don't need wxOCaml experience
<Kakadu> it nedd another kind of 'generator'
<Kakadu> need*
<whitequark> Kakadu: I see, thanks
<gour> Kakadu: right, i mean joining forces, not necessarily sharing :-)
<gour> ..to have one decent C++-based bindings
<Kakadu> gour: Can you remember what version of Qt5 is installed on your machine?
Yoric has quit [Ping timeout: 272 seconds]
jbrown has quit [Remote host closed the connection]
mchqwerty has quit [Quit: Odcházím]
Neros_ has quit [Ping timeout: 272 seconds]
<caseyjames> Do you guys use ctypes at all? Is there any advantage to the older wrapping methid
mort___ has joined #ocaml
skchrko has quit [Remote host closed the connection]
<jpdeplaix> caseyjames: I don't use it, but the main advantage is that it's way more easier and you don't need to write C :)
<caseyjames> that was the gist I was getting. I went through the tutorial last night, but I still have no idea how its wotking
<adrien_oww> I don't know ctypes but I'm wondering if it's usable without already knowing some things about bindings
<adrien_oww> and ocaml internals
<whitequark> jpdeplaix: if you can use ctypes, the C you would need to write is so trivial it's not a problem
watermind has joined #ocaml
Neros has joined #ocaml
ollehar has joined #ocaml
zpe has joined #ocaml
erlnoob has quit [Quit: erlnoob]
<gour> Kakadu: now is, i believe, no qt5 installed
caseyjames has quit [Quit: Page closed]
<gour> ...but i tested with qt5.1, iirc
<Kakadu> gour: I've pushed new version to opam. And it is a little bit buggy in my Qt5.2. Courious about 5.1
<gour> Kakadu: i might try tomorrow when having more time. will report back
mort___ has quit [Ping timeout: 272 seconds]
yezariaely has quit [Quit: Leaving.]
zpe has quit [Remote host closed the connection]
<technomancy> I've used ctypes and can report it's very difficult to use if you don't know C.
<whitequark> >*c*types
<bitbckt> that makes sense...
<technomancy> yes; not terribly surprising but there you have it.
tane has joined #ocaml
AltGr has left #ocaml []
_andre has quit [Quit: Lost terminal]
_andre has joined #ocaml
boogie has joined #ocaml
tani has joined #ocaml
skchrko has joined #ocaml
tane has quit [Ping timeout: 245 seconds]
<The_third_man> Hi, does anybody here works at Citrix ?
* johnelse waves
* mcclurmc works at Citrix
<mcclurmc> why do you ask, The_third_man?
Anarchos has joined #ocaml
<The_third_man> because a recruiter approached me with an offer, and I was curious to know what's the daily life there
Kakadu has quit []
ollehar has quit [Ping timeout: 246 seconds]
<adrien_oww> I'd bet "good"; but when you arrive it might be "bad" :D
nikki93 has joined #ocaml
<johnelse> we have free bacon rolls on fridays...
<mcclurmc> cambridge is a pretty nice place to live, as well. you can get involved with ocaml labs there.
<avsm> OH GOD DONT COME TO CAMBRIDGE IT'S FULL OF ZOMBIES
<avsm> but other than that, quite nice
<The_third_man> what do you currently work on ?
<technomancy> zombie defense?
<avsm> there's no escaping the zombies. except with a secret weapon
<technomancy> it's a growing field
<The_third_man> zombie defense in OCaml seems nice
<Drup> avsm: keep your towel and everything is going to be ok :D
adrien_oww has quit [Ping timeout: 252 seconds]
<avsm> hidden there are a million ocaml projects
<mcclurmc> johnelse and i work on xapi, and some people in our team do some work on mirage as well
<avsm> speaking of which, i now need to go to the other traditional cambridge venue: the pub.
<mcclurmc> avsm: ah yes. i miss the dev :(
<Anarchos> Drup ah the famous towel trick !!! Do you play nethack ?
<avsm> mcclurmc: :-)
<mcclurmc> avsm: colorado does have good beer, though
<mcclurmc> lots of it. like 50 breweries in my town alone
<Drup> Anarchos: wrong reference : http://en.wikipedia.org/wiki/Towel_Day
ollehar has joined #ocaml
nikki93 has quit [Remote host closed the connection]
boogie has quit [Remote host closed the connection]
zpe has joined #ocaml
adrien_oww has joined #ocaml
<gour> D @facebook...hmm, it may oush D forward
<Anarchos> Drup nethack references the towel because of H2G2....
zpe has quit [Ping timeout: 272 seconds]
nikki93 has joined #ocaml
boogie has joined #ocaml
boogie has quit [Remote host closed the connection]
dsheets has quit [Ping timeout: 264 seconds]
octet8 has joined #ocaml
ollehar has quit [Ping timeout: 252 seconds]
ulfdoz has joined #ocaml
<Anarchos> Who knows about binary lambda calculus ?
<companion_cube> binary?
adrien_oww has quit [Quit: leaving]
<Anarchos> companion_cube yes, look on wikipedia
<companion_cube> ewwww
<Anarchos> companion_cube yes it made me the same :)
<Drup> this looks like even more painful than lambda calculus to manipulate
<Anarchos> :)
<Anarchos> but an interpreter of size 210 bits :)
<whitequark> that's actually very neat
<Anarchos> whitequark what means neat in french ?
Yoric has joined #ocaml
<whitequark> Anarchos: dunno. I meant that it is a nice and clever idea
<Anarchos> whitequark yes :)
<Anarchos> whitequark i can't wait to code an interpreter for that lambda calculus :
<Anarchos> :)
milosn_ has joined #ocaml
milosn has quit [Ping timeout: 252 seconds]
ollehar has joined #ocaml
<watermind> is it ok to ask a question on denotational semantics here? (since it's divering a bit to the theoretical side already)
<Anarchos> watermind I think yes
<watermind> k, if not just tell me to shut up
<watermind> I was writing the interpretation for a case statement, Γ |- case M of inl x -> N; inr x -> N'
ollehar has quit [Ping timeout: 252 seconds]
manizzle has quit [Ping timeout: 248 seconds]
<watermind> assume call-by-name to make it simpler, it seems pretty easy
<watermind> we have n = [[ Γ,x:σ|- Ν:τ]] n' = [[ Γ,x:σ'|- Ν':τ]] m = [[ Γ|- Μ':σ+σ']]
<watermind> so it is _almost_: idΓ*m; [n,n']
Anarchos has quit [Quit: committing seppuku]
<watermind> I say almost because idΓ*m : Γ -> Γ*(σ+σ') and [n,n']: Γ*σ+Γ*σ' -> τ don't compose
Anarchos has joined #ocaml
<watermind> this can be fixed with a simple morphis dist: Γ*(σ+σ')-> Γ*σ+Γ*σ' which gives idΓ*m; dist; [n,n']
<watermind> but am I complicating things?
<watermind> I suspect I may be because I never remember reading about the need for the underlying model to be distributive (i.e. to have this dist morphism)
<watermind> and I've seen people just write idΓ*m; [n,n'] but that seems wrong
ollehar has joined #ocaml
Kakadu has joined #ocaml
Drup has quit [Read error: Operation timed out]
tristero has quit [Quit: tristero]
manizzle has joined #ocaml
pkrnj has joined #ocaml
dsheets has joined #ocaml
octet8 has quit []
nikki93 has quit [Remote host closed the connection]
<asmanur> what's Γ * σ ?
nikki93 has joined #ocaml
ollehar has quit [Quit: ollehar]
boogie has joined #ocaml
<watermind> eh nevermind I just realised any cartesian closed category is distributive
<watermind> asmanur: that would be a product type
ollehar has joined #ocaml
<watermind> asmanur: Γ is a type σ another type, and * means product
<def-lkb> watermind: usually Γ denotes context rather than types
<mrvn> all I see is ?
<def-lkb> mrvn: here, it's a unicode gamma
<mrvn> That explains so much
<asmanur> oh
<asmanur> so your idΓ*m is ⟨Γ, m⟩ actually
* adrien is picturing half the channel with APL keyboard
<asmanur> watermind: well, dist is a natural isomorphism so people usually just skip it
<watermind> def-lkb: well it denotes both...
<watermind> def-lkb: usually you identify a context <x_1,...x_n> : Γ with its type
fraggle_ has joined #ocaml
<watermind> asmanur: not really
<watermind> asmanur: idΓ* m not a pair, it is a morphism from a pair into another pair
<asmanur> yes and it has type Γ × Γ → Γ × σ and not Γ → Γ × σ like you said
<watermind> asmanur: true ops, my mistake
<watermind> asmanur: that should have been <idΓ, m>
<watermind> which denotes pairing of morphism (with functions that would be <f,g> x = <f x,g x>
<watermind> asmanur: thanks! I guess it makes sense, to skip it and not overload the notation
darkf has joined #ocaml
erlnoob has joined #ocaml
<asmanur> watermind: I'd note this way
<watermind> asmanur: I was just a bit confused because I didn't know such a morphism always existed in CCC's and didn't remember reading about distributivity being requisite for the interpretation
<asmanur> Γ - ⟨Γ, m⟩ -> Γ × (σ + σ') ≅ Γ × σ + Γ × σ' - (n+n')-> τ
ulfdoz has quit [Ping timeout: 245 seconds]
<watermind> right
caligula has joined #ocaml
<watermind> that's a nice way to present it
<asmanur> yes
pkrnj has quit [Quit: Computer has gone to sleep.]
ggole has quit []
nikki93 has quit [Remote host closed the connection]
milosn has joined #ocaml
milosn_ has quit [Ping timeout: 264 seconds]
smondet has quit [Quit: leaving]
fraggle_ has quit [Quit: -ENOBRAIN]
<watermind> asmanur: by the way how did you type the parenthesis in ⟨Γ, m⟩? for the Greek letters I just alternate between UK and Greek keyboard, but I know of no easy way for other unicode symbols
<whitequark> compose key?
<asmanur> y
<watermind> whitequark: I have one, which I use for accents, but no idea how to much else with it... :/
<watermind> asmanur: thanks!
Anarchos has quit [Quit: Vision[0.9.7-H-280704]: i've been blurred!]
boogie has quit [Remote host closed the connection]
_andre has quit [Quit: leaving]
ulfdoz has joined #ocaml
smondet has joined #ocaml
manizzle is now known as WeLoveCP
WeLoveCP is now known as manizzle
boogie has joined #ocaml
ng_ has joined #ocaml
dsheets has quit [Quit: Leaving]
dsheets has joined #ocaml
Kakadu has quit []
weie has quit [Ping timeout: 272 seconds]
gour has quit [Quit: WeeChat 0.4.1]
ng_ has quit [Quit: Leaving]
dsheets has quit [Ping timeout: 245 seconds]
Yoric has quit [Ping timeout: 252 seconds]
ulfdoz has quit [Ping timeout: 246 seconds]
wolfnn has quit [Ping timeout: 264 seconds]
Nahra has quit [Quit: leaving]
Drup has joined #ocaml
jbrown has joined #ocaml
erlnoob has quit [Quit: erlnoob]
thomasga has quit [Quit: Leaving.]
steshaw has joined #ocaml
ollehar has quit [Ping timeout: 240 seconds]
ollehar has joined #ocaml
Simn has quit [Read error: Connection reset by peer]
peterbb has joined #ocaml
mfp has quit [Read error: Operation timed out]
Drup has quit [Quit: Leaving.]