mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 09:40:21 +00:00
26 lines
529 B
Perl
26 lines
529 B
Perl
--quotes, unlike functions bind symbols eagerly
|
|
--function have :compile() to bind their symbols, but no similar thing exists
|
|
--for quotes, making it hard to control
|
|
--furthermore there aren't many use cases for late-binding quotes,
|
|
--but a bunch exist for needing early-bound quotes, like below:
|
|
|
|
|
|
function times5(x)
|
|
local c = `0
|
|
for i = 1,5 do
|
|
c = `c + x
|
|
end
|
|
return c
|
|
end
|
|
times5 = macro(times5)
|
|
|
|
terra foo()
|
|
var a = 3
|
|
return times5(a)
|
|
end
|
|
|
|
foo:printpretty()
|
|
foo:disas()
|
|
local test = require("test")
|
|
test.eq(foo(),15)
|