In Mathematica/Wolfram Languege, the part 0 of an expression is reserved for the head of the expression: f[x, y, z][[0]] == f. Or g[f][x, y][[0, 1]] == f.
There is a difference between online education because there is no other way as there is a pandemic (are the students and the institution ready to switch to online, are the courses even designed to be imparted online, etc.), and online education because it's a choice.
I'm not sure why comments mention CA. His physics theory and the multicomputation stuff does not make use of CA's (at least no more than any other abstract machine).
Some say they don't like it because it it's implicit control flow, i.e. I don't like that my code is being put into the end of the function without it being in the end of the function. I mean OK, but that's what for loops so right? The i++ is put at the end of the "while" loop, together with the exit condition.
I think the more important problems are: 1) why be function scoped and not block scoped? 2)why should it be so tied up with lambdas?
1) I don't se why they chose function over scoped so please enlighten me
2) the proposal said there were debates whether defer free(ptr) refers to the ptr where the defer first appears, or to the current ptr that appears when the defer block is being executed. As someone mentioned, gotos already work in the latter way. Same goes with i++ in a for loop, I could do whatever I wanted with the i inside the for, and the i++ or the exit condition would use the latest value of i, not the value at the start of the block.