lean4-htt/tests/lean/binop_lazy.lean
2023-07-01 06:05:25 -07:00

26 lines
560 B
Text

def f : IO Unit :=
(do IO.println "case 1"; throw (IO.userError "failed"))
<|>
(do IO.println "case 2"; throw (IO.userError "failed"))
<|>
(do IO.println "case 3")
<|>
(let x := dbg_trace "hello"; 1
IO.println x)
#eval f -- should not print hello
instance : Coe (Id Unit) (Id (Array Unit)) where
coe x := Array.singleton <$> x
instance : HAndThen (Id Unit) (Id Unit) (Id Unit) where
hAndThen p1 p2 := p1 *> (p2 ())
def nop : Id Unit :=
pure ()
def group (_ : Id (Array Unit)) : Id Unit :=
pure ()
def bug :=
group (nop >> nop)