That idea `function can return multiple values` was a bit of `Wait what? Ah I almost forgot :facepalm:` moment for me.
(The quadratic formula function for solving quadratic equations `ax^2 + bx + c = 0` returns TWO values.)
> Because at the end, it's all just graphs with vertices and edges.
That's not the end. At the end there are just objects and morphisms between them. Graphs (with their edges and vertices) are just a special category of... Well, have a look at "Category Theory".
What I see is the tens of thousands of people in troll factories producing content for 3/4 of the world population ready to believe whatever they see in the TV.
I think a more likely scenario is that people will be so used to it that a lot of people are going to have trouble believing that real things are real. Conspiracy theorists already suffer from this and it's going to get so much worse.
I think in the initial years there'll be some major incidents where a fake thing gets major attention for a few days until it's debunked, but the much larger issue will be the inverse.
> So what we are missing now is a 500GB framework that can write the config file for the programming language that is writing a config file for the actual program I wish to use.
That exists since 1960. It's called LISP. The e.g. https://guix.gnu.org/ uses with great success, the Guile Scheme dialect of LISP, to be precise. And FYI the "framework" is:
$ ls --human-readable --size $(readlink $(which guile))
16K /gnu/store/1gd9nsy4cps8fnrd1avkc9l01l7ywiai-guile-3.0.9/bin/guile
Guix/Nix can use dynamic linking without risk since they know the exact dependency closure. It's not fair to compare a statically linked executable to a dynamic one.
Thanks for the snippet. Now I have a recipe how to calculate the size of a binary file, plus the shared objects, i.e. the so-file(s), it requires directly.
Now I just need to extend your snippet so that it works recursively. A shared object can require other shared objects.