<twobitsprite>
any suggestions for creating a binary client/server protocol in ocaml?
<twobitsprite>
my thoughts are: updates to arrays, structs, etc, for a sandbox roguelike (or a dwarffortresslike?) that can be played single-player with a local server, or possibly multiplayer
<twobitsprite>
I'm sure I can come up with my own protocol, just wondering if there are any existing frameworks for binary protocols available to ocaml
bhoot has joined #ocaml
bhoot has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
bhoot has joined #ocaml
bhoot has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
bhoot has joined #ocaml
bhoot has quit [Client Quit]
bhoot has joined #ocaml
bhoot has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
bhoot has joined #ocaml
mbuf has joined #ocaml
bhoot has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
bhoot has joined #ocaml
bhoot has quit [Client Quit]
bhoot has joined #ocaml
bhoot has quit [Client Quit]
bhoot has joined #ocaml
bartholin has joined #ocaml
bhoot has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
bhoot has joined #ocaml
bhoot has quit [Client Quit]
bhoot has joined #ocaml
bhoot has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
bhoot has joined #ocaml
bhoot has quit [Client Quit]
bhoot has joined #ocaml
bhoot has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
bhoot has joined #ocaml
bhoot has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
bhoot has joined #ocaml
Serpent7776 has joined #ocaml
Tuplanolla has joined #ocaml
bhoot has quit [Client Quit]
bhoot has joined #ocaml
bhoot has quit [Client Quit]
bhoot has joined #ocaml
bhoot has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
bhoot has joined #ocaml
xgqt has quit [Quit: WeeChat 4.1.2]
xgqt has joined #ocaml
bhoot has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Inline has joined #ocaml
bhoot has joined #ocaml
bhoot has quit [Client Quit]
bhoot has joined #ocaml
bhoot has quit [Ping timeout: 248 seconds]
gentauro has quit [Read error: Connection reset by peer]
gentauro has joined #ocaml
sroso has quit [Quit: Leaving :)]
Inline has quit [Ping timeout: 276 seconds]
waleee has joined #ocaml
waleee has quit [Ping timeout: 245 seconds]
bartholin has quit [Quit: Leaving]
ctk has quit [Changing host]
ctk has joined #ocaml
f[x] has joined #ocaml
<discocaml>
<mbacarella> apparently it's unsafe to run `BitchX` for IRC. it's not maintained anymore and remote code execution attacks are known
<discocaml>
<mbacarella> aging is all about loss
kuruczgy has left #ocaml [#ocaml]
tomku has quit [Ping timeout: 248 seconds]
tomku has joined #ocaml
Anarchos has joined #ocaml
Serpent7776 has quit [Ping timeout: 260 seconds]
f[x] has quit [Remote host closed the connection]
euphores has quit [Quit: Leaving.]
ctk is now known as CalimeroTeknik
waleee has joined #ocaml
Anarchos has quit [Quit: Vision[]: i've been blurred!]
bartholin has joined #ocaml
mbuf has quit [Quit: Leaving]
germ has quit [Read error: Connection reset by peer]
germ has joined #ocaml
Serpent7776 has joined #ocaml
<twobitsprite>
mbacarella: irssi is basically the spiritual continuation of bitchx
<twobitsprite>
If I wanted to encode a variant type as, say, an integer for a protocol, is there a generalized way to do this, or do I need to set up a match/with condition for each variant?
<discocaml>
<Kali> second one, but ppx-deriving has a [@@deriving enum] option that provides to_enum and of_enum functions for converting to/from integers
<companion_cube>
twobitsprite: if I were you I'd look into either json (with a ppx) or protobuf
<companion_cube>
Way easier than doing a brand new protocol by hand
<discocaml>
<ada2k> what if they’re decoding an existing protocol?
<companion_cube>
Ah I didn't think it was the case
Tuplanolla has quit [Quit: Leaving.]
<twobitsprite>
no, I am creating a new protocol. I asked a few days ago about if there are any good existing binary protocols and didn't get an response. I'll look into ppx and protobuf though, thanks
<companion_cube>
Wdym "any good binary protocol"? For what?
<twobitsprite>
I'm making a roguelike engine. So, things like, "Update (42, 69) (Tile 666)" and "KeyPress "W""
<discocaml>
<ada2k> capnproto is an interesting projecr since it claims to mostly skip the serialisation process. i don’t know if that’s true for ocaml bindings though