Leonidas changed the topic of #ocaml to: Discussion about the OCaml programming language | http://www.ocaml.org | OCaml 5.1.1 released: https://ocaml.org/releases/5.1.1 | Try OCaml in your browser: https://try.ocamlpro.com | Public channel logs at https://libera.irclog.whitequark.org/ocaml/
<companion_cube> Oh wow
<companion_cube> What's the limit on these?
<discocaml> <abstract.domain> at most 250 isn't it?
<companion_cube> .... That's quite a lot already :D
szkl has joined #ocaml
azimut has joined #ocaml
pie_ has quit [Remote host closed the connection]
pie_ has joined #ocaml
oriba has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
rgrinberg has joined #ocaml
rgrinberg has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
waleee has quit [Ping timeout: 264 seconds]
azimut has quit [Ping timeout: 240 seconds]
rgrinberg has joined #ocaml
rgrinberg has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
azimut has joined #ocaml
trev has joined #ocaml
azimut has quit [Ping timeout: 240 seconds]
azimut has joined #ocaml
rgrinberg has joined #ocaml
rgrinberg has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
rgrinberg has joined #ocaml
rgrinberg has quit [Client Quit]
rgrinberg has joined #ocaml
rgrinberg has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
waleee has joined #ocaml
rgrinberg has joined #ocaml
ursa-major has quit [Ping timeout: 264 seconds]
ursa-major has joined #ocaml
azimut has quit [Ping timeout: 240 seconds]
waleee has quit [Ping timeout: 245 seconds]
Tuplanolla has joined #ocaml
Serpent7776 has joined #ocaml
Serpent7776 has quit [Ping timeout: 260 seconds]
ursa-major has quit [Quit: WeeChat 4.1.2]
rgrinberg has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
esum has quit [Remote host closed the connection]
waleee has joined #ocaml
esum has joined #ocaml
bartholin has joined #ocaml
steenuil has quit [Remote host closed the connection]
steenuil has joined #ocaml
waleee has quit [Ping timeout: 245 seconds]
Serpent7776 has joined #ocaml
alexherbo2 has joined #ocaml
oriba has joined #ocaml
<discocaml> <cswine> do people use angstrom? Ive heard many use menhir
azimut has joined #ocaml
alexherbo2 has quit [Remote host closed the connection]
alexherbo2 has joined #ocaml
alexherbo2 has quit [Ping timeout: 250 seconds]
alexherbo2 has joined #ocaml
alexherbo2 has quit [Remote host closed the connection]
<companion_cube> Menhir is for languages, mostly. Angstrom can be used for things like protocols, serialization formats, etc
average has quit [Quit: Connection closed for inactivity]
<discocaml> <._null._> IIRC, Coq extraction also has the issue of non-constant constructors, but as it compiled to an intermediate language (OCaml lambda I think) and the limit is only enforced at parsing, they had trouble figuring everything out
azimut has quit [Ping timeout: 240 seconds]
<discocaml> <Ada> httpaf is pretty popular
jusensei2 has quit [Ping timeout: 276 seconds]
azimut has joined #ocaml
czy has quit [Remote host closed the connection]
dstein64 has quit [Excess Flood]
dstein64 has joined #ocaml
<discocaml> <regularspatula> c-cube: 246 is the limit
rgrinberg has joined #ocaml
<companion_cube> That's not bad!
<discocaml> <lukstafi> How expensive is it to run `Domain.cpu_relax ()` in an (infinite) loop?
<companion_cube> I only do it for extremely short loops
gdd has quit [Ping timeout: 256 seconds]
gdd has joined #ocaml
<sadiq> why would you want to call it in an infinite loop?
waleee has joined #ocaml
chrisz has quit [Ping timeout: 252 seconds]
chrisz has joined #ocaml
<discocaml> <lukstafi> In terms of either taking CPU resources from the system, or energy consumption.
<discocaml> <lukstafi> @sadiqj a very primitive worker implementation -- spinup all domains.
<discocaml> <lukstafi> ```ocaml
<discocaml> <lukstafi> let spinup_device ~ordinal =
<discocaml> <lukstafi> let next_task = ref None in
<discocaml> <lukstafi> let keep_spinning = ref true in
<discocaml> <lukstafi> let worker () =
<discocaml> <lukstafi> while !keep_spinning do
<discocaml> <lukstafi> Option.iter !next_task ~f:(fun f ->
<discocaml> <lukstafi> f ();
<discocaml> <lukstafi> next_task := None);
<discocaml> <lukstafi> Domain.cpu_relax ()
<discocaml> <lukstafi> done
<discocaml> <lukstafi> in
<discocaml> <lukstafi> { next_task; keep_spinning; ordinal; domain = Domain.spawn worker }
<discocaml> <lukstafi> ```
<discocaml> <lukstafi> I'm hoping safety comes from the fact that work manager runs sequentially on the main domain.
<sadiq> I guess that works if you don't mind burning loads of CPU
<sadiq> domainslib has some quite heavily optimised data structures you could use instead: https://github.com/ocaml-multicore/domainslib/blob/main/lib/
cr1901_ is now known as cr1901
trev has quit [Quit: trev]
Inline has joined #ocaml
<Inline> i want to change opams handling of my PATH variable
<Inline> i edited .opam/opam-init/variables.sh to append rather prepend the path but still no go
<Inline> as soon as i source /etc/profile all is back to prepend
<Inline> do i have to restart in order for that to take effect ?
rgrinberg has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
cedric has joined #ocaml
cedric has quit [Client Quit]
Serpent7776 has quit [Ping timeout: 268 seconds]
bartholin has quit [Quit: Leaving]
rgrinberg has joined #ocaml
oriba has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]