the difference is that without a function call, the closures share the same variable, and it's updated by the loop
it's still odd to me, because you'd think when it's using the for loop the closures take the current value of 'i' - at the point where theyr'e defined
when you call a function you create a stack frame with a separate version of the variable
yeah, many people are caught out by that
a simpler version: setTimeout (-> alert x), 100; x = 123
vs. makeTimer = (x) -> setTimeout (-> alert x), 100
[coffeescript] GeoffreyBooth pushed 1 new commit to master: https://git.io/v9TG9
coffeescript/master ac1b2b5 Julian Rosse: Iss4248 unicode code point escapes (cleanup) (#4522)...