lean2/tests/lua/tc4.lua
Leonardo de Moura 4d1fecb21d refactor(library/kernel_bindings): rename empty_environment ==> bare_environment in the Lua API
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-05-21 11:24:24 -07:00

17 lines
602 B
Lua

local env = bare_environment()
env = add_decl(env, mk_var_decl("or", mk_arrow(Bool, Bool, Bool)))
env = add_decl(env, mk_var_decl("A", Bool))
local Or = Const("or")
local A = Const("A")
local B = Const("B")
local tc = type_checker(env)
local F = Or(A, B)
assert(tc:infer(F) == Bool)
assert(not pcall(function()
-- The following test must fail since B is not
-- declared in env.
-- This test make sure that infer and check are
-- not sharing the same cache.
print(tc:check(F))
end
))