Files
wren/test/closure/assign_to_closure.wren
T
Bob Nystrom 157944aa27 Get closures working!
In the process, I had to change the grammar. There is now a strong
separation between statements and expressions. The code was just wrong
before when it popped locals at the end of a block scope because there
could be temporaries on the stack if the block was in expression
position. This fixes that.

Still need to implement closing over `this`.
2013-12-04 07:43:50 -08:00

26 lines
298 B
Plaintext

var f = null
var g = null
{
var local = "local"
f = fn {
io.write(local)
local = "after f"
io.write(local)
}
g = fn {
io.write(local)
local = "after g"
io.write(local)
}
}
f.call
// expect: local
// expect: after f
g.call
// expect: after f
// expect: after g