Building a Coroutine-Based Job System Without Standard Library
frame->sum_a_b.await_suspend(handle_t::from_promise(frame->promise)); goto __symmetric_transfer; } __sp2: frame->ab = frame->sum_a_b.await_resume(); frame->sum_a_b.~(); frame->sum_c_d = sum(frame->params frame->sum_a_b.await_suspend(handle_t::from_promise(frame->promise)); goto __symmetric_transfer; } __sp2: frame->ab = frame->sum_a_b.await_resume(); frame->sum_a_b.~(); frame->sum_c_d = sum(frame->params frame->sum_a_b.await_suspend(handle_t::from_promise(frame->promise)); goto __symmetric_transfer; } __sp2: frame->ab = frame->sum_a_b.await_resume(); frame->sum_a_b.~(); frame->sum_c_d = sum(frame->params0 码力 | 120 页 | 2.20 MB | 5 月前3Agda User Manual v2.5.2
of stream processors. __ : {A B C} → SP B C → SP A B → SP A C get f1 put x sp2 = f1 x sp2 put x sp1 sp2 = put x ( ( sp1 sp2)) sp1 get f2 = get (? x → sp1 f2 x) It is also possible to define “coinductive0 码力 | 107 页 | 510.49 KB | 1 年前3Agda User Manual v2.5.3
of stream processors. __ : {A B C} → SP B C → SP A B → SP A C get f1 put x sp2 = f1 x sp2 put x sp1 sp2 = put x ( ( sp1 sp2)) sp1 get f2 = get (? x → sp1 f2 x) It is also possible to define “coinductive0 码力 | 135 页 | 600.40 KB | 1 年前3Agda User Manual v2.5.4
of stream processors. __ : {A B C} → SP B C → SP A B → SP A C get f1 put x sp2 = f1 x sp2 put x sp1 sp2 = put x ( ( sp1 sp2)) sp1 get f2 = get (? x → sp1 f2 x) It is also possible to define “coinductive0 码力 | 155 页 | 668.67 KB | 1 年前3Agda User Manual v2.5.4.1
of stream processors. __ : {A B C} → SP B C → SP A B → SP A C get f1 put x sp2 = f1 x sp2 put x sp1 sp2 = put x ( ( sp1 sp2)) sp1 get f2 = get (? x → sp1 f2 x) It is also possible to define “coinductive0 码力 | 155 页 | 668.90 KB | 1 年前3Agda User Manual v2.5.4.2
of stream processors. __ : {A B C} → SP B C → SP A B → SP A C get f1 put x sp2 = f1 x sp2 put x sp1 sp2 = put x ( ( sp1 sp2)) sp1 get f2 = get (? x → sp1 f2 x) It is also possible to define “coinductive0 码力 | 155 页 | 668.75 KB | 1 年前3Agda User Manual v2.6.0
processors. _∘_ : ∀ {A B C} → SP B C → SP A B → SP A C get f1 ∘ put x sp2 = f1 x ∘ ♭ sp2 put x sp1 ∘ sp2 = put x (♯ (♭ sp1 ∘ sp2)) sp1 ∘ get f2 = get (? x → sp1 ∘ f2 x) It is also possible to define0 码力 | 191 页 | 857.07 KB | 1 年前3Agda User Manual v2.6.0.1
processors. _∘_ : ∀ {A B C} → SP B C → SP A B → SP A C get f1 ∘ put x sp2 = f1 x ∘ ♭ sp2 put x sp1 ∘ sp2 = put x (♯ (♭ sp1 ∘ sp2)) sp1 ∘ get f2 = get (? x → sp1 ∘ f2 x) It is also possible to define0 码力 | 191 页 | 857.57 KB | 1 年前3Agda User Manual v2.6.1.2
processors. _∘_ : ∀ {A B C} → SP B C → SP A B → SP A C get f1 ∘ put x sp2 = f1 x ∘ ♭ sp2 put x sp1 ∘ sp2 = put x (♯ (♭ sp1 ∘ sp2)) sp1 ∘ get f2 = get (? x → sp1 ∘ f2 x) It is also possible to define0 码力 | 227 页 | 1.04 MB | 1 年前3Agda User Manual v2.6.1
processors. _∘_ : ∀ {A B C} → SP B C → SP A B → SP A C get f1 ∘ put x sp2 = f1 x ∘ ♭ sp2 put x sp1 ∘ sp2 = put x (♯ (♭ sp1 ∘ sp2)) sp1 ∘ get f2 = get (? x → sp1 ∘ f2 x) It is also possible to define0 码力 | 227 页 | 1.04 MB | 1 年前3
共 287 条
- 1
- 2
- 3
- 4
- 5
- 6
- 29