Search found 68 matches

by Dmitry Dagaev
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.
by Dmitry Dagaev
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
nested iterators, for example ... B has to transfer control to A, not to main
In the example above:
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?
by Dmitry Dagaev
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?
by Dmitry Dagaev
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...
by Dmitry Dagaev
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...
by Dmitry Dagaev
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

Josef Templ wrote: It is easy to construct perfectly meaningful applications that cannot be implemented with Co_.
Can you, please, show any example?
by Dmitry Dagaev
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...
by Dmitry Dagaev
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...
by Dmitry Dagaev
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...
by Dmitry Dagaev
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...