samples: add Terra samples

source: https://github.com/zdevito/terra/tree/master/tests
This commit is contained in:
Bayu Aldi Yansyah
2016-01-28 11:22:27 +07:00
parent e32a837fb2
commit 9b8b39f444
370 changed files with 11921 additions and 0 deletions

25
samples/Terra/quoteenv.t Normal file
View File

@@ -0,0 +1,25 @@
--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)