viewInstrCmd gen finalByLet (cmd, no) = Tree.Node $ (cmd
<> "\nminReads="<>showsPrec 11 (minReads ga) ""
<> "\nmayRaise="<>show (Map.keys (mayRaise ga))
+ <> "\nalwaysRaise="<>show (Set.toList (alwaysRaise ga))
<> "\nfreeRegs="<>show (hideableName @sN (Set.toList (freeRegs ga)))
, no)
where
{ unViewMachine = \lm next ->
viewInstrCmd @sN (Right gen) lm ("catch "<>show exn, "")
[ viewInstrArg "catchScope" (unViewMachine ok lm [])
- , viewInstrArg "onException" (unViewMachine ko lm [])
+ , viewInstrArg ("onException "<>show exn) (unViewMachine ko lm [])
] : next
, viewGen = gen
} where gen = catch exn (viewGen ok) (viewGen ko)
instance
HideableName sN =>
InstrInputable (ViewMachine sN) where
- pushInput k = ViewMachine
+ saveInput k = ViewMachine
{ unViewMachine = \lm next ->
- viewInstrCmd @sN (Right gen) lm ("pushInput", "") [] :
+ viewInstrCmd @sN (Right gen) lm ("saveInput", "") [] :
unViewMachine k lm next
, viewGen = gen
- } where gen = pushInput (viewGen k)
+ } where gen = saveInput (viewGen k)
loadInput k = ViewMachine
{ unViewMachine = \lm next ->
viewInstrCmd @sN (Right gen) lm ("loadInput", "") [] :