gildor changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | OCaml 3.12.1 http://bit.ly/nNVIVH
Sablier has quit [Read error: Connection reset by peer]
rudi_ has joined #ocaml
ski has quit [Ping timeout: 244 seconds]
cdidd has joined #ocaml
tactics_[home] has quit [Ping timeout: 260 seconds]
ulfdoz has quit [Ping timeout: 240 seconds]
BiDOrD has joined #ocaml
BiDOrD_ has quit [Ping timeout: 244 seconds]
ulfdoz has joined #ocaml
jave has quit [Ping timeout: 272 seconds]
netrino has quit [Quit: Ave!]
ski has joined #ocaml
rudi_ has quit [Read error: Connection timed out]
rudi_ has joined #ocaml
rudi_ has quit [Read error: Connection timed out]
rudi_ has joined #ocaml
sepp2k has joined #ocaml
mjonsson has joined #ocaml
rudi_ is now known as rgrinberg
zorun has quit [Read error: Connection reset by peer]
zorun has joined #ocaml
Cyanure has joined #ocaml
Cyanure has quit [Quit: Quitte]
mjonsson has quit [Remote host closed the connection]
alxbl has quit [Ping timeout: 272 seconds]
alxbl has joined #ocaml
contempt has quit [Remote host closed the connection]
contempt has joined #ocaml
contempt has quit [Remote host closed the connection]
contempt has joined #ocaml
BiDOrD has quit [Ping timeout: 252 seconds]
BiDOrD has joined #ocaml
sivoais has quit [Read error: Connection reset by peer]
jave has joined #ocaml
osa1 has joined #ocaml
sivoais has joined #ocaml
edwin has joined #ocaml
edwin1 has joined #ocaml
edwin1 has quit [Client Quit]
osa1_ has joined #ocaml
osa1 has quit [Ping timeout: 260 seconds]
edwin has quit [Ping timeout: 264 seconds]
edwin has joined #ocaml
Submarine has joined #ocaml
Kakadu has joined #ocaml
<Kakadu> Hi! What is the best library to create tcp connection and send something
<Kakadu> ?
edwin has left #ocaml []
<pippijn> Kakadu: Unix
<Kakadu> pippijn: pure sockets?
Submarine has quit [Ping timeout: 240 seconds]
Reventlov has quit [Ping timeout: 265 seconds]
<adrien> if you don't have more specific needs, why not?
Submarine has joined #ocaml
avsm has joined #ocaml
<pippijn> Kakadu: yes, certainly
<pippijn> Kakadu: and if you want an event driven network application, try Lwt_unix
Anarchos has joined #ocaml
contempt has quit [Quit: leaving]
contempt has joined #ocaml
sgnb has quit [Read error: Operation timed out]
sgnb has joined #ocaml
<Kakadu> pippijn: Can you recommend some examples?
<pippijn> no, I thought the documentation was straightforward
<pippijn> I guess you could google for ocaml echo server
Submarine has quit [Ping timeout: 250 seconds]
<adrien> Kakadu: which kind of server? what would it do? which higher-level protocol?
<orbitz> There is Async too
<orbitz> Lwt is pretty easy to use
<orbitz> I love the syntax extension
<Kakadu> adrien: a challenge: write game bot and win bot's tournament (seabattle game)
<orbitz> Are you writing the server for the bot or the client?
<Kakadu> client
<orbitz> TCP/UDP protocol?
<Kakadu> tcp
<orbitz> Should be pretty easy to implement in Async or Lwt
<pippijn> if it's a client, it might as well be sync
<pippijn> plain sockets
<Kakadu> pippijn: If client will have gui it will not be sync
<pippijn> right
<pippijn> I didn't think a bot would have a gui
<orbitz> Depends I guess, Nice thing iwht Lwt or Async is they have a lot of abstractions that make life easier
<orbitz> like timers and 'threads'
<orbitz> Kakadu: URL for this bot thing?
<Kakadu> what?
<orbitz> Does this bot thing havea URL somewhere describing the protocol? Maybe I can implement it for kicks
avsm has quit [Quit: Leaving.]
<Kakadu> orbitz: Do you speak Russian? https://github.com/bakwc/SeaCraft/blob/master/PROTOCOL.txt
<pippijn> seems easy enough
<pippijn> for google translate and common sense
<orbitz> Sadly i do not
<orbitz> Kakadu: Anyways,if you use lwt, make sure to get the syntax highlighting to work
<orbitz> If oyu use async, for long sequential sequnecs I would use pa_monad
Submarine has joined #ocaml
Submarine has quit [Changing host]
Submarine has joined #ocaml
<orbitz> bitbckt: You know of any work to get GC help at the hardware level for comodity PCs?
osa1_ has quit [Ping timeout: 260 seconds]
<adrien> considering how litte widespread it is for specific tasks, I'd be surprised to find that in comodity computers
<adrien> plus you'd need to decide which model the GC would have
<orbitz> I'm curious more about commoidy CPUs 10 years from now, I assume the work is being done now
<orbitz> adrien: Well, I'm thinking maybe Intel supports a way to get an interrupt whenever a poitner is accessed that you hav emoved
<orbitz> I beleive Azul hardware does this
<Anarchos> orbitz interrupt when a pointer have moved, isn't it like page fault ?
<orbitz> Anarchos: Maybe?
<orbitz> although this would be pointer level not page
<Anarchos> orbitz in Sparc ISA you have specific integer instructions supporting a bit tag , specifically intened to support box/unboxed integers for lisp
Reventlov has joined #ocaml
Reventlov has quit [Changing host]
Reventlov has joined #ocaml
Submarine has quit [Ping timeout: 265 seconds]
<Kakadu> orbitz: I've translated PROTOCOL: https://github.com/Kakadu/SeaCraft/blob/master/PROTOCOL.txt
<orbitz> Kakadu: thanks
<orbitz> Kakadu: reminds me of https://github.com/orbitz/realtimebattle
Submarine has joined #ocaml
Submarine has quit [Changing host]
Submarine has joined #ocaml
Yoric has joined #ocaml
osa1_ has joined #ocaml
Yoric has quit [Read error: Connection reset by peer]
Submarine has quit [Ping timeout: 248 seconds]
ftrvxmtrx has quit [Quit: Leaving]
Yoric has joined #ocaml
ftrvxmtrx has joined #ocaml
<mrvn> orbitz: you can write protect pages and catch the segfaults in the GC, mark the page read-write and mark all objects in it for another scanning run.
<mrvn> orbitz: But that is expensive.
<orbitz> Yeah
<orbitz> I'm thinking something more streamlined, like how Azul does it
<orbitz> I'm not sure how it does it on the back, but when teh GC runs the hardware catches an interrupt ro move the pointer as it's accessed
ulfdoz has quit [Ping timeout: 244 seconds]
netrino has joined #ocaml
<mrvn> orbitz: which is expensive. Both changing the permissions and catching the access.
ulfdoz has joined #ocaml
<orbitz> mrvn: Azul is custom hardware so I don't think it's that expensive there
Yoric has quit [Ping timeout: 244 seconds]
Yoric has joined #ocaml
ulfdoz has quit [Ping timeout: 240 seconds]
Submarine has joined #ocaml
Submarine has quit [Changing host]
Submarine has joined #ocaml
Submarine has quit [Read error: Operation timed out]
ulfdoz has joined #ocaml
ulfdoz has quit [Ping timeout: 245 seconds]
Yoric has quit [Ping timeout: 260 seconds]
ulfdoz has joined #ocaml
osa1_ has quit [Ping timeout: 260 seconds]
struktured has quit [Remote host closed the connection]
struktured has joined #ocaml
ulfdoz has quit [Ping timeout: 245 seconds]
ulfdoz has joined #ocaml
Anarchos has quit [Quit: Vision[0.9.7-H-090423]: i've been blurred!]
Yoric has joined #ocaml
Yoric has quit [Ping timeout: 244 seconds]
zolk3ri has joined #ocaml
Yoric has joined #ocaml
ulfdoz has quit [Remote host closed the connection]
ulfdoz has joined #ocaml
<zolk3ri> Hi.
<Kakadu> hi
Yoric has quit [Ping timeout: 264 seconds]
hongboz has left #ocaml []
hongboz has joined #ocaml
Yoric has joined #ocaml
Yoric has quit [Ping timeout: 264 seconds]
fraggle_ has quit [Read error: Connection reset by peer]
fraggle_ has joined #ocaml
Submarine has joined #ocaml
Submarine has quit [Changing host]
Submarine has joined #ocaml
mjonsson has joined #ocaml
sepp2k has quit [Remote host closed the connection]
Submarine has quit [Ping timeout: 240 seconds]
slash__ has joined #ocaml
slash__ has quit [Client Quit]
slash__ has joined #ocaml
slash__ is now known as slash^
gnuvince has quit [Ping timeout: 250 seconds]
Progster has joined #ocaml
gnuvince has joined #ocaml
<adrien> I've been using sexplib in yypkg and now I use hand-written (de)serializers
<adrien> (while I was using the type-conv-based ones before)
<orbitz> How ocme?
<adrien> the error messages suck just as much
<adrien> but I have no idea how to make proper ones
<adrien> orbitz: you're wondering why I stopped using the type-conv-based ones?
<orbitz> yes
<adrien> one reason is that I use it on windows and camlp4 has some issues there so it's better to just avoid the dependency completely
<orbitz> ok
<adrien> then, I think my code is much smaller and it's noticeable in the size of executables, but that came as a bonus
<adrien> "Fatal error: exception Pre_sexp.Of_sexp_error(_, _)
<adrien> I'm not sure it's really my fault if the error message sucks (OCAMLRUNPARAM="b")
<adrien> (or not =b actually...)
Sgeo has quit [Ping timeout: 276 seconds]
Yoric has joined #ocaml
Yoric has quit [Ping timeout: 264 seconds]
Yoric has joined #ocaml
iago has joined #ocaml
<orbitz> Does anyone have any thoughts on an ML with nearly fully checked exceptions?
<orbitz> That is, try's would have to be exhaustive, and the exceptions a functino thrwos is part of the type
<orbitz> effectively, moving somethign like a type ('a, 'b) t = Ok of 'a | Error of 'b to the language
<orbitz> and every function is over this type
<orbitz> I can simulate it in Ocaml, but there is nothign stopping a functionf rom raising ane xception
<orbitz> I'd make a FEW exceptions unchecked, speifcally Out_of_memory
<Yoric> orbitz: Have you seen François Pessaux's OCamlexc?
<Yoric> Ah, need to logout.
<orbitz> Yoric: nope, is it tgis?
edwin has joined #ocaml
mjonsson has quit [Quit: Leaving]
Yoric has quit [Ping timeout: 244 seconds]
emmanuelux has joined #ocaml
thomasga has joined #ocaml
rgrinberg has quit [Ping timeout: 245 seconds]
rgrinberg has joined #ocaml
rgrinberg has quit [Max SendQ exceeded]
rgrinberg has joined #ocaml
emmanuelux has quit [Quit: @+]
Yoric has joined #ocaml
<Yoric> orbitz: "Thank God It's Sunday"?
<orbitz> Yoric: is Ocamlexc basically what I described?
<Yoric> It is an additional type-checker that performs type-checking on exceptions.
edwin has left #ocaml []
<Yoric> Not maintained, unfortunately, afaik :/
<orbitz> aw
<flux> I think ocamlexc, if maintained, could make a big difference to the safety of many ocaml programs
<orbitz> Yeah
<flux> as it currently is, exception handling is basically the same as dynamic typing
<Yoric> Indeed.
<orbitz> I hate dealing iwht exceptions in ocaml, I'd love a nice either type automaticlaly running its wya throuhg my program
zorun has quit [Read error: Connection reset by peer]
zorun has joined #ocaml
Progster has quit [Ping timeout: 260 seconds]
ski has quit [Ping timeout: 265 seconds]
Yoric has quit [Ping timeout: 245 seconds]
ski has joined #ocaml
alxbl has quit [Changing host]
alxbl has joined #ocaml
Reventlov has quit [Ping timeout: 265 seconds]
Anarchos has joined #ocaml
slash^ has quit [Quit: Lost terminal]
Sablier has joined #ocaml
gnuvince has quit [Ping timeout: 260 seconds]
thomasga has quit [Quit: Leaving.]
rgrinberg has quit [Quit: Leaving]
Kakadu has quit [Quit: Konversation terminated!]
iago has quit [Quit: Leaving]
gnuvince has joined #ocaml
lewis1711 has joined #ocaml
Anarchos has quit [Quit: Vision[0.9.7-H-090423]: i've been blurred!]
BiDOrD_ has joined #ocaml
BiDOrD has quit [Ping timeout: 265 seconds]
zolk3ri has quit [Ping timeout: 265 seconds]
zolk3ri has joined #ocaml
Sablier has quit [Read error: Connection reset by peer]
emmanuelux has joined #ocaml
zolk3ri has quit [Quit: Lost terminal]
gnuvince has quit [Ping timeout: 245 seconds]