<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: XiX: Details about XForms in XQuery</title>
	<atom:link href="http://dubinko.info/blog/2008/11/04/xix-details-about-xforms-in-xquery/feed/" rel="self" type="application/rss+xml" />
	<link>http://dubinko.info/blog/2008/11/04/xix-details-about-xforms-in-xquery/</link>
	<description>From an XML geek, a reader, a writer, a connector, a man of the people (says keep hope alive)</description>
	<lastBuildDate>Fri, 16 Jul 2010 15:31:24 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Sjoerd Visscher</title>
		<link>http://dubinko.info/blog/2008/11/04/xix-details-about-xforms-in-xquery/comment-page-1/#comment-4325</link>
		<dc:creator>Sjoerd Visscher</dc:creator>
		<pubDate>Fri, 07 Nov 2008 09:39:59 +0000</pubDate>
		<guid isPermaLink="false">http://dubinko.info/blog/?p=380#comment-4325</guid>
		<description>Search for &quot;functional reactive programming&quot;.</description>
		<content:encoded><![CDATA[<p>Search for &#8220;functional reactive programming&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dimitre Novatchev</title>
		<link>http://dubinko.info/blog/2008/11/04/xix-details-about-xforms-in-xquery/comment-page-1/#comment-4323</link>
		<dc:creator>Dimitre Novatchev</dc:creator>
		<pubDate>Tue, 04 Nov 2008 21:41:43 +0000</pubDate>
		<guid isPermaLink="false">http://dubinko.info/blog/?p=380#comment-4323</guid>
		<description>Calculated properties aren&#039;t usually stored -- and this is so not only in functional languages.

So, it would be best to store in  an id of the function that should be used to calculate the value. The function itself can use memoisation (a Saxon example is the &quot;saxon:memo-function&quot; attribute), so that there will be no penalty in evaluating it multiple times.

Even if the instance is refreshed on and on, this can still be achieved with no memory issues, for example implementing it as tail-recursive processing, where the new instance is passed as a parameter in the tail-recursive call. FP language processors usually detect and optimize tail-recursion, by freeing all resources  (temporary variables) that are not passed as part of the recursion, at the point of recursion. In this particular case, the older instance will be naturally freed.

Cheers,
Dimitre</description>
		<content:encoded><![CDATA[<p>Calculated properties aren&#8217;t usually stored &#8212; and this is so not only in functional languages.</p>
<p>So, it would be best to store in  an id of the function that should be used to calculate the value. The function itself can use memoisation (a Saxon example is the &#8220;saxon:memo-function&#8221; attribute), so that there will be no penalty in evaluating it multiple times.</p>
<p>Even if the instance is refreshed on and on, this can still be achieved with no memory issues, for example implementing it as tail-recursive processing, where the new instance is passed as a parameter in the tail-recursive call. FP language processors usually detect and optimize tail-recursion, by freeing all resources  (temporary variables) that are not passed as part of the recursion, at the point of recursion. In this particular case, the older instance will be naturally freed.</p>
<p>Cheers,<br />
Dimitre</p>
]]></content:encoded>
	</item>
</channel>
</rss>
