rgrinberg has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
divya has quit [Ping timeout: 252 seconds]
rgrinberg has joined #ocaml
rgrinberg has quit [Client Quit]
rgrinberg has joined #ocaml
Serpent7776 has joined #ocaml
azimut has quit [Ping timeout: 240 seconds]
dnaq has quit [Remote host closed the connection]
dnaq has joined #ocaml
bartholin has joined #ocaml
<discocaml>
<davesnx> If you want to install a specific version `opam install merlin.0.1.2.3` works also
<discocaml>
<functionalprogramming> yeah but i dont want to have to check versions hehe
bartholin has quit [Remote host closed the connection]
mima has joined #ocaml
average has joined #ocaml
<discocaml>
<leostera> is the behavior of the gc in hot loops documented somewhere? 🤔
<discocaml>
<leostera> should a `while true do ... done` affect how often the gc gets to run?
gentauro has quit [Quit: leaving]
neiluj has joined #ocaml
patrick__ has quit [Ping timeout: 255 seconds]
pluviaq has quit [Ping timeout: 268 seconds]
jakzale has quit [Ping timeout: 268 seconds]
ggb has quit [Ping timeout: 268 seconds]
patrick__ has joined #ocaml
pluviaq has joined #ocaml
richardhuxton has quit [Ping timeout: 260 seconds]
ymherklotz has quit [Ping timeout: 260 seconds]
Ankhers has quit [Ping timeout: 260 seconds]
b0o has quit [Ping timeout: 260 seconds]
kuruczgy has quit [Ping timeout: 268 seconds]
_alix has quit [Ping timeout: 268 seconds]
immutable has quit [Ping timeout: 240 seconds]
henrytill has quit [Ping timeout: 240 seconds]
brettgilio has quit [Ping timeout: 268 seconds]
migalmoreno has quit [Ping timeout: 260 seconds]
sleepydog has quit [Ping timeout: 268 seconds]
toastal has quit [Ping timeout: 268 seconds]
whereiseveryone has quit [Ping timeout: 268 seconds]
philipwhite has quit [Ping timeout: 260 seconds]
arya_elfren has quit [Ping timeout: 260 seconds]
seeg has quit [Ping timeout: 260 seconds]
seeg has joined #ocaml
seeg has quit [Ping timeout: 255 seconds]
pluviaq has quit [Ping timeout: 255 seconds]
patrick__ has quit [Ping timeout: 255 seconds]
jakzale has joined #ocaml
ggb has joined #ocaml
seeg has joined #ocaml
toastal has joined #ocaml
patrick__ has joined #ocaml
sleepydog has joined #ocaml
ymherklotz has joined #ocaml
henrytill has joined #ocaml
migalmoreno has joined #ocaml
brettgilio has joined #ocaml
_alix has joined #ocaml
b0o has joined #ocaml
arya_elfren has joined #ocaml
pluviaq has joined #ocaml
Ankhers has joined #ocaml
richardhuxton has joined #ocaml
immutable has joined #ocaml
whereiseveryone has joined #ocaml
kuruczgy has joined #ocaml
mima has quit [Ping timeout: 276 seconds]
troydm has quit [Ping timeout: 276 seconds]
average has quit [Quit: Connection closed for inactivity]
philipwhite has joined #ocaml
Square has joined #ocaml
<Square>
In F# it seems you specify type arguments as "type MyType<'a,'b>(...)". Why is the "'" needed?
<companion_cube>
In ocaml it's the same and it marks type variables as distinct from types
<Square>
companion_cube, ok. I guess that is a motivation at least.
<companion_cube>
Well yeah, the grammar isn't arbitrary :)
Square2 has joined #ocaml
azimut has joined #ocaml
Square has quit [Ping timeout: 268 seconds]
azimut has quit [Remote host closed the connection]
azimut has joined #ocaml
azimut has quit [Remote host closed the connection]
azimut has joined #ocaml
azimut has quit [Ping timeout: 240 seconds]
azimut has joined #ocaml
azimut has quit [Remote host closed the connection]
azimut has joined #ocaml
mima has joined #ocaml
rgrinberg has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
waleee has joined #ocaml
trillion_exabyte has quit [Ping timeout: 246 seconds]
trillion_exabyte has joined #ocaml
mima has quit [Ping timeout: 240 seconds]
Square2 has quit [Ping timeout: 260 seconds]
Square has joined #ocaml
<discocaml>
<.armael.> The compiler inserts poll points in the code so that the GC gets to run
<discocaml>
<.armael.> So it shouldn’t matter whether you have an infinite loop somewhere
<companion_cube>
which means every loop got slower :/
<companion_cube>
oh well, that's the tradeoff of using OCaml I suppose
<discocaml>
<leostera> thanks @.armael. !
mima has joined #ocaml
Square has quit [Ping timeout: 240 seconds]
waleee has quit [Ping timeout: 260 seconds]
olle has joined #ocaml
azimut has quit [Ping timeout: 240 seconds]
<discocaml>
<Ada> god i love ocaml tooling
azimut has joined #ocaml
<olle>
dune too? :D
<olle>
hehe
<discocaml>
<Ada> dune and opam
<discocaml>
<Ada> in equal measures
<discocaml>
<Ada> like my two children
<discocaml>
<Ada> and opam is secretly the favourite
bartholin has joined #ocaml
olle has quit [Ping timeout: 260 seconds]
<discocaml>
<leostera> another dumb gc question 🙂 i've set up some monitoring and i can see some numbers that make sense for live/free/heap sizes in bytes. i can see my program peaks at ~531mb ram, and eventually the heap reports a size of ~254mb (70 live, 183 free) with ~44500 fragment blocks (so ~0.3mb unusable), yet somehow the resident memory of my program is at ~790mb and which is maybe accidentally close to (peak - current heap )(790-531 ~= 254 + 5). how
<discocaml>
<leostera> (oh, words to bytes for a 64-bit machine)
waleee has joined #ocaml
szkl has quit [Quit: Connection closed for inactivity]
neiluj has quit [Quit: neiluj]
a51 has joined #ocaml
rgrinberg has joined #ocaml
yewscion has joined #ocaml
Square has joined #ocaml
a51 has quit [Quit: WeeChat 4.1.2]
<discocaml>
<ambersaber> 怎样体验最新版本
Serpent7776 has quit [Ping timeout: 256 seconds]
oriba has joined #ocaml
rgrinberg has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
mima has quit [Ping timeout: 264 seconds]
rgrinberg has joined #ocaml
azimut has quit [Ping timeout: 240 seconds]
azimut_ has joined #ocaml
azimut_ has quit [Remote host closed the connection]
mstevens has quit [Quit: Connection closed for inactivity]
yewscion_ has joined #ocaml
yewscion has quit [Ping timeout: 268 seconds]
bartholin has quit [Quit: Leaving]
yewscion_ has quit [Remote host closed the connection]
yewscion_ has joined #ocaml
cdr255 has joined #ocaml
mima has joined #ocaml
rgrinberg has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
cdr255 is now known as yewscion
yewscion_ has quit [Ping timeout: 246 seconds]
<discocaml>
<Ada> lwt colouring is such a pain in the arse
<companion_cube>
yep
<discocaml>
<Kali> can't wait for effects to get good
troydm has joined #ocaml
<discocaml>
<Ada> are they not already good?
<discocaml>
<Kali> syntactically, i mean
<discocaml>
<Kali> they are good in behavior
<discocaml>
<Kali> but they are not typed either
<discocaml>
<Ada> ah
<discocaml>
<Ada> i've only used them through eio so far
<discocaml>
<Ada> haven't got much further than hello worlds because i spend so much time working on my lwt projects haha
czy has quit [Remote host closed the connection]
czy has joined #ocaml
<discocaml>
<Ada> speaking of lwt, anyboy know how i would detect that a cohttp client's closed the socket?
<discocaml>
<Ada> specifically, i am trying to implement a reverse proxy type thing, and need to be able to cancel requests if the client hangs up
<discocaml>
<Ada> cohttp logs this with `IO error while writing body: Unix.Unix_error(Unix.ECONNRESET, "write", "")`
<discocaml>
<leostera> effects are pretty awesome already
<discocaml>
<Ada> hmm, if i just attach a catch all case to cohttp's `conn_closed` callback that should work?
<discocaml>
<Ada> instead of error handling just tie each response to a transfer and manually clean it up
<discocaml>
<Ada> when the response has finished
<discocaml>
<Ada> still some code rewrite since i'll have to switch from opium to cohttp.server directly, but thats probably better long term for maintainability
Tuplanolla has joined #ocaml
yewscion has quit [Ping timeout: 252 seconds]
<discocaml>
<regularspatula> How did you set up the monitoring to get these values ?
mima has quit [Ping timeout: 246 seconds]
<discocaml>
<leostera> a mix of gc.stat and htop – nothing too rigorous tbh