26 lines
560 B
Text
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)
|