flux changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | OCaml 4.00.1 http://bit.ly/UHeZyT | http://www.ocaml.org | Public logs at http://tunes.org/~nef/logs/ocaml/
<mrvn> mail send to ML.
Xom has quit [Quit: ChatZilla 0.9.90.1 [Firefox 22.0/20130618035212]]
gkya has joined #ocaml
wmeyer` has joined #ocaml
wmeyer has quit [Ping timeout: 240 seconds]
wmeyer` is now known as wmeyer
Neros has quit [Ping timeout: 256 seconds]
gkya has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
madroach has quit [Ping timeout: 264 seconds]
madroach has joined #ocaml
chrisdotcode has quit [Ping timeout: 240 seconds]
darkf has joined #ocaml
chrisdotcode has joined #ocaml
q66 has quit [Quit: Leaving]
gnuvince has quit [Ping timeout: 276 seconds]
mcclurmc has quit [Ping timeout: 240 seconds]
dsheets has quit [Ping timeout: 256 seconds]
ollehar has quit [Ping timeout: 264 seconds]
lenstr has quit [Ping timeout: 248 seconds]
wmeyer has quit [Ping timeout: 276 seconds]
gnuvince has joined #ocaml
gnuvince has quit [Changing host]
gnuvince has joined #ocaml
ygrek has joined #ocaml
introom has joined #ocaml
chrisdotcode has quit [Quit: No Ping reply in 180 seconds.]
chrisdotcode has joined #ocaml
tane has joined #ocaml
Drup has quit [Quit: Leaving.]
wmeyer has joined #ocaml
<wmeyer> morning
ggole has joined #ocaml
<adrien> o/
<adrien> wmeyer: please wait a bit before commiting anything, I need to do a big run on windows
wmeyer has quit [Ping timeout: 276 seconds]
<adrien> nooooooo
<adrien> when he's back, can someone ask him whether he ran "make clean" and reconfigured?
LeNsTR has joined #ocaml
gautamc has quit [Ping timeout: 256 seconds]
so has quit [Ping timeout: 268 seconds]
LeNsTR is now known as lenstr
so has joined #ocaml
tane has quit [Quit: Verlassend]
gautamc has joined #ocaml
lenstr has quit [Changing host]
lenstr has joined #ocaml
<ousado> adrien: on windows?
tane has joined #ocaml
introom has quit [Remote host closed the connection]
Neros has joined #ocaml
weie has joined #ocaml
weie_ has quit [Ping timeout: 248 seconds]
introom has joined #ocaml
<introom> type 'a list = Nil | :: of 'a * 'a list;; why this won't compile?
<introom> Error: Parse error: [str_item] or ";;" expected (in [top_phrase])
<asmanur> introom: without camlp4 it is valid
<flux> you can't actually use :: as a constructor name, it is pseudo code of how :: could be implemented were that legal :)
ggole has quit [Ping timeout: 248 seconds]
<introom> how do I write ml files and launch them? up to now, I've been experimenting in utop, but I want to write some ml files now.
<flux> ocamlc -o program foo.ml
<mrvn> introom: you compile them with ocamlc or ocamopt
<flux> bonus points: use -g
<flux> and export OCAMLRUNPARAM=b
<flux> that way you get useful stack traces in case of uncaught exceptions
<mrvn> flux: surprisingly you can: # type 'a foo = Nil | :: of 'a * 'a foo;;
<mrvn> type 'a foo = Nil | :: of 'a * 'a foo
<mrvn> # 1::Nil;;
<mrvn> - : int foo = :: (1, Nil)
<flux> bonus points2: ocamlfind ocamlc -linkpkg -o program -package unix,someotherpackage source1.ml source2.ml
<flux> mrvn, apparently only when using camlp4?
<flux> hmm
<flux> nope, works without
<mrvn> flux: straight up ocaml 4.00.1 toplevel.
<flux> is that a new feature? I think I've tried that eons ago
<mrvn> must be.
<flux> nope, works with 3.11 as well
<mrvn> # type 'a foo = [] | :: of 'a * 'a foo;;
<mrvn> Error: Syntax error
<flux> well, damn ;)
<mrvn> That still doesn't work
<flux> so it is infact campl4 that doesn't handle it?
<flux> as seen from the error introom pasted
<mrvn> Usualy the list example is written as type 'a list = Nil | Cons of 'a * 'a list
<introom> seems like the compile thing is somewhat troublesome.
<flux> introom, well, usually you would set up a script, a Makefile or an ocamlbuild configuration to do it for you
<introom> I just want to compile a ml and run it.
<flux> ocamlc foo.ml && ./a.out
<mrvn> introom: it's no different from running a .c file.
ggole has joined #ocaml
<flux> 1) compile 2) run (if previous step succeeds)
<flux> steps to do the same for a c program: cc foo.c && ./a.out
<introom> ^^^ that's great.
<introom> and the -g and export variable thing is for?
<mrvn> introom: debugging
<flux> -g is for debug information
<flux> export variable for telling ocaml runtime to store stack information when throwing an exception
<mrvn> again, same as with .c files
<flux> (it is not done by default due to performance reasons)
<introom> got it.
<mrvn> flux: performance? Isn't it just space?
<flux> mrvn, the OCAMLRUNPARAM thing that is
<flux> -g is just for space
<mrvn> flux: I guess OCAMLRUNPARAM makes every raise more expensive even if the exception is caught.
<mrvn> flux: any good with building libs?
<mrvn> flux: The module type for a functor disapears in the lib if it isn't declared in the same file as the functor: https://github.com/mrvn/ocam-problems/tree/functor-in-lib-problem
<mrvn> test/* for the error messages
<ggole> type 'a list = Nil | :: of 'a * 'a list <- that actually type checks for me. When did that change?
introom has quit [Remote host closed the connection]
<mrvn> at or before 3.11
q66 has joined #ocaml
<ggole> Hmm, you can redefine it as any arity of constructor. The syntax seems to restrict it to being binary, though.
<mrvn> It's a constructor. That you can inline it is a huge hack.
* ggole nods
osa1 has quit [Quit: Konversation terminated!]
mcclurmc has joined #ocaml
jbrown has joined #ocaml
<mrvn> I'm thinking of ways to have shared data and code in a client / server setup where some is shared and some is private to the client or server. Suggestions?
<adrien> mrvn: yeah, iirc OCAMLRUNPARAM="b" makes execution slower but it's not something you would usually worry about
<orbitz> mrvn: Factor out shared stuff to its own library
<mrvn> orbitz: I have something like type common_player = { name : string; } type client_player = { name : string; color : color; } type server_player = { name : string; pass : string; }
wmeyer has joined #ocaml
<wmeyer> morning
<wmeyer> ping adrien
<mrvn> orbitz: I can write code to handle common_player but that won't accept a client_player or server_player. Using objects would be a solution. Have a common base class.
<adrien> o/ wmeyer
<orbitz> mrvn: In your case I'd probably examine functors to see if they give what I want. Where a player is a module that implements the shared interface nd then a cleint or a server is an instantiation of the functor
<orbitz> mrvn: Not sure of your specifics if that helps
<wmeyer> adrien \o
<mrvn> orbitz: yeah. That was my second thought.
<wmeyer> if you corected the problem I mentioned adrien, I think I can commit the patches today
<mrvn> type 'a player = { name : string; private : 'a; } was my third.
<adrien> wmeyer: just found issues on windows ='(
<wmeyer> :(
<wmeyer> OK, no rush, I'll wait until they are stable
<adrien> I'm ready to blame Damien however :D
<rks`_> hi wmeyer !
Drup has joined #ocaml
<wmeyer> hi rks`_ !
<adrien> damn it; I can't blame Damien ='(
<ousado> adrien: you're doing build on windows?
<ousado> *builds
<adrien> yes, testing my patches to make ocaml a cross-compiler
<ousado> oh
<ousado> so it's rather for windows than on windows?
<adrien> yes but at the same time I must not break existing configurations
<ousado> I'm asking because some haxe devs are on windows, and haxe is stuck at 3.11 currently
<ousado> which toolchain would you recommend to build 4.xx on windows?
<adrien> why? :o
<adrien> define "toolchain"
<adrien> rather, give examples of two toolchains
<wmeyer> adrien: so these Haxe develoers are your best testers
<ousado> compiler as in mingw64/32 msys, or microsoft
<adrien> mingw-w64, 32b or 64b, using cygwin
<adrien> wmeyer: I wouldn't ming hearing from Lexifi too
<adrien> but I should actually get them at one oups
<ousado> I got mingw64 to work on win but how I installed it is nothing I could recommend to anyone really
<adrien> with cygwin, it's a matte of 15 minutes
<ousado> and I had a cygwin install
<ousado> and I had to manually adjust PATHs and whatnot, quite messy
<wmeyer> cygwin used to work in most cases with GODI actually ...
dsheets has joined #ocaml
<ousado> Aha
<ousado> GODI
<ousado> looks good
<ousado> "Builds from 23.02.2013"
<ousado> or WODI in this case
<adrien> yeah, you need to set PATHs
<adrien> you can't easily avoid that on windows
Nahra_ has quit [Quit: leaving]
<ousado> I'll suggest that then, thanks a lot
ygrek has quit [Ping timeout: 276 seconds]
<adrien> if you have an IDE or something similar, it can be done by the IDE however
<wmeyer> ousado: I used to do some development on windows using lablgl and it was actually almost working flawlessly with GODI
osa1 has joined #ocaml
<ousado> it would be good to mention GODI here: http://caml.inria.fr/download.en.html
Nahra has joined #ocaml
Nahra has quit [Changing host]
Nahra has joined #ocaml
<wmeyer> ousado: it used to be mentioned somewhere on INRIA, and avertised
<ousado> I have googled quite a bit at least twice in the past year
<ousado> I wasn't really aware of GODI, though
<wmeyer> ousado: yes, it's not so obvious for the new users
<wmeyer> I used GODI then odb then GODI again on some ocassions, and now OPAM
<ousado> opam also on windows?
<wmeyer> not on windows!
<ousado> ok
<wmeyer> I suppose yypkg will be an ultimate solution with it's binary mingw packages for the Windows
<ousado> that's adriens project?
<wmeyer> yes
Xom has joined #ocaml
ollehar has joined #ocaml
palomer has joined #ocaml
chrisdotcode has quit [Read error: Operation timed out]
yacks has quit [Read error: Connection reset by peer]
yacks has joined #ocaml
chrisdotcode has joined #ocaml
ollehar has quit [Ping timeout: 264 seconds]
ollehar has joined #ocaml
introom has joined #ocaml
palomer has quit [Ping timeout: 246 seconds]
lusory has quit [Ping timeout: 268 seconds]
ygrek has joined #ocaml
<introom> any nice ocaml code format plugin? vim
<ousado> introom: you could try merlin
<introom> I am relatively a new user of ocaml, so I want to something that is common and popular.
Qrntz has quit [Changing host]
Qrntz has joined #ocaml
<rks`_> introom: format plugin?
<introom> yes, format the code
<rks`_> like, for autoindenting?
<rks`_> if that is what you are looking for, I'm not aware of any such plugin for vim
<Drup> rks`_: no vim plugin for ocp-indent ?
<rks`_> (there's still no working ocp-indent binding as of today)
<rks`_> no Drup, def-lkb_ worked on such a thing a few weeks (months really) ago
<rks`_> but I don't think he had anything satisfying
ygrek has quit [Remote host closed the connection]
ygrek has joined #ocaml
<adrien> wmeyer: hmmm, it seems like using $(MAKE) insides rules on my cygwin installation causes issues
<adrien> basically, it should invoke "make -f Makefile.nt"
<adrien> but it doesn't
<adrien> well
<adrien> it makes sense
<adrien> but it's very annoying
palomer has joined #ocaml
<mrvn> did you set MAKE := $(MAKE) -f Makefile.nt?
<wmeyer> how about $(MAKEREC) adrien
<wmeyer> ?
<adrien> but thinking again about it, I'm starting to believe it's better to not make it automatic
<adrien> I hope that at some point the Makefile.nt files disappear
<wmeyer> it causes a lot of troubles indeed
<adrien> and since I'd do that progressively, during a period of time, some directories would be built with the .nt variants and some without
<adrien> it's only a few lines to change
<wmeyer> I suppose "git clean -fdx" is your friend
<adrien> btw, for your "make install" issue, did you run ./configure again?
isBEKaml has joined #ocaml
ulfdoz has joined #ocaml
chrisdotcode has quit [Ping timeout: 248 seconds]
chrisdotcode has joined #ocaml
isBEKaml has quit [Quit: Quitting]
avsm has joined #ocaml
<wmeyer> it seems to be working now, after cleaning up the repo
ulfdoz has quit [Ping timeout: 256 seconds]
<wmeyer> adrien: I commited your changes
<adrien> you missed one fix :D
avsm has quit [Client Quit]
<wmeyer> I will soon leave the bunker to meet dbuenzli in pub
<wmeyer> there where three?
<adrien> well, I haven't uploaded the fix yet
<wmeyer> Ok, that's fine they are self contained :-)
introom has quit [Remote host closed the connection]
<wmeyer> let's wait for tessting
<adrien> windows is going to fail
<adrien> going to upload the fix right now
<wmeyer> ah, OK
yacks has quit [Quit: Leaving]
<adrien> wmeyer: you already pushed to the SVN?
<wmeyer> be quick
<wmeyer> yes
<wmeyer> but no worry, we got used to the fact windows fails
<adrien> wmeyer: pushed :-)
<wmeyer> I commited your fix now
<wmeyer> thanks
<adrien> thanks :-)
<adrien> next: more dangerous patches
<adrien> (considering how this not-so-dangerous patch broke everything, expect some fun :P )
ygrek has quit [Ping timeout: 264 seconds]
<wmeyer> let's do it slowly then, 3 patches is the tempo i can talk during the week
osa1 has quit [Quit: Konversation terminated!]
<adrien> I have 13 patches left, some of which seem not useful
pepa has joined #ocaml
<wmeyer> That's not too many, I'd clean them up first
<wmeyer> 3 patches everyday is fine, we should have this done in two weeks time
<wmeyer> adrien: ake[2]: Leaving directory `/home/ci/jenkins-workspace/trunk'
<wmeyer> Makefile.nt:205: recipe for target `opt' failed
<wmeyer> make[1]: *** [opt] Error 2
<wmeyer> make[1]: Leaving directory `/home/ci/jenkins-workspace/trunk'
<wmeyer> Makefile.nt:205: recipe for target `opt' failed
<wmeyer> make: *** [opt] Error 2
<wmeyer> that's with your patch
<adrien> wmeyer: do you have the 10 lines above that?
<pippijn> "The master branch is stable and it is always, always safe to deploy from it or create new branches off of it. If you push something to master that is not tested or breaks the build, you break the social contract of the development team and you normally feel pretty bad about it. "
<adrien> it's never safe to deploy from VCS
<pippijn> github does that
<pippijn> adrien: why not?
pepa has left #ocaml []
<wmeyer> pippijn: yeah, but we have no testing set up for the branches ;-)
<adrien> for that reason
<adrien> it's irresponsible to tell people to deploy from VCS directly (out of tags of course)
<wmeyer> pippijn: yes, while I agree, I also think that it's not possible in our case
<adrien> but that's github
<adrien> it's in their financial interest to make people believe it is
<wmeyer> it lools like only mingw fails
<pippijn> push to master -> CI build+test -> deploy
<wmeyer> anyway, I have to go, please try to submit a patch for it
<wmeyer> I will keep an eye on it
<pippijn> if the push to master was bad, CI build+test fails, nothing is deployed
<pippijn> what's wrong with that?
<adrien> nothing
<adrien> but how long should these "tests" last?
<adrien> how extensive should they be?
<pippijn> exhaustive
<adrien> does automated testing catch everything?
<pippijn> all the tests
<pippijn> no
<adrien> good luck getting that :-)
<adrien> how do you test GUIs? how do you test for memleaks?
<pippijn> well, you *can* automate GUI and memleak testing
<adrien> and make sure the output on screen is right?
<adrien> including with animations and effects
<adrien> and including when you have to play videos?
<pippijn> github's workflow certainly doesn't work for all types of software
<adrien> (which you don't necessarily control)
<pippijn> in particular, release driven software development
<adrien> welln, master should always been stable
<whitequark> automated GUI tests make a lot of sense
<pippijn> adrien: you can never deploy
<pippijn> anything
<pippijn> ever
<adrien> sun should always be shining
<whitequark> though that doesn't make it easier
<adrien> beer should always be available
<adrien> but that's not reality and believing otherwise is, at best, wishful thinking
<adrien> wmeyer: at works we have automated GUI tests; and they've managed to drift
<adrien> no idea how
<adrien> and we have animations
<adrien> which state at a given time is going to depend on the overall system load
<pippijn> at my work, we don't have gui testing
<pippijn> not automated
<pippijn> but we make web applications
ulfdoz has joined #ocaml
<pippijn> we usually run a test server in the office and everybody takes a look, then we deploy :P
wmeyer has quit [Ping timeout: 276 seconds]
<adrien> well, our app needs to handle at least 8 hours of automated testing (that does a lot of action) to become "maybe ok"
<adrien> we commit faster than that :P
darkf has quit [Quit: Leaving]
palomer has quit [Ping timeout: 276 seconds]
shinnya has quit [Ping timeout: 264 seconds]
<adrien> http://c2.com/cgi/wiki?RavioliCode <- new to me :P
milosn_ has joined #ocaml
<mrvn> I get of raviolization in my types because variants and records have no row types.
<mrvn> and no named values in tuples
milosn has quit [Ping timeout: 248 seconds]
<Drup> adrien : event after reading the page, I don't understand what ravioli code is supposed to be
<adrien> too many small objects
<mrvn> Drup: tons and tons of little objects
<Drup> ok
Snark has joined #ocaml
<mrvn> worst kind is when you have lots of raviolies threaded on spagetties :)
<adrien> and a lasagne architecture
<mrvn> layers of abstraction with squishy bits inbetween?
<adrien> yeah, many layers of many small components and then you had shortcuts between them
palomer has joined #ocaml
<ollehar> how do I coerce a "Element" to a "Node" in js_of_ocaml?
<ollehar> I want to appendChild on a <select>, creating an <option> through ##createElement
<mrvn> +
<mrvn> is this #ocaml or #javascript? :)
<Drup> mrvn: js_of_ocaml, so it's perfectly relevant. :)
<adrien> clearly ocaml: we're not all mentally-hurt people
ulfdoz has quit [Ping timeout: 264 seconds]
<mrvn> Then (elt :> node)
<Drup> ollehar: yeah, it's regular object subtyping, as mrvn said. But you can also use Dom.appendChild and you don't need coerction
<ollehar> nope, node is not a subtype of element...
<ollehar> or am I crazy?
<Drup> the opposite.
<Drup> element inherit from node
<mrvn> if it aint a subtype then you cant coerce
<Drup> ollehar: anyway, it's easier to use Dom.appendChild, look here : http://ocsigen.org/js_of_ocaml/api/Dom#2_Helperfunctions
<ollehar> Drup: yeah, thanks!
<Drup> no problem
gautamc has quit [Read error: Connection reset by peer]
gautamc has joined #ocaml
frankbro has joined #ocaml
palomer has quit [Ping timeout: 264 seconds]
frankbro has left #ocaml []
ollehar has quit [Ping timeout: 240 seconds]
chris2 has quit [Ping timeout: 260 seconds]
chrisdotcode has quit [Ping timeout: 240 seconds]
chrisdotcode has joined #ocaml
ggole has quit []
chrisdotcode has quit [Ping timeout: 240 seconds]
yacks has joined #ocaml
zpe has joined #ocaml
rednovae_ is now known as rednovae
zpe has quit [Remote host closed the connection]
zpe has joined #ocaml
zpe has quit [Read error: Connection reset by peer]
ontologiae_ has joined #ocaml
zpe has joined #ocaml
zpe has quit [Read error: Connection reset by peer]
chris2 has joined #ocaml
zpe has joined #ocaml
Xom has quit [Quit: ChatZilla 0.9.90.1 [Firefox 22.0/20130618035212]]
Xom has joined #ocaml
supki has joined #ocaml
zpe has quit [Read error: Connection reset by peer]
Snark has quit [Quit: leaving]
malo has joined #ocaml
tane has quit [Ping timeout: 246 seconds]
chrisdotcode has joined #ocaml
ollehar has joined #ocaml
<mrvn> Anyone have a Set module for sets of small integers? E.g. 0-999. I'm thinking of something that uses a bitfield to flag the numbers present.
tane has joined #ocaml
<pippijn> mrvn: yes
<pippijn> mrvn: immutable?
<mrvn> yeah, I think I need it functional style.
<pippijn> mrvn: menhir has that
<pippijn> and I put it into my baselib
<mrvn> did you use a string?
<pippijn> no
<mrvn> bigarray? or C code?
<pippijn> you can get the functor stuff out, if you just deal with plain int
<mrvn> urgs, list of pairs of integers? That will have bad runtime
<pippijn> it has terrific runtime in my use case
<pippijn> which is: lots of sharing
<mrvn> if I add something at the end then nothing will be shared though. And it will take long.
<pippijn> otherwise, I have a non-functional bitset implemented using C++ vector
<mrvn> I was thinking of doing this non-spare. 0-1023 are just 128 byte. Even slightly filled a spares structure will take that much.
<mrvn> coming from C doing this in 31/63 bit chunks seems awfull.
<mrvn> ever benchmarked that against doing this in C?
osa1 has joined #ocaml
osa1 has quit [Client Quit]
osa1 has joined #ocaml
<pippijn> mrvn: I benchmarked my C++ vector thing against batteries bitset
<mrvn> pippijn: Your module looks good though other than the list thing.
<pippijn> mrvn: and it was much faster
<pippijn> and my benchmark was a real world application
<pippijn> namely a parser generator
<ousado> it being the C++ implementation?
<pippijn> yes
<ollehar> how do you guys indent List.map and List.iter?
<ollehar> List.map (fun el ->
<ollehar> ..do stuff
<ollehar> ..)
<ollehar> ..list in
<ollehar> asd
<pippijn> List.map (fun el ->
<pippijn> do stuff
<pippijn> ) list
<mrvn> List.map
<orbitz> If fun takes multiple lines: List.map\n(fun ..)\nargs
<adrien> ListLabels.map list ~f:(fun el ->
<mrvn> (fun ...)
<mrvn> list
<adrien> do stuff)
<pippijn> let mapped =
<mrvn> unless it fits on a single line
<pippijn> List.map
ollehar has quit [Quit: ollehar]
<pippijn> in
ollehar has joined #ocaml
<adrien> use the label variants :P
<orbitz> i havethe same style as mrvn
<adrien> (use the labelled variants, use them :P )
ollehar has quit [Ping timeout: 268 seconds]
ollehar has joined #ocaml
<orbitz> adrien: :) I just use Core instead
ollehar has quit [Ping timeout: 276 seconds]
ollehar has joined #ocaml
ollehar has quit [Ping timeout: 240 seconds]
ollehar has joined #ocaml
palomer has joined #ocaml
ollehar has quit [Ping timeout: 268 seconds]
ollehar has joined #ocaml
wmeyer has joined #ocaml
ontologiae_ has quit [Ping timeout: 268 seconds]
ontologiae_ has joined #ocaml
ollehar has quit [Ping timeout: 268 seconds]
ollehar has joined #ocaml
* mrvn wants type t module M = struct type t = .t * int end or similar to access a parent type.
<wmeyer> mrvn: actually I want it too
ontologiae_ has quit [Read error: No route to host]
ontologiae_ has joined #ocaml
wmeyer has quit [Read error: Connection reset by peer]
wmeyer has joined #ocaml
<wmeyer> hi
<wmeyer> adrien builds are back to normal
<adrien> o/
<adrien> had to fix more issues than I had hoped
<adrien> but looks good now
ollehar has quit [Ping timeout: 240 seconds]
<adrien> I'll try to run the testsuite tomorrow in my VM
ollehar has joined #ocaml
<wmeyer> ok thank you for your hard work
chrisdotcode has quit [Ping timeout: 246 seconds]
<wmeyer> gasche: thanks for commiting the latest patches, I was off for the beer with dbuenzli tonight :-)
<gasche> wmeyer: you're welcome
<gasche> (going to sleep as well)
walter has joined #ocaml
malo has quit [Quit: Leaving]
ollehar has quit [Ping timeout: 256 seconds]
walter has quit [Read error: Connection reset by peer]
ollehar has joined #ocaml
walter has joined #ocaml
ontologiae_ has quit [Ping timeout: 256 seconds]
ollehar has quit [Ping timeout: 240 seconds]
ollehar has joined #ocaml
mcclurmc has quit [Quit: Leaving.]
ollehar has quit [Ping timeout: 248 seconds]
ollehar has joined #ocaml
walter has quit [Read error: Connection reset by peer]
walter has joined #ocaml
tane has quit [Ping timeout: 264 seconds]
ollehar has quit [Ping timeout: 264 seconds]
wmeyer has quit [Remote host closed the connection]
ollehar has joined #ocaml
lifeng has joined #ocaml
ollehar has quit [Ping timeout: 240 seconds]
wmeyer has joined #ocaml
ollehar has joined #ocaml
<wmeyer> hi again
walter has quit [Read error: Connection reset by peer]
walter has joined #ocaml
chrisdotcode has joined #ocaml
tane has joined #ocaml
ollehar has quit [Ping timeout: 276 seconds]
ollehar has joined #ocaml
<pippijn> hi
palomer has quit [Ping timeout: 264 seconds]
ollehar has quit [Ping timeout: 276 seconds]
tane has quit [Quit: Verlassend]
<wmeyer> hi pippijn