Search found 68 matches
- Mon Apr 24, 2017 8:00 am
- Forum: Co_
- Topic: Co_Routines Support for Oberon
- Replies: 90
- Views: 638626
Re: Co_Routines Support for Oberon
There was no limitation of Transfer to main only. Nested coroutines allways were supported by Co_. Naturally, directed coroutine must return to the caller. The caller can be main or other coroutine. The same FILO discipline, as subroutine call and return.
- Sun Apr 23, 2017 1:44 pm
- Forum: Co_
- Topic: Co_Routines Support for Oberon
- Replies: 90
- Views: 638626
Re: Co_Routines Support for Oberon
We are talking about
main Transfers to b
b Transfers to a
a.v := 10
a Yields to b
INC(b.v, 10)
b Yields to main.
It means that Co_ supports nested iterators.
Any other example?
In the example above:nested iterators, for example ... B has to transfer control to A, not to main
main Transfers to b
b Transfers to a
a.v := 10
a Yields to b
INC(b.v, 10)
b Yields to main.
It means that Co_ supports nested iterators.
Any other example?
- Fri Apr 21, 2017 3:05 pm
- Forum: Co_
- Topic: Co_Routines Support for Oberon
- Replies: 90
- Views: 638626
Re: Co_Routines Support for Oberon
Co_ObxMJackson old example contains pipes (PipeInit, More) with nested coroutines. Main calls pipe, pipe calls buffer, buffer returns to pipe.
Any other perfectly meaningful application (that cannot be implemented with Co_), maybe?
Any other perfectly meaningful application (that cannot be implemented with Co_), maybe?
- Fri Apr 21, 2017 2:58 pm
- Forum: Co_
- Topic: Co_Routines Support for Oberon
- Replies: 90
- Views: 638626
Re: Co_Routines Support for Oberon
It is easy to construct perfectly meaningful applications that cannot be implemented with Co_. Can you, please, show any example? What about nested iterators, for example. If an iterator A is implemented as a coroutine and that coroutine uses another iterator B that is also implemented as a corouti...
- Thu Apr 20, 2017 4:42 pm
- Forum: Co_
- Topic: Co_Routines Support for Oberon
- Replies: 90
- Views: 638626
Re: Co_Routines Support for Oberon
Co_Api Module is deprecated, not imported by Co_Routines. Co_ for new Kernel uses Kernel.* interface. Co_ for old Kernel uses WinApi.CreateThreadToFiber calls. Co_Api was used, because I tried to choose between WinApi.CreateThreadToFiber and Co_Api.CreateThreadToFiberEx 2 years ago. I've chosen WinA...
- Wed Apr 19, 2017 5:00 pm
- Forum: Co_
- Topic: Co_Routines Support for Oberon
- Replies: 90
- Views: 638626
Re: Co_Routines Support for Oberon
Can you, please, show any example?Josef Templ wrote: It is easy to construct perfectly meaningful applications that cannot be implemented with Co_.
- Wed Apr 19, 2017 4:59 pm
- Forum: Co_
- Topic: Co_Routines Support for Oberon
- Replies: 90
- Views: 638626
Re: Co_Routines Support for Oberon
Here is new Co_ version, updated for the latest build http://blackboxframework.org/unstable/issue-%23156/blackbox-1.7.1-a1.849.zip . It introduces Blackbox-style interface. The simplest example Co_ObxSimple is as following IMPORT Co := Co_Routines, Log; TYPE Generator = POINTER TO GeneratorDesc; Gen...
- Fri Apr 14, 2017 8:37 am
- Forum: Co_
- Topic: Co_Routines Support for Oberon
- Replies: 90
- Views: 638626
Re: Co_Routines Support for Oberon
What is the different between Oberon-0 style and BlackBox style inside subsystem Co_? Co_ uses Oberon-0 style PROCEDURE Do (t: Ct.Task); VAR trav: Traverse; BEGIN trav := t(Traverse); NextTreeLeaves(trav, trav.tree); Co.Stop END Do; r1.Start(r1); r2.Start(r2); WHILE ~r1.eor & ~r2.eor & same...
- Fri Apr 14, 2017 6:52 am
- Forum: Co_
- Topic: Co_Routines Support for Oberon
- Replies: 90
- Views: 638626
Re: Co_Routines Support for Oberon
(and needs) very many specialised options Co_ has also cooperative multitasking functionality and semaphores support. The Co_Obx multitasking examples cannot be implemented in new Coroutines package: Co_ObxPhilosophers - Dining Philosophers Co_ObxProducerConsumer - Producer Consumer probler Co_ObxR...
- Fri Apr 14, 2017 6:36 am
- Forum: Co_
- Topic: Co_Routines Support for Oberon
- Replies: 90
- Views: 638626
Re: Co_Routines Support for Oberon
The Co package is 2 MByte (compressed) The extra size of Co_ and difference between StdCoded and PacCoded versions has the simple explanation. The Co_/Docu/Tasks.odc contains ONE image in bitmap format (task, coroutine, engine, process & thread connections from C.Szyperski "Insight-EthOS&q...