def step

bend-collections@1.0.0.0 · src/containers/bitlist.bend:300

import bend-collections@1.0.0.0/src/containers/bitlist.bend as Bitlist
import Base
import bend-collections@1.0.0.0/src/containers/types/bitlist.bend as E

300def step(s: Bitlist, op: E.Op) -> Bitlist & E.Obs:
301  match op:
302    case E.Length{}:
303      obs_nat(length(s))
304    case E.Limit{}:
305      obs_limit(limit(s))
306    case E.Get{+i}:
307      obs_bit(get(s, i))
308    case E.Assign{+i, +v}:
309      obs_unit(assign(s, i, v))
310    case E.Push{+v}:
311      obs_unit(push(s, v))
312    case E.Pop{}:
313      obs_bit(pop(s))
314    case E.Clear{}:
315      (clear(s), E.OUnit{Done{Unit{}}})
316    case E.Count{}:
317      obs_nat(count(s))
318    case E.ToList{}:
319      obs_bits(to_list(s))

Uses (21)

Used by (1)