@@ -483,6 +483,14 @@ write : (lbl : Var) ->
483 STrans m () ctxt (const (updateCtxt ctxt prf (State ty')))
483 STrans m () ctxt (const (updateCtxt ctxt prf (State ty')))
484write lbl {prf} val = Write lbl prf (Value val)
484write lbl {prf} val = Write lbl prf (Value val)
487+update : (lbl : Var) ->
488+ {auto prf : InState lbl (State ty) ctxt} ->
490+ STrans m () ctxt (const (updateCtxt ctxt prf (State ty')))
491+update lbl f = do x <- read lbl
486namespace Loop
494namespace Loop
488 (>>=) : STrans m a st1 st2_fn ->
496 (>>=) : STrans m a st1 st2_fn ->