omegatron has quit [Quit: Power is a curious thing. It can be contained, hidden, locked away, and yet it always breaks free.]
waleee has quit [Ping timeout: 252 seconds]
Riviera has quit [Ping timeout: 264 seconds]
Riviera has joined #ocaml
rgrinberg has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
rgrinberg has joined #ocaml
raskol has quit [Ping timeout: 255 seconds]
dmbaturin has quit [Quit: let (+) 2 2 = 5 in 2 + 2]
dmbaturin has joined #ocaml
Square3 has quit [Ping timeout: 264 seconds]
trillion_exabyte has quit [Ping timeout: 272 seconds]
trillion_exabyte has joined #ocaml
rgrinberg has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
mange has quit [Remote host closed the connection]
jutty has quit [Quit: jutty]
GreaseMonkey has quit [Remote host closed the connection]
greaser|q has joined #ocaml
rgrinberg has joined #ocaml
dnh has joined #ocaml
Serpent7776 has joined #ocaml
bartholin has joined #ocaml
dnh has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
olle has joined #ocaml
bartholin has quit [Quit: Leaving]
azimut has joined #ocaml
azimut has quit [Remote host closed the connection]
azimut has joined #ocaml
rgrinberg has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
dnh has joined #ocaml
Anarchos has joined #ocaml
dnh has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
dnh has joined #ocaml
<discocaml>
<lukstafi> Is there a way of writing `(fun (module M : T1) -> (module M : T2)) m` that looks more like `(m :> (module T2))` (we know already that `m` is `(module T1)`), or at least `(m : (module T1) :> (module T2))`?
<discocaml>
<._null._> `let weaken m = (m : (module T1) :> (module T2))` works
waleee has joined #ocaml
alexherbo2 has joined #ocaml
jabuxas has joined #ocaml
<discocaml>
<octachron> For a very strict version of `:>`: all runtime values must have the same offset in `T1` and `T2`.
gentauro has quit [Read error: Connection reset by peer]
gentauro has joined #ocaml
alexherbo2 has quit [Remote host closed the connection]
alexherbo2 has joined #ocaml
jabuxas_ has joined #ocaml
jabuxas_ has quit [Ping timeout: 260 seconds]
jtza8 has joined #ocaml
jtza8 has quit [Ping timeout: 256 seconds]
<discocaml>
<lukstafi> Is that determined by the signature? Does the structure order need to be the same as in the signature?
<discocaml>
<lukstafi> I'm getting `Type ... is not a subtype of ...`
<discocaml>
<lukstafi> I'm getting `Type ... is not a subtype of ...`. But thanks, I wasn't convinced before that it is supposed to work in some cases, I might have been using a wrong syntax.
<discocaml>
<lukstafi> Is that determined by the signature? Does the structure order need to be the same as in the signature? Edited: for it to have a chance of working, yes, the order would need to match the signature order...
alexherbo2 has quit [Remote host closed the connection]
alexherbo2 has joined #ocaml
<discocaml>
<lukstafi> I have `T2 = sig include T1 ... end`, the implementation of `m` didn't care to put things in order.
<discocaml>
<lukstafi> I have `T1 = sig include T2 ... end`, the implementation of `m` didn't care to put things in order.
alexherbo2 has quit [Remote host closed the connection]
alexherbo2 has joined #ocaml
<discocaml>
<octachron> Having more runtime components elements is also an issue.
Tuplanolla has joined #ocaml
bartholin has joined #ocaml
<discocaml>
<lukstafi> Ah, mis-quantified your sentence as "all components that are in `T2` must be in the same position in `T1`. Yes, `T1` has more components (values).
azimut has quit [Ping timeout: 255 seconds]
alexherbo2 has quit [Remote host closed the connection]
alexherbo2 has joined #ocaml
olle_ has joined #ocaml
alexherbo2 has quit [Remote host closed the connection]
jutty has quit [Quit: jutty]
jutty has joined #ocaml
raskol has joined #ocaml
olle has quit [Ping timeout: 272 seconds]
azimut has joined #ocaml
azimut has quit [Remote host closed the connection]
azimut has joined #ocaml
Anarchos has quit [Quit: Vision[]: i've been blurred!]
raskol has quit [Ping timeout: 268 seconds]
rgrinberg has joined #ocaml
darchitect has joined #ocaml
<darchitect>
hey guys are there are good maths IRC channels you would recommend ? (I'm interested in math related to functional programming mainly)
<discocaml>
<idontwantausernamefeckoff> what am i supposed to use for ~stdenv in caqti_eio?
darchitect has quit [Quit: WeeChat 4.1.1]
jabuxas has joined #ocaml
flo has joined #ocaml
<flo>
Hi, what is a recommended library to connect to a postgresql database? I am using async
jabuxas has quit [Ping timeout: 264 seconds]
<discocaml>
<idontwantausernamefeckoff> flo: caqti is very good
<flo>
thank you discocaml, this is used in production i assume? i just had a look at jane street postgres_async but found the api a bit minimalistic
rgrinberg has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<discocaml>
<idontwantausernamefeckoff> discocaml is the name of the bot haha
<discocaml>
<idontwantausernamefeckoff> but yeah the async bindings are stable
<discocaml>
<idontwantausernamefeckoff> idk about async in particular but the lwt version is included in dream which iirc runs the ocaml website
<flo>
the ocaml website uses caqti to talk to the database?
greaser|q has quit [Changing host]
greaser|q has joined #ocaml
greaser|q is now known as GreaseMonkey
flo has quit [Quit: WeeChat 4.2.1]
mahmoudesse has joined #ocaml
Anarchos has joined #ocaml
waleee has joined #ocaml
<discocaml>
<idontwantausernamefeckoff> don’t know about that one actually. but it’s a very well tested library