companion_cube changed the topic of #ocaml to: Discussion about the OCaml programming language | http://www.ocaml.org | OCaml 5.0 released(!!1!): https://ocaml.org/releases/5.0.0.html | Try OCaml in your browser: https://try.ocamlpro.com | Public channel logs at https://libera.irclog.whitequark.org/ocaml/
mechap has quit [Quit: WeeChat 4.0.2]
MarvelousWololo has quit [Ping timeout: 240 seconds]
waleee has quit [Ping timeout: 260 seconds]
haesbaert has quit [Ping timeout: 250 seconds]
haesbaert has joined #ocaml
Tuplanolla has quit [Quit: Leaving.]
MarvelousWololo has joined #ocaml
chrisz has quit [Ping timeout: 272 seconds]
chrisz has joined #ocaml
spip has quit [Ping timeout: 258 seconds]
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
terrorjack has joined #ocaml
chrisz has quit [Ping timeout: 246 seconds]
chrisz has joined #ocaml
MarvelousWololo_ has joined #ocaml
_whitelogger has joined #ocaml
cbarrett has joined #ocaml
MarvelousWololo has quit [Read error: Connection reset by peer]
MarvelousWololo has joined #ocaml
MarvelousWololo_ has quit [Read error: Connection reset by peer]
MarvelousWololo has quit [Read error: Connection reset by peer]
mizlan has quit [Ping timeout: 272 seconds]
azimut has joined #ocaml
bartholin has joined #ocaml
mbuf has joined #ocaml
olle has joined #ocaml
dhil has joined #ocaml
Tuplanolla has joined #ocaml
dhil has quit [Remote host closed the connection]
bartholin has quit [Ping timeout: 246 seconds]
bartholin has joined #ocaml
spip has joined #ocaml
<_alix> Found this, and thought this might be of interest to other people "Perceus for OCaml" https://www.eltonpinto.me/assets/work/mthesis-perceus-for-ocaml.pdf
Serpent7776 has joined #ocaml
xd1le has joined #ocaml
waleee has joined #ocaml
<olle> What's perceus?
<olle> Or do I have to click the link? :)
<discocaml> <omasanori> olle: it is a garbage collection algorithm implemented in the Koka programming language's runtime
<discocaml> <omasanori> sorry for another link btw 😉
<olle> Oh cool
<olle> I thought Koka2 used ref counting of sorts?
<olle> Right, it does
<olle> Paper summary says it's "competivtive" with ocaml gc
<olle> competetive*?
<discocaml> <omasanori> So, implementing Perceus to OCaml will make OCaml competitive with OCaml, sounds nice
<olle> :))
<olle> Some numbers would be nice, but I don't have time to look at it now
waleee has quit [Ping timeout: 258 seconds]
Anarchos has joined #ocaml
xd1le_ has joined #ocaml
xd1le_ has quit [Client Quit]
xd1le has quit [Ping timeout: 272 seconds]
Anarchos has quit [Ping timeout: 272 seconds]
<SquidDev> It doesn't handle reference cycles/mutable references - I assume handling those would require adding back a normal GC as well (like Python does), and it's not clear what impact that'd have on performance.
<olle> Eh?
<olle> Usually ref counting is patched to deal with those cases
<SquidDev> Oh? My understanding is you couldn't do cycle detection with ref counting without a tracing GC.
<SquidDev> Not my area of expertise though, so almost definitely wrong :).
<olle> SquidDev: Yea, they add some tracing on it somehow, not sure, but PHP does it
waleee has joined #ocaml
gareppa has joined #ocaml
gareppa has quit [Quit: WeeChat 3.8]
luke98 has joined #ocaml
luke98 has quit [Ping timeout: 246 seconds]
luke99 has joined #ocaml
mizlan has joined #ocaml
mbuf has quit [Quit: Leaving]
luke99 has quit [Ping timeout: 246 seconds]
mizlan has quit [Ping timeout: 246 seconds]
mizlan has joined #ocaml
oriba has joined #ocaml
zgasma has joined #ocaml
MarvelousWololo has joined #ocaml
zgasma has quit [Client Quit]
zgasma has joined #ocaml
zgasma has quit [Client Quit]
zgasma has joined #ocaml
zgasma has quit [Client Quit]
zgasma has joined #ocaml
cross has quit [Remote host closed the connection]
mizlan has quit [Remote host closed the connection]
mizlan has joined #ocaml
bartholin has quit [Ping timeout: 245 seconds]
bartholin has joined #ocaml
<discocaml> <arbipher> What is the meaning of calling `let key = DLS.kew_key f` then immediately `DLS.set key other_value`? Will the initializer `f` be ignored?
<discocaml> <arbipher>
<discocaml> <arbipher> I see a few this patterns in `stdlib/format.ml` e.g. line [1028](https://github.com/ocaml/ocaml/blob/f3b4670572d2454d12a954662a239c53db9bc05b/stdlib/format.ml#L1028)
olle has quit [Remote host closed the connection]
bartholin has quit [Quit: Leaving]
<discocaml> <hockletock> the function provided is actually returned with the key; `new_key f` returns `k = (idx, f)`
Serpent7776 has quit [Ping timeout: 250 seconds]
<discocaml> <hockletock> in particular init isn't called until you try to retrieve the key. So if nothing ever calls format.get_str_formatter (in a domain?) the formatter doesn't need to be initialized
<discocaml> <hockletock> nevermind, it is being immediately overwritten and I'm in over my head
<discocaml> <arbipher> What is the meaning of calling `let key = DLS.new_key f` then immediately `DLS.set key other_value`? Will the initializer `f` be ignored?
<discocaml> <arbipher>
<discocaml> <arbipher> I see a few this patterns in `stdlib/format.ml` e.g. line [1028](https://github.com/ocaml/ocaml/blob/f3b4670572d2454d12a954662a239c53db9bc05b/stdlib/format.ml#L1028)
<discocaml> <arbipher> Yes. So the original code could be `let key = let v = other_value in DLS.new_key (fun () -> v)` if the `f` will not be used.
<discocaml> <Kali> could you not simply do `let key = DLS.new_key (Fun.const other_value)`?
<discocaml> <Kali> could you not simply do `let key = DLS.new_key (Fun.const v)`?
<discocaml> <arbipher> that's nicer.
<discocaml> <florianjs> nice to meet you all
<discocaml> <Kali> welcome
<discocaml> <Kali> welcome!
cross has joined #ocaml
sagax has joined #ocaml
<discocaml> <arbipher> Is it possible that `DLS.set` is only valid for the calling domain while `f` in `DLS.new_key f` also species how to generate the value in other domains?
Tuplanolla has quit [Ping timeout: 246 seconds]
<discocaml> <arbipher> I tried to change the two lines into one `DLS.new_key (Fun.const v)` (in `format.ml`) then this testsuite `tests/lib-format/domains.ml` will fail.
azimut has quit [Ping timeout: 240 seconds]
micro has quit [Ping timeout: 258 seconds]
micro has joined #ocaml