Replace all occurrences of the old `fn` function literal syntax with the new `new Fn {|params| body}` block syntax across benchmark, test, and source files. Update the Wren compiler to handle the pipe operator as a block argument delimiter by removing `TOKEN_PIPE` from the newline-swallowing token list and adding explicit newline matching in `infixOp`. Adjust test expectations in `conditional/precedence.wren` to remove `fn`-based expressions and update `test/assignment/local.wren` to use the new syntax.
14 lines
169 B
Plaintext
14 lines
169 B
Plaintext
var list = []
|
|
|
|
var i = 1
|
|
while (i < 4) {
|
|
var j = i + 1
|
|
list.add(new Fn { IO.print(j) })
|
|
i = i + 1
|
|
}
|
|
|
|
for (f in list) f.call
|
|
// expect: 2
|
|
// expect: 3
|
|
// expect: 4
|