lean4-htt/tests/lean/run/task_test2.lean

16 lines
446 B
Text

new_frontend
def run1 (i : Nat) (n : Nat) (xs : List Nat) : Nat :=
n.repeat (fun r =>
dbgTrace (">> [" ++ toString i ++ "] " ++ toString r) $ fun _ =>
xs.foldl (fun a b => a + b) r)
0
def tst (n : Nat) : IO UInt32 :=
let ys := (List.replicate n 1);
let ts : List (Task Nat) := (List.iota 10).map (fun i => Task.spawn fun _ => run1 (i+1) n ys);
let ns : List Nat := ts.map Task.get;
IO.println (">> " ++ toString ns) *>
pure 0
#eval tst 10