2011/7/1 Janko Miv��ek <janko.mivsek@eranova.si>
S, Julian Fitzell pi��e:
> 2011/6/30 Janko Miv��ek <janko.mivsek@eranova.si
>
> �� �� Whole point is that this is a non-blocking code, in contrast to
> �� �� continuation based approach like in Seaside, where similar code would
> �� �� block and wait until dialog component returns answer.
>
> Janko, what are you talking about? If it's not blocking, it's just a
> callback. Of course Seaside can do the same thing: you just use
> #show:onAnswer:.

Isn't the whole point of Seaside and continuations to enable worklow
like in below example from the HPI Seaside tutorial?

No. That's the point of one particular feature of Seaside.
��
This code is
blocking until the call: returns, isn't that so?

Yes, you are correct.
��
>From HPI tutorial [1], chapter 5-Forms, figure 5-2 :

�� �� �� ��(self call: self taskEditor)
�� �� �� �� ��ifTrue: [aTask copyFrom: self taskEditor task]

Text bellow: "Even better, Seaside remembers the position in your code
and runs it from there again, after the called component finished. This
means, #call: blocks your current component, that is your callback
evaluation, waits for the called component to be finished, and
afterwards goes on with your callback. "

Of course. #call: both creates a continuation and interrupts the action phase of request handling (beginning response generation immediately). What I said was if you don't want to "block", you can use #show:onAnswer: instead. That method will delegate to the desired component and specify a block of code to call whenever that component answers. Then it will return and your code will keep running.

Julian