companion_cube changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.05.0 release notes: https://caml.inria.fr/pub/distrib/ocaml-4.05/notes/Changes | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml
jlam__ has joined #ocaml
freusque has quit [Quit: WeeChat 1.7.1]
cbot has quit [Ping timeout: 240 seconds]
sh0t has quit [Ping timeout: 240 seconds]
sh0t has joined #ocaml
coventry has quit [Remote host closed the connection]
sam___ has quit [Ping timeout: 240 seconds]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 240 seconds]
malina has joined #ocaml
ygrek has joined #ocaml
pierpa has quit [Quit: Page closed]
mfp__ has quit [Ping timeout: 246 seconds]
keep_learning has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
Ergatis has joined #ocaml
sam___ has joined #ocaml
al-damiri has joined #ocaml
sam___ has quit [Ping timeout: 246 seconds]
FreeBirdLjj has joined #ocaml
relrod has joined #ocaml
relrod has quit [Changing host]
relrod has joined #ocaml
keep_learning has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 246 seconds]
cbot has joined #ocaml
relrod has quit [Quit: .]
relrod has joined #ocaml
relrod has quit [Changing host]
relrod has joined #ocaml
Soni has quit [Ping timeout: 260 seconds]
ristos has quit [Quit: Connection closed for inactivity]
Soni has joined #ocaml
samrat has joined #ocaml
n3ss3s has joined #ocaml
sam___ has joined #ocaml
sam___ has quit [Ping timeout: 240 seconds]
sh0t has quit [Remote host closed the connection]
pe200012 has joined #ocaml
samrat has quit [Ping timeout: 260 seconds]
wagle has quit [Read error: Connection reset by peer]
wagle has joined #ocaml
xuanrui has joined #ocaml
govg has joined #ocaml
n3ss3s has quit [Ping timeout: 248 seconds]
<xuanrui> OCaml is missing `do` notation, but other aspects of monadic style could be pretty easily encoded
sam___ has joined #ocaml
sam___ has quit [Ping timeout: 255 seconds]
pe200012 has quit [Remote host closed the connection]
alexelcu has quit [Remote host closed the connection]
alexelcu has joined #ocaml
enterprisey has joined #ocaml
MercurialAlchemi has joined #ocaml
jlam has joined #ocaml
jlam_ has quit [Ping timeout: 255 seconds]
mengu has quit [Read error: Connection reset by peer]
nomicflux has joined #ocaml
sam___ has joined #ocaml
al-damiri has quit [Quit: Connection closed for inactivity]
nomicflux has quit [Quit: nomicflux]
sam___ has quit [Ping timeout: 248 seconds]
jao has quit [Ping timeout: 246 seconds]
Ergatis has quit [Ping timeout: 246 seconds]
MercurialAlchemi has quit [Ping timeout: 240 seconds]
mengu has joined #ocaml
mengu has quit [Ping timeout: 240 seconds]
andreas__ has quit [Quit: Connection closed for inactivity]
samrat_ has joined #ocaml
sam____ has joined #ocaml
sam____ has quit [Ping timeout: 246 seconds]
MercurialAlchemi has joined #ocaml
Ergatis has joined #ocaml
Ergatis has quit [Remote host closed the connection]
Ragora has quit [Quit: Konversation terminated!]
enterprisey has quit [Remote host closed the connection]
mbuf has joined #ocaml
sam___ has joined #ocaml
enterprisey has joined #ocaml
ShalokShalom_ has joined #ocaml
dakk has joined #ocaml
zv has quit [Quit: WeeChat 1.9]
sam___ has quit [Ping timeout: 246 seconds]
ShalokShalom has quit [Ping timeout: 260 seconds]
zv has joined #ocaml
cbot has quit [Quit: Leaving]
bruce_r has joined #ocaml
gasche has joined #ocaml
<gasche> octachron: have you seen https://caml.inria.fr/mantis/view.php?id=7604?
<gasche> (I don't understand how the patch solves a duplicated sentence buh oh well)
freusque has joined #ocaml
enterprisey has quit [Remote host closed the connection]
Lightsephi has joined #ocaml
<Drup> hmm, that's weird
<Drup> duplicated sections for this kind of pattern was introduced with the doc attributes, and fixed ... 2 versions ago
ia0 has quit [Quit: reboot]
ia0 has joined #ocaml
sam___ has joined #ocaml
ygrek has quit [Ping timeout: 240 seconds]
freusque has quit [Ping timeout: 255 seconds]
sam___ has quit [Ping timeout: 240 seconds]
mrsmkl has joined #ocaml
nore has quit [Quit: WeeChat 1.8]
<companion_cube> hey gasche
<companion_cube> I'm thinking again about this problem of why OCaml can't be as fast as {C,C++} for SAT solving
nore has joined #ocaml
freusque has joined #ocaml
<gasche> companion_cube: great, because I hope to get started working on it soon
<gasche> ( zozozo: you're still in Deducteam next fall/winter, right? )
<companion_cube> oh, neat :)
<gasche> would you companion_cube have some time then? (maybe just replying emails and making guesses)
<companion_cube> replying to emails is always fine :)
<gasche> hm, not sure it is related
<companion_cube> well, rust is similar to {C,C++} performance-wise
<gasche> maybe so
<companion_cube> so I'd consider writing a SMT solver with it
<gasche> but that's not really what people mean by "systems programming" today
<gasche> (as in: Go is good at it, reportedly)
<companion_cube> bah.
<companion_cube> it's clear that Go isn't a system language
<gasche> I think our project is also about how to reach performance in a particular domain while retaining a functional-programming approach
<companion_cube> only Rob Pike believes this
<companion_cube> depends what you mean by "functional programming" !
<gasche> ("systems programming" nowaday seems to mean something like "orchestration of microservices" or something)
<companion_cube> I'd say for this kind of code (which is disproportionately representative to OCaml users, I think), what matters is the "expressive imperative+functional mix"
<companion_cube> heh :D
<gasche> ideally I would like the code for the most part to be simple, idiomatic OCaml code, with complex things pushed to the leaves
<gasche> but I don't know whether this is achieveable
<companion_cube> hum :D
<gasche> I am also interested, in a more abstract sense, in building a good OCaml-Rust FFI bridge
<companion_cube> you might want to take a look at the current code ;)
<companion_cube> ah, that's also nice
<gasche> but I'm not sure I want to work on this myself, at least not for now
<companion_cube> but there's a talk by Enjolras at the workshop I think
<companion_cube> about rust/ocaml
bruce_r has quit [Ping timeout: 255 seconds]
<gasche> because it is much farther from my professionnal interests
<gasche> also I find the idea of getting good performances (for a problem domain) while remaining in pure-OCaml land more interesting/challenging
<gasche> (but ultimately I think we would like to have both)
<gasche> (afk)
samrat_ has quit [Ping timeout: 240 seconds]
<zozozo> gasche: I'm beginning the third year of my PhD, so it depends on what you mean by 'next'
<zozozo> (sorry for the late answer, I have very sparse internet here)
sam___ has joined #ocaml
mengu has joined #ocaml
sam___ has quit [Ping timeout: 260 seconds]
<octachron> Drup, gasche: for MPR#7604 this was a duplicated sentence in the documentation source itself: the documentation choose to repeat the preamble as an implicit section title.
mengu has quit [Ping timeout: 255 seconds]
fmardini_ has joined #ocaml
fmardini has quit [Ping timeout: 240 seconds]
<gasche> octachron: I think I will leave this PR to your good graces :-'
toolslive has joined #ocaml
fmardini has joined #ocaml
mfp__ has joined #ocaml
fmardini_ has quit [Ping timeout: 255 seconds]
samrat_ has joined #ocaml
malina has quit [Remote host closed the connection]
malina has joined #ocaml
jao has joined #ocaml
sam___ has joined #ocaml
jao has quit [Ping timeout: 255 seconds]
sam___ has quit [Ping timeout: 255 seconds]
dhil has joined #ocaml
malina has quit [Remote host closed the connection]
samrat_ has quit [Ping timeout: 246 seconds]
mbuf has quit [Ping timeout: 260 seconds]
mbuf has joined #ocaml
ziyourenxiang has joined #ocaml
ShalokShalom_ is now known as ShalokShalom
fraggle_ has quit [Remote host closed the connection]
fraggle_ has joined #ocaml
mengu has joined #ocaml
malina has joined #ocaml
andreas__ has joined #ocaml
mengu has quit [Ping timeout: 260 seconds]
sam___ has joined #ocaml
sam___ has quit [Ping timeout: 240 seconds]
dakk has quit [Ping timeout: 255 seconds]
malina has quit [Remote host closed the connection]
copy_ has joined #ocaml
sam___ has joined #ocaml
Original_Nicknam has joined #ocaml
samrat_ has joined #ocaml
mengu has joined #ocaml
Nanjizal has joined #ocaml
<Nanjizal> Good afternoon ( or suitable timezone greetings ). I was wondering does Ocaml have something like Gloss ?
fmardini_ has joined #ocaml
<Nanjizal> Gloss is opengl graphics stuff for Haskell that is setup to be quite easy to use. I use Kha etc... with Haxe, and since Haxe compiler is written in Ocaml I am interested in learning a bit more Ocaml but really I prefer learning languages via creating graphics. But last time I looked at Ocaml the graphics I saw was not anywhere near as approachable as something like Gloss or Kha.
<Nanjizal> There is a local meetup for Haskell learning so no doubt I will slowly pick up more of that. But suggestions for Ocaml graphics creation ??
mengu has quit [Remote host closed the connection]
fmardini has quit [Ping timeout: 240 seconds]
jlam__ has quit [Quit: Leaving]
<toolslive> there is an opengl binding from ocaml, but it's a rather 1:1 translation of the API.
<toolslive> I played with it in the past...
<Nanjizal> I bought an expensive book on ocmal because it seemed to have some graphics in but turned out to have very little and was hard to follow so lost interest quite fast.
jlam_ has joined #ocaml
<Nanjizal> some scientific book.
<def`> What kind of graphics would you like to do?
<Nanjizal> @toolslive did you look at Gloss I think it only does OpenGL or something so not flexible like Kha but it's is very approachable.
jlam has quit [Ping timeout: 260 seconds]
<Nanjizal> Well I have been playing with Triangles in Kha, Luxe, Webgl recently. https://rawgit.com/nanjizal/justTrianglesTexturesTest/master/bin/index.html
<Nanjizal> I have flash background so animation, interaction, 2D, 3D, vectors, spritesheets, simple games and interactions.
jlam has joined #ocaml
<Nanjizal> Just general graphics stuff ? I don't really want to have to have to deal too deeply with shader stuff but I don't want a really slow canvas either.
jlam_ has quit [Ping timeout: 248 seconds]
<Nanjizal> Well slowly learning a bit of webgl and shaders but I really liked the way Gloss allowed you to write functional code without having to get into the shader setup stuff. Only spent really an evening pair programmnig on a meetup with it but seemed fairly approachable with lots of examples.
mengu has joined #ocaml
sepp2k has joined #ocaml
malina has joined #ocaml
<Nanjizal> Gloss is here https://github.com/benl23x5/gloss if you look at some of the examples you need very little code to get something running, maybe it's not low level enough for something serious, I am not sure but seemed ideal to practice some Haskell. So like 58 lines to create a very simple line drawing app and that includes lots of comments. https://github.com/benl23x5/gloss/blob/master/gloss-exam
<Nanjizal> ples/picture/Draw/Main.hs
<Original_Nicknam> Hello
<def`> Which is for a large part a port of Nanovg in OCaml
samrat_ has quit [Ping timeout: 240 seconds]
<def`> But this is experimental, I use it as a sandbox for experimenting with graphic algorithm / API design.
<def`> So don't expect any kind of API stability. However the API is quite complete for 2D graphics.
<Nanjizal> They both look interesting thanks :)
<def`> The OCaml port of Nanovg example
<Nanjizal> Will these be easy to setup and use on Mac?
fmardini_ has quit [Read error: Connection reset by peer]
fmardini has joined #ocaml
<def`> I used to develop it on a mac, though I removed some mac-specific hack recently.
<def`> I can try this evening.
<Nanjizal> I seem to have Ocaml on my machine OCaml version 4.03.0+dev6-2015-01-20, might have some food and give it a try, I can't rem much about use Ocaml, but I did once experiment with the font stuff in the Haxe compiler which might be of interest, I was trying to get svg out of the font parser, but I probably lost the code. But if you want to add font to your engine probably look at... https://github.c
<Nanjizal> om/HaxeFoundation/ocamllibs/tree/ba1679cb1ed1e74ccd5068755642dc1353780ded/ttflib
<Original_Nicknam> the rank2 type "(∀a, a list -> a list) -> t" is more general than the ocaml "('a list -> 'a list) -> t", right ?
<Nanjizal> It should parse TTF into draw commands which you could probably easily add to Nanovg
<Original_Nicknam> more specific *
sam___ has quit [Ping timeout: 260 seconds]
<Original_Nicknam> eh '_'
<Nanjizal> The orginal code I think was in hxswfml ( haxe ) and ported over to Ocaml so I don't know if it's very functional style ?
<octachron> Original_Nicknam, yes: rank 2 and above polymorphic functions need to be implemented using either polymorphic record field or object in OCaml
nomicflux has joined #ocaml
<Original_Nicknam> octachron, i'm wondering, is the /only/ difference between those two types is the ability for the function to use its parameter with a different type parameter, or is there some more subtleties ?
<Original_Nicknam> with different type parameters*
jlam_ has joined #ocaml
sam___ has joined #ocaml
jlam has quit [Ping timeout: 240 seconds]
jlam has joined #ocaml
_andre has joined #ocaml
jlam_ has quit [Ping timeout: 260 seconds]
dakk has joined #ocaml
jlam_ has joined #ocaml
mbuf has quit [Quit: Leaving]
jlam has quit [Ping timeout: 246 seconds]
jlam has joined #ocaml
jlam_ has quit [Ping timeout: 240 seconds]
<octachron> Original_Nicknam, for most uses, yes. But it also affect typing, consider for instance "let a f = f 1"
mengu has quit [Remote host closed the connection]
<octachron> its type is "(int -> 'a) -> 'a", which is quite different than "let id = {f:'a. 'a -> 'a} let a {f} = f 1" which has for type "id(≡{f:∀'a.'a->'a})->int"
<def`> Nanjizal: I use https://github.com/let-def/stb_truetype for font support
dhil has quit [Ping timeout: 255 seconds]
<Original_Nicknam> octachron, indeed
<Original_Nicknam> thanks for the confirmation
sam___ has quit [Ping timeout: 248 seconds]
<Original_Nicknam> and the additional counter-example
jao has joined #ocaml
<gasche> def`: why did you not use ctypes for the stb_truetype bindings?
dhil has joined #ocaml
samrat_ has joined #ocaml
nomicflux has quit [Quit: nomicflux]
samrat_ has quit [Ping timeout: 246 seconds]
FreeBirdLjj has joined #ocaml
sam___ has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 248 seconds]
<def`> gasche: hmm, it is not a "binding" to an external library, it is C code
<def`> I could have written C code + Ctypes for bindings but it only complicates things.
samrat_ has joined #ocaml
sh0t has joined #ocaml
mbuf has joined #ocaml
<kakadu> Having fun with merlin and quickfixes: https://cdn.pbrd.co/images/GFVa5Rt.gif
<gasche> kakadu: it would be even more convincing if you could use the error/warning location information to jump to the right place automatically
<gasche> ( for the record, Fabrice Le Fessant implemented a tool for this in typerex, crudely parsing typer error messages )
<Leonidas> can I somehow tell depext which flags to infer?
<Leonidas> or rather, tell it the flags
groovy2shoes has quit [Quit: Leaving]
groovy2shoes has joined #ocaml
samrat_ has quit [Ping timeout: 255 seconds]
sam___ has quit [Ping timeout: 248 seconds]
jbrown has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 246 seconds]
samrat_ has joined #ocaml
BitPuffin|osx has joined #ocaml
sam___ has joined #ocaml
sam___ has quit [Ping timeout: 255 seconds]
<kakadu> gasche: I kind of did it but QtCreator doesn't show tooltips about the fact that Enter was pressed in the errors pane: https://cdn.pbrd.co/images/GFVzKzk.gif
al-damiri has joined #ocaml
oriba has joined #ocaml
jlam_ has joined #ocaml
jlam has quit [Ping timeout: 255 seconds]
jlam has joined #ocaml
jlam_ has quit [Ping timeout: 240 seconds]
samrat_ has quit [Ping timeout: 240 seconds]
silenc3r has joined #ocaml
samrat_ has joined #ocaml
vramana_ has joined #ocaml
vramana has quit [Ping timeout: 276 seconds]
silenc3r has quit [Quit: Leaving]
silenc3r has joined #ocaml
MercurialAlchemi has joined #ocaml
sam___ has joined #ocaml
sam___ has quit [Ping timeout: 240 seconds]
silenc3r has quit [Quit: Leaving]
malina has quit [Remote host closed the connection]
BitPuffin|osx has quit [Ping timeout: 248 seconds]
ygrek has joined #ocaml
ygrek has joined #ocaml
dakk has quit [Ping timeout: 240 seconds]
jlam has quit [Read error: Connection reset by peer]
jlam has joined #ocaml
jlam_ has joined #ocaml
Nanjizal has quit [Read error: Connection reset by peer]
tane has joined #ocaml
Nanjizal has joined #ocaml
jlam has quit [Ping timeout: 260 seconds]
oriba has quit [Quit: WeeChat 1.9]
jlam has joined #ocaml
jlam has quit [Read error: Connection reset by peer]
jlam has joined #ocaml
jlam_ has quit [Ping timeout: 246 seconds]
sam___ has joined #ocaml
jlam_ has joined #ocaml
jlam has quit [Read error: Connection reset by peer]
jlam has joined #ocaml
jlam__ has joined #ocaml
jlam_ has quit [Ping timeout: 240 seconds]
jlam has quit [Ping timeout: 240 seconds]
bruce_r has joined #ocaml
sam___ has quit [Ping timeout: 260 seconds]
FreeBirdLjj has joined #ocaml
Nanjizal has quit [Ping timeout: 255 seconds]
c1000wn has joined #ocaml
c1000wn has quit [Client Quit]
Nanjizal has joined #ocaml
mbuf has quit [Quit: Leaving]
fmardini_ has joined #ocaml
raphaelss has joined #ocaml
fmardini has quit [Read error: Connection reset by peer]
fmardini has joined #ocaml
xuanrui has quit [Ping timeout: 240 seconds]
fmardini_ has quit [Ping timeout: 260 seconds]
fmardini_ has joined #ocaml
fmardini has quit [Ping timeout: 260 seconds]
fmardini has joined #ocaml
rostero has joined #ocaml
fmardini_ has quit [Ping timeout: 276 seconds]
fmardini_ has joined #ocaml
fmardini has quit [Ping timeout: 240 seconds]
fmardini has joined #ocaml
tane has quit [Quit: Leaving]
fmardini_ has quit [Ping timeout: 240 seconds]
tokomak has joined #ocaml
samrat_ has quit [Ping timeout: 246 seconds]
kakadu has quit [Quit: Konversation terminated!]
ziyourenxiang has quit [Ping timeout: 240 seconds]
slash^ has joined #ocaml
KeyJoo has joined #ocaml
<sh0t> HI guys! Say I have a type for t which represents an abstract syntax tree.. with some constructors A, B, C. And I implemented a semantics for that. Now say I want to create another abstract syntax tree t' with another constructor D, so that in the traverse of an ast t' i can rely on the previous implementation for data of type t.
<sh0t> I was thinking something like type t'=Emb of t | D of a
<sh0t> (emb stands for embeds.)
<sh0t> Is this something standard?
copy_ has quit [Quit: Connection closed for inactivity]
bruce_r has quit [Ping timeout: 246 seconds]
<sh0t> (t is recursive)
sh0t has quit [Quit: Leaving]
FreeBirdLjj has quit [Remote host closed the connection]
MercurialAlchemi has quit [Ping timeout: 255 seconds]
peterpp has joined #ocaml
Enlik has joined #ocaml
FreeBirdLjj has joined #ocaml
<Enlik> hi, what is the thing that provides --cookie when building stuff? Maybe it's standard enough you'll know right away. (I'm clueless when it comes to ocaml, I just want to build something and it dies with "/.ppx/ppx_driver.runner/ppx.exe: unknown option '--cookie'".)
xuanrui has joined #ocaml
<Enlik> looks like ppx_driver even though they don't list this option in the readme
jlam__ has quit [Read error: Connection reset by peer]
jlam_ has joined #ocaml
MercurialAlchemi has joined #ocaml
silenc3r has joined #ocaml
<octachron> Enlik, have you checked the version of ppx_driver ?
<Enlik> octachron: after updating ppx_driver, building went smoothly
<Enlik> so it was this. :) I created an issue to add the option to readme.
jlam_ has quit [Read error: Connection reset by peer]
jlam has joined #ocaml
bruce_r has joined #ocaml
mengu has joined #ocaml
kakadu has joined #ocaml
kakadu_ has joined #ocaml
kakadu has quit [Ping timeout: 246 seconds]
slash^ has quit [Read error: Connection reset by peer]
fmardini_ has joined #ocaml
fmardini has quit [Ping timeout: 240 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
raphaelss has quit [Quit: Lost terminal]
Enlik has left #ocaml ["WeeChat 1.6"]
raphaelss has joined #ocaml
ygrek has quit [Ping timeout: 240 seconds]
raphaelss has quit [Quit: Lost terminal]
ygrek has joined #ocaml
mengu has quit [Quit: Leaving...]
mrsmkl has quit [Ping timeout: 260 seconds]
tormen has quit [Ping timeout: 240 seconds]
tormen has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 240 seconds]
fmardini has joined #ocaml
fmardini_ has quit [Ping timeout: 240 seconds]
Nanjizal has quit [Ping timeout: 246 seconds]
tormen has quit [Ping timeout: 248 seconds]
tobiasBora has joined #ocaml
_andre has quit [Quit: leaving]
dhil has quit [Ping timeout: 240 seconds]
tormen has joined #ocaml
sepp2k has quit [Quit: Leaving.]
infinity0_ has joined #ocaml
infinity0_ has quit [Changing host]
infinity0_ has joined #ocaml
infinity0_ is now known as infinity0
enterprisey has joined #ocaml
sam___ has joined #ocaml
silenc3r has quit [Quit: Leaving]
sam___ has quit [Ping timeout: 248 seconds]
pierpa has joined #ocaml
xuanrui has quit [Ping timeout: 255 seconds]
danieli has joined #ocaml
jbrown has quit [Remote host closed the connection]
coventry has joined #ocaml
Original_Nicknam has quit [Read error: Connection reset by peer]
<coventry> People who don't use Batteries, Core, or some similar library, but write a lot of OCaml code: why not? Trying to decide whether to switch from reading the ocaml.org tutorials to Real World OCaml, which uses Core, but seems to be much higher quality.
<coventry> tezos doesn't use either, and I'm studying to learn the tezos code, so that's a point against RWO.
Ergatis has joined #ocaml
cbot has joined #ocaml
<jmiven> many (most?) things in RWO are applicable even if you don't use Core
<octachron> coventry, between RWO and ocaml.org tutorials, RWO would be much better to learn OCaml, even if function names or arguments are slightly different than tezos in RWO
<coventry> Thanks. I'll go with RWO for now.
ziyourenxiang has joined #ocaml
toolslive has quit [Remote host closed the connection]
xuanrui has joined #ocaml
mfp__ has quit [Ping timeout: 260 seconds]
mfp__ has joined #ocaml
rks` has quit [Ping timeout: 240 seconds]
enterprisey has quit [Remote host closed the connection]
ygrek has quit [Ping timeout: 240 seconds]
nomicflux has joined #ocaml
oliverfriedmann has joined #ocaml
jlam_ has joined #ocaml
jlam__ has joined #ocaml
jlam has quit [Ping timeout: 255 seconds]
srcerer has joined #ocaml
jlam_ has quit [Ping timeout: 264 seconds]
kakadu_ has quit [Remote host closed the connection]
peterpp has quit [Ping timeout: 255 seconds]
ziyourenxiang has quit [Ping timeout: 248 seconds]
Nanjizal has joined #ocaml
sam___ has joined #ocaml
sam___ has quit [Ping timeout: 240 seconds]