lean4-htt/tests/lean/run/eval_unboxed_const.lean
Leonardo de Moura 5ffbada3df feat: add Lean.MonadEnv, Lean.MonadError, and Lean.MonadOptions
This is the first set of polymorphic methods. I will add more later,
and keep reducing code duplication.

cc @Kha
2020-08-22 16:00:43 -07:00

20 lines
458 B
Text

import Lean
open Lean
def c1 : Bool := true
unsafe def tst1 : CoreM Unit := do
env ← getEnv;
let v := env.evalConst Bool `c1;
IO.println v
#eval tst1 -- outputs incorrect value (ok false). Reason: the unboxed value `true` is `1`, but the boxed `false` value is also `1`.
def c2 : Bool := false
unsafe def tst2 : CoreM Unit := do
env ← getEnv;
let v := env.evalConst Bool `c2;
IO.println v
#eval tst2 -- crashes since `0` is not a valid boxed value