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.
11 lines
180 B
Plaintext
11 lines
180 B
Plaintext
new Fn {
|
|
var a = "before"
|
|
IO.print(a) // expect: before
|
|
|
|
a = "after"
|
|
IO.print(a) // expect: after
|
|
|
|
IO.print(a = "arg") // expect: arg
|
|
IO.print(a) // expect: arg
|
|
}.call
|