I think you misunderstand what I'm trying to say. The point is not that x should be out of scope (why would it be?)
The original assertion by curveship was that the outer context is not kept alive for the function, and that f() only gets access to the variables it explicitly imports from the outer context. And I thought this might be wrong, so I cooked up the example.
Again, this is not about scope. This is about the fact that the function itself keeps a reference to the entire context it was created in, as opposed to just the things it explicitly imports.
In this, it appears, Javascript works exactly as Ruby, which again makes the entire outer context available through the binding facility.
I'm sorry if that wasn't clear from my description.
Living paycheck to paycheck is not the converse of saving.
When I save money, I invest it in productive enterprise. Thus, I have less in my checking account. You could even consider (gasp) that I'm living pay check to pay check!
All those features are hogshit, completely irrelevant, and extremely complicated and difficult to achieve. I have never once watched a movie and said "I didn't like that movie. Let me watch it again with taller actors and more rounded furniture."
Software freedom is the ability to do whatever you want with the code, for example, compiling it. I'm not saying there's any sort of license violation here, but it's not in the spirit of software freedom to "not supposed to install software [from source]"
Granted, but the freedom to ruin one's system is not a freedom I would promote.
Installing software from source is a good thing, you just need to go through the intermediate process of creating a package for your distribution first.