UniTO/tesi/traces/example3.lambda

19 lines
599 B
Text
Raw Permalink Normal View History

2020-06-30 19:31:56 +02:00
(setglobal Example3!
(let
(a/85 =
(function t/86
(switch* t/86
case int 0: (observe 3)
case tag 0:
(let (*match*/90 =a (field 0 t/86))
(catch
(if (!= *match*/90 1)
(if (!= *match*/90 2) (exit 1) (apply (observe 1) 2))
(apply (observe 1) 1))
with (1) (apply (observe 1) 0a)))
case tag 1:
(let (*match*/91 =a (field 0 t/86))
(if (!= *match*/91 0) (apply (observe 2) 1a)
(apply (observe 2) 0a))))))
(makeblock 0 a/85)))