<discocaml>
<sim642> Interesting, I would've thought CamlInternalOO exists to avoid such circularities
<companion_cube>
well it depends on stdlib :(
xkcd986214547539 has joined #ocaml
Serpent7776 has joined #ocaml
humasect has joined #ocaml
czan has quit [Quit: Quittin' time!]
xkcd986214547539 has quit [Ping timeout: 246 seconds]
xkcd986214547539 has joined #ocaml
xkcd986214547539 has quit [Ping timeout: 248 seconds]
xkcd986214547539 has joined #ocaml
<gahr>
I use dune with pkg management. Is there an option to tell dune to ignore rechecking everything at each build? It takes several seconds to go through some 300 rules that result in a no-op (I think I asked the same question ~1 year ago, curious if anything has changed in the meanwhile).
xkcd986214547539 has quit [Ping timeout: 264 seconds]
xkcd986214547539 has joined #ocaml
toastal has quit [Ping timeout: 272 seconds]
toastal has joined #ocaml
<discocaml>
<otini_> companion_cube: @octachron tells me that new code added to the Stdlib module should not depend on other standard modules
<discocaml>
<otini_> because they depend on Stdlib themselves
<discocaml>
<otini_> (Stdlib exports aliases of all standard modules but aliases don’t create dependencies)
<discocaml>
<octachron> The exceptions are the Camlinternal* modules written in such way that they do not depend on Stdlib. But adding a dependency on CamlInternalOo to every OCaml programs sound like a bad idea.
<companion_cube>
And so, no objects, I see
<companion_cube>
With that + the quirks of =, I just can't do my poc for better channels 😩
<discocaml>
<octachron> Why did you need to have objects in Stdlib for this purpose?
<discocaml>
<octachron> If this is because the type definitions of the types are in Stdlib, note that objects types are perfectly fine in `Stdlib`.
<companion_cube>
Objects are the only way to make channels extensible and still polymorphically comparable (sth needed since people put channels in hashtables)
<companion_cube>
But you can't do this bc Stdlib.stdin, say, would need to create objects and that apparently brings camlinternaloo in
tremon has joined #ocaml
<discocaml>
<octachron> `type in_channel = Compat of old_in_channel | Extensible of new_in_channel`, then you don't to extend the implementation in the `Stdlib` module, while keeping backward compatibility.
<companion_cube>
It's just twice as much code
<companion_cube>
I mean I guess I'll have to do that, but what a pity
<discocaml>
<octachron> You could have a function `in_channel -> new_in_channel` to share code if this is a concern.
<companion_cube>
No i mean it means keeping tons of C, the hacks for input_line, etc
<companion_cube>
I almost had something with far less C but it's not going to work just because of =
hsw has joined #ocaml
xkcd986214547539 has quit [Ping timeout: 246 seconds]
xkcd986214547539 has joined #ocaml
Phandal has joined #ocaml
nudetayne has quit [Read error: Connection reset by peer]
xkcd986214547539 has quit [Ping timeout: 268 seconds]
humasect has joined #ocaml
nudetayne has joined #ocaml
xkcd986214547539 has joined #ocaml
tronexte has quit [Ping timeout: 265 seconds]
tronexte has joined #ocaml
emaczen has joined #ocaml
eilvelia has joined #ocaml
humasect has quit [Quit: Leaving...]
Phandal has quit [Quit: leaving]
Phandal has joined #ocaml
<discocaml>
<kitten3692> What is the IRC that CCbot mirrors from?
<discocaml>
<._null._> > Bridges to #ocaml on libera
<discocaml>
<kitten3692> Sorry what’s libera
<discocaml>
<kitten3692> Is that another discord server?
<discocaml>
<._null._> libera.chat, it is IRC
<discocaml>
<._null._> (I didn't realise libera didn't appear near the top of search engine results)
<discocaml>
<kitten3692> Yeah I was a tad puzzled
<discocaml>
<kitten3692> Thanks?
<discocaml>
<kitten3692> Thanks!
Anarchos has joined #ocaml
reynir has quit [Read error: Connection reset by peer]
reynir has joined #ocaml
wickedshell has quit [Ping timeout: 248 seconds]
xkcd986214547539 has quit [Ping timeout: 244 seconds]
xkcd986214547539 has joined #ocaml
xkcd986214547539 has quit [Ping timeout: 248 seconds]
Anarchos has quit [Quit: Vision[]: i've been blurred!]