cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Reinhard Poetz <reinh...@apache.org>
Subject Re: Blocks, Flow and Dependencies [was RE: Splitting xconf files step 2: the sitemap]
Date Mon, 10 Jan 2005 13:30:23 GMT
Daniel Fagerstrom wrote:
> Reinhard Poetz wrote:
> 
>> Daniel Fagerstrom wrote:
> 
> 
> <snip/>
> 
>>> A question here is what flowscript functions that should be exported 
>>> from a block. I would prefer to explictly enumerate the functions and 
>>> possibly whole scripts that are exported rather than exporting 
>>> everything in the map:flow sections.
>>
>>
>>
>> Maybe we can work with an attribute in the script declaration:
>>
>> <map:script src="public-flowscript.js" public="true"/>
>>
>> (Don't know if this is technically possible because this requires that 
>> when we call a function from we must know where it is defined).
> 
> 
> Or maybe more explicit:
> 
> <map:script src="public-flowscript.js" public="fun1 fun2 fun3"/>

ok

> 
> Then it is explicit what is exported and it is also easy for the 
> framework to find the functions that should be usable from outside.

<snip/>

> Maybe I'm missing something, but a function call always implictly 
> creates a continuation. The function call can be seen as: create a 
> continuation, save it as a special place in the execution stack, goto 
> the first instruction in called function, execute the instructions in 
> the function. Then the return means: fetch the saved continuation in the 
> execution stack and call it.
> 
> The explicitly created continuations, gives you a way to "return" to 
> positions in the program execution other than the position after a 
> function call.
> 
> So I'm not getting why we should need to create the continuation1 and 
> resuming it for simulating function call semantics. This is what the 
> function call does by it self. Or are there other mechanisms involved 
> that I'm missing?

hmmm. sounds reasonable

> A somewhat unrelated thing that we have to think about is the web 
> continuations created in the block, do we need to shield the web 
> continuations created in the block or not?

shielded from what? The user should be able to resume a continuation created by 
a called block. (I have the sense that I haven't understood your last paragraph 
completly ...)


-- 
Reinhard

Mime
View raw message