--- lam.test -- testing helpers local test = {} local eval = require("eval").eval local read = require("read").read function test.lambda () local ls = { [ [[((lambda (x) (+ x x)) 3)]] ] = 6, [ [[((lambda () 100))]] ] = 100, [ [[((lambda (x) 1 2 3) 4)]] ] = 3, [ [[((lambda () 1 2 3))]] ] = 3, [ [[((lambda (x) x (+ x x) (+ x x x)) 9)]] ] = 27, } for l, target in pairs(ls) do io.write(string.format("%s == %s\n\t", l, target)) local value = eval(read(l)) if value == target then print "ok" else print(string.format("not ok : %s", value)) end end end --- return test