<dh`>
it's easy to do refcounting if you rule out cycles as out of scope
<discocaml>
<yawaramin> OCaml already has weak references...
<dh`>
I've long maintained that every useful data structure has an acyclic spine and the other pointers in it can be weak
<dh`>
but weak circular references are still not so easy to handle with refcounting
<companion_cube>
weak references are just not the same
mange has joined #ocaml
euphores has quit [Ping timeout: 276 seconds]
YuGiOhJCJ has joined #ocaml
agentcasey_ has joined #ocaml
agentcasey has quit [Ping timeout: 248 seconds]
tomku has quit [Ping timeout: 252 seconds]
Serpent7776 has joined #ocaml
bartholin has joined #ocaml
Haudegen has joined #ocaml
bartholin has quit [Remote host closed the connection]
Frostillicus has joined #ocaml
Frostillicus has quit [Ping timeout: 252 seconds]
Frostillicus has joined #ocaml
bartholin has joined #ocaml
Frostillicus has quit [Read error: Connection reset by peer]
Frostillicus has joined #ocaml
dhil has joined #ocaml
tomku has joined #ocaml
Everything has joined #ocaml
Frostillicus has quit [Read error: Connection reset by peer]
Frostillicus has joined #ocaml
Frostillicus has quit [Read error: Connection reset by peer]
Everything has quit [Quit: leaving]
Frostillicus has joined #ocaml
Frostillicus has quit [Ping timeout: 248 seconds]
Frostillicus has joined #ocaml
Frostillicus has quit [Ping timeout: 276 seconds]
Frostillicus has joined #ocaml
Frostillicus has quit [Ping timeout: 252 seconds]
tomku has quit [Remote host closed the connection]
tomku has joined #ocaml
mange has quit [Remote host closed the connection]
Frostillicus has joined #ocaml
Frostillicus has quit [Read error: Connection reset by peer]
<companion_cube>
been a while since I ranted on opam, but _why_ does `opam upg uuidm` want to upgrade half my switch, whereas `opam install uuidm.<the last version>` only touch the relevant stuff? :/
Frostillicus has joined #ocaml
tomku has quit [Ping timeout: 276 seconds]
humasect has joined #ocaml
tronexte has quit [Ping timeout: 265 seconds]
tronexte has joined #ocaml
tomku has joined #ocaml
YuGiOhJCJ has quit [Quit: YuGiOhJCJ]
Phandal has joined #ocaml
Frostillicus has quit [Read error: Connection reset by peer]
johnridesabike has joined #ocaml
Frostillicus has joined #ocaml
<discocaml>
<otini_> The man page kinda suggests, but with ambiguity, that that might be the intended behaviour
<discocaml>
<otini_> ```
<discocaml>
<otini_> NAME
<discocaml>
<otini_> opam-upgrade - Upgrade the installed package to latest version.
<discocaml>
<otini_> This command upgrades the installed packages to their latest available versions. More precisely, this command calls the dependency solver to find a consistent state where most of the installed packages
<discocaml>
<otini_> are upgraded to their latest versions.
<companion_cube>
please don't paste walls of text
<discocaml>
<otini_>
<discocaml>
<otini_> If a directory is specified as argument, anything that is pinned to that directory is selected for upgrade.
<discocaml>
<otini_>
<discocaml>
<otini_> ARGUMENTS
<discocaml>
<otini_> PACKAGES
<discocaml>
<otini_> List of package names, with an optional version or constraint, e.g `pkg', `pkg.1.0' or `pkg>=0.5' ; or directory names containing package description, with explicit directory (e.g. `./srcdir' or `.')
<discocaml>
<otini_> ```
<companion_cube>
but I'm not talking about the manpage but about the observed behavior
<discocaml>
<otini_> sorry
<discocaml>
<otini_> well I’m telling you that the observed behaviour maybe is not a bug but a feature
<companion_cube>
so there's no simple way to upgrade one package? :/
<companion_cube>
like why is there even a list of packages as an argument to `opam upg`?
<discocaml>
<._null._> -a, --all Run an upgrade of all installed packages. This is the default if PACKAGES was not specified, and can be useful with PACKAGES to upgrade while ensuring that some packages get or remain installed.
<discocaml>
<._null._> This appears to contradict the idea that upgrading all packages when an argument is provided be a feature
<discocaml>
<otini_> true
<discocaml>
<otini_> probably worth reporting
<discocaml>
<otini_> as a workaround, I would do `opam show package` to find the latest version available, and then `opam install pkg.thatversion`
<discocaml>
<otini_> although arguably not ideal because it theoretically can take trial and error to find the greatest version compatible with other installed packages
<discocaml>
<._null._> Why do you need not to upgrade some packages anyways ? If it's a requirement to a project, you should (posibly fake-) install it so they are taken into account. If it's ideological, I'd like to understand why
<discocaml>
<._null._> possibly*
<discocaml>
<yawaramin> afaik the opam philosophy is to just rolling upgrade the entire switch, not piecemeal upgrade packages
Frostillicus has quit [Read error: Connection reset by peer]
Frostillicus has joined #ocaml
Frostillicus has quit [Read error: Connection reset by peer]
Frostillicus has joined #ocaml
Frostillicus has quit [Read error: Connection reset by peer]
johnridesabike has quit [Quit: johnridesabike]
johnridesabike has joined #ocaml
Frostillicus has joined #ocaml
Frostillicus has quit [Read error: Connection reset by peer]
Frostillicus has joined #ocaml
Frostillicus has quit [Read error: Connection reset by peer]
Frostillicus has joined #ocaml
Nil42 has joined #ocaml
Nil42 has quit [Client Quit]
Phandal has left #ocaml [ERC 5.6.0.30.1 (IRC client for GNU Emacs 30.1)]
Frostillicus has quit [Read error: Connection reset by peer]
Anarchos has joined #ocaml
Tuplanolla has joined #ocaml
<Anarchos>
hello
Frostillicus has joined #ocaml
ripsquid has joined #ocaml
<companion_cube>
because the full list of packages contains dune and z3 and I don't want to wait 10 minutes (or more on my laptop) just to upgrade a patch version on uuidm
<companion_cube>
if I want to upgrade uuidm I'd like to be able to do so without the super weird `opam install uuidm.foo.bar` :/
<companion_cube>
oh well
euphores has joined #ocaml
humasect has quit [Quit: Leaving...]
dhil has quit [Ping timeout: 248 seconds]
Frostillicus has quit [Read error: Connection reset by peer]
Frostillicus has joined #ocaml
<discocaml>
<yawaramin> the problem behind the problem is that the opam format is...really slow. it has to download a bunch of metadata, parse it, solve it, download a bunch of files from various places on the internet, unpack and install them...it's extremely un-optimized
Frostillicus has quit [Read error: Connection reset by peer]
<companion_cube>
on top of it, too
Frostillicus has joined #ocaml
Frostillicus has quit [Read error: Connection reset by peer]
<discocaml>
<sim642> I complained about it in #opam recently I think. Some part of it might be triggered by the archival of packages you have installed. Although even that shouldn't mean they need an upgrade, only a rebuild perhaps
Frostillicus has joined #ocaml
<discocaml>
<yawaramin> as bad as this is, though, i'm kinda scared of how bad a fully locked-down dependency system would be when trying to upgrade a single package. like, if package is upgraded separately, there's a combinatorial explosion of ways in which package versions can clash
humasect has joined #ocaml
Frostillicus has quit [Ping timeout: 245 seconds]
cross has quit [Remote host closed the connection]
halloy3519 has joined #ocaml
halloy3519 is now known as birle
birle has quit [Quit: birle]
euphores has quit [Ping timeout: 272 seconds]
Frostillicus has joined #ocaml
boozec has joined #ocaml
boozec has quit [Client Quit]
johnridesabike has quit [Quit: johnridesabike]
Serpent7776 has quit [Ping timeout: 276 seconds]
myrkraverk has quit [Read error: Connection reset by peer]
Frostillicus has quit [Ping timeout: 245 seconds]
myrkraverk has joined #ocaml
Frostillicus has joined #ocaml
Frostillicus has quit [Ping timeout: 245 seconds]
bartholin has quit [Remote host closed the connection]