Nix mostly does not guarantee deterministic output. It rather guarantees deterministic inputs, and then sandboxes the system to inhibit the build from accessing the outside world.
Deterministic inputs do not always imply deterministic outputs.
At work once someone dockerized a service that needed read access to NFS. The default for a docker image is to run as root, which would mean it was effectively "nobody" when reading over NFS.
For the typical case of world-readable files this was fine. Occasionally someone would feed it a file that was not group-readable but not world-readable and it would error (when it would have worked before).
I suggested printing the error message: "nobody can't read this file" but we solved it in a different way.
Kind of a non-issue when we won't let them stay. I know several Chinese nationals who: received STEM degrees in the US, really wanted to stay, but struggled to get a visa and ended up back in China.
It's an open letter from the pope. An encyclical will often clarify Church doctrine on a topic, or set of topics. See e.g. Humanae Vitae[1] for an example of one that has resulted in, essentially, a lay rebellion — at the time it was issued many clergy, including Bishops opposed it, but the Church itself has gradually become far more conservative (perhaps as a reaction to Vatican II) in the intervening years.
The use of cl:eval alone is enough to make me believe that the CL column was never reviewed by an experienced CL programmer. I am now more suspicious of the other columns, which are languages I'm far less familiar with.
> I am now more suspicious of the other columns, which are languages I'm far less familiar with.
It's not bad but for Clojure for example it says "nil is like null in Java" but null in Java is not falsy.
And it also says that destructuring is "named parameters" but it's not so: it's just destructuring (and there are two examples of destructuring given: one for the "named parameters" which aren't named parameters, and one for "parallel assignment" of local variables).
Nothing bad but it's not possible to go into much details in such a table.
I didn't try macroexpanding it yet, but when I make the 9 a runtime-parameter, I eventually get a stack-overflow with SBCL not TCO-ing the "H" binding in labels.
The comments make me think this is ported from scheme, which has precise TCO rules.
reply