lean4-htt/tests/lean/thunk.lean
Sebastian Ullrich 8895ed47e5 refactor: clean up Thunk
Fixes a bug in the native implementation of `Thunk.bind` by deleting it
2021-04-22 20:29:08 -07:00

20 lines
525 B
Text

#eval (Thunk.pure 1).get
#eval (Thunk.mk fun _ => 2).get
#eval
let t1 := Thunk.mk fun _ => dbg_trace 4; 5
let t2 := Thunk.mk fun _ => dbg_trace 3; 0
let v2 := t2.get
let v1 := t1.get
v1 + v2
#eval
let t1 := Thunk.pure 8 |>.map fun n => dbg_trace 7; n
let t2 := Thunk.mk fun _ => dbg_trace 6; 0
let v2 := t2.get
let v1 := t1.get
v1 + v2
#eval
let t1 := Thunk.pure 11 |>.bind fun n => dbg_trace 10; Thunk.pure n
let t2 := Thunk.mk fun _ => dbg_trace 9; 0
let v2 := t2.get
let v1 := t1.get
v1 + v2