def digits.go

bend-kit-time@0.3.0.0 · time.bend:390

import bend-kit-time@0.3.0.0/time.bend as Time
import Base

390def digits.go(n: Nat, s: String, +acc: U32, ok: Bool) -> Maybe<&1, U32 & String>:
391  match n:
392    case 0n:
393      match ok:
394        case True{}:
395          Some{(acc, s)}
396        case False{}:
397          None{}
398    case 1n+k:
399      match s:
400        case SNil{}:
401          None{}
402        case SCon{Chr{+c}, t}:
403          digits.go(k, t, (acc * 10 + c - 48 : U32), Bool.and(ok, is_digit(c)))

Uses (13)

Used by (1)