<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://eiffelroom.com" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>eiffelroom - Tutorial - Comments</title>
 <link>http://eiffelroom.com/taxonomy/term/3</link>
 <description>Comments for &quot;Tutorial&quot;</description>
 <language>en</language>
<item>
 <title>It won&#039;t be collected until</title>
 <link>http://eiffelroom.com/article/protecting_objects#comment-461</link>
 <description>&lt;p&gt;It won&#039;t be collected until eif_wean() is called.&lt;/p&gt;

</description>
 <pubDate>Wed, 11 Jun 2008 20:19:54 -0700</pubDate>
 <dc:creator>ted_eiffel</dc:creator>
 <guid isPermaLink="false">comment 461 at http://eiffelroom.com</guid>
</item>
<item>
 <title>When you eif_protect()</title>
 <link>http://eiffelroom.com/article/protecting_objects#comment-460</link>
 <description>&lt;p&gt;When you eif_protect() something in C, is this considered a reachable reference to the GC? i.e. if the Eiffel side of code loses reachability to an object that was passed to C and eif_protect&#039;ed, will it ever be collected?&lt;/p&gt;

</description>
 <pubDate>Wed, 11 Jun 2008 13:52:26 -0700</pubDate>
 <dc:creator>clemahieu</dc:creator>
 <guid isPermaLink="false">comment 460 at http://eiffelroom.com</guid>
</item>
<item>
 <title>Prefixes for assemblies</title>
 <link>http://eiffelroom.com/article/getting_started_with_db4o_for_eiffel#comment-437</link>
 <description>&lt;p&gt;Thank you for your hint. I did not know about assembly-wide prefixes. I think it&#039;s a good alternative to resolve name clashes.&lt;/p&gt;

</description>
 <pubDate>Mon, 07 Apr 2008 01:32:07 -0700</pubDate>
 <dc:creator>ruihua</dc:creator>
 <guid isPermaLink="false">comment 437 at http://eiffelroom.com</guid>
</item>
<item>
 <title>Looks Great</title>
 <link>http://eiffelroom.com/article/getting_started_with_db4o_for_eiffel#comment-436</link>
 <description>&lt;p&gt;One question, Ruihua. At step 7, instead of renaming individual classes, why didn&#039;t you just set assembly-wide prefixes &lt;code class=&quot;geshifilter eiffel&quot;&gt;DB4O_&lt;/code&gt; and &lt;code class=&quot;geshifilter eiffel&quot;&gt;REFLECTOR_&lt;/code&gt;?&lt;/p&gt;

</description>
 <pubDate>Fri, 04 Apr 2008 14:58:58 -0700</pubDate>
 <dc:creator>peter_gummer</dc:creator>
 <guid isPermaLink="false">comment 436 at http://eiffelroom.com</guid>
</item>
<item>
 <title>Will update tutorial</title>
 <link>http://eiffelroom.com/article/creating_a_web_application_with_goanna#comment-374</link>
 <description>&lt;p&gt;Thanks Neal,&lt;/p&gt;

&lt;p&gt;I will integrate this info in the tutorial on Goanna&#039;s Origo page too.&lt;/p&gt;

</description>
 <pubDate>Sun, 04 Nov 2007 09:26:40 -0800</pubDate>
 <dc:creator>bayt</dc:creator>
 <guid isPermaLink="false">comment 374 at http://eiffelroom.com</guid>
</item>
<item>
 <title>Great Tutorial</title>
 <link>http://eiffelroom.com/article/creating_a_web_application_with_goanna#comment-373</link>
 <description>&lt;p&gt;Thank you for doing this, Till. One thing I&#039;d like to add is that the parameter collections are for validating the semantics of a submitted form, not for validating user input.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mandatory Parameter Collection&lt;/strong&gt; - These are mandatory at the form processing level, not required fields in the form the user sees.  Typically, these are a html hidden elements used to verify that some system state is the same at form processing time as it was at form generation time.  For example, it might contain the user name of a logged in user to prevent them from submitting a form, logging out, logging in as a new user, and then using the back button to resubmit the previously generated form for the previous user.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Required Parameter Collection&lt;/strong&gt; - These are html elements which must be present in the form for correct processing to occur or whose absence indicates a serious bug in the form generation routine or an attack on the web site. This doesn&#039;t necessarily mean that the user must provide a value for the element. &amp;quot;address_line_2&amp;quot; on a registration page might be an example of a required parameter for which no user input would be required.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Optional Parameter Collection&lt;/strong&gt; - These are elements whose absence from a submitted form is expected sometimes. No processing for this parameter will occur if they are not present in the form.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Add If Absent Parameter Collection&lt;/strong&gt; - These are elements whose absence from a form has meaning.  html checkbox elements provide a typical example. If they are not present in the form submittal, a PARAMETER_PROCESSING_RESULT for them is added so that the appropriate processing for their unchecked state will occur.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Validating User Input&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Each GOA_REQUEST_PARAMETER is responsible for validating the input it receives from the user.  Since receiving invalid input is expected, this does not interrupt request processing. Typically, invalid user input produces&lt;/p&gt;

&lt;p&gt;&amp;quot;not PARAMETER_PROCESSING_RESULT.is_value_valid&amp;quot;&lt;/p&gt;

&lt;p&gt;which in turn triggers the redisplay of the form with an error message.  Several GOA_REQUEST_PARAMETER descendents implement this behavior for common data types.&lt;/p&gt;

</description>
 <pubDate>Sun, 04 Nov 2007 09:19:52 -0800</pubDate>
 <dc:creator>neallester</dc:creator>
 <guid isPermaLink="false">comment 373 at http://eiffelroom.com</guid>
</item>
<item>
 <title>Church numerals</title>
 <link>http://eiffelroom.com/article/fun_with_generics#comment-277</link>
 <description>&lt;p&gt;Couldn&#039;t you make it more complicated by using Church numerals? Colin Adams&lt;/p&gt;

</description>
 <pubDate>Tue, 05 Jun 2007 07:28:54 -0700</pubDate>
 <dc:creator>colin-adams</dc:creator>
 <guid isPermaLink="false">comment 277 at http://eiffelroom.com</guid>
</item>
<item>
 <title>Fixed ...</title>
 <link>http://eiffelroom.com/article/fun_with_generics#comment-275</link>
 <description>&lt;p&gt;You are right, &lt;tt&gt;SET[G]&lt;/tt&gt; would not type check. Was a typo. I have fixed it in the article.&lt;/p&gt;

</description>
 <pubDate>Tue, 05 Jun 2007 00:16:23 -0700</pubDate>
 <dc:creator>schoelle</dc:creator>
 <guid isPermaLink="false">comment 275 at http://eiffelroom.com</guid>
</item>
<item>
 <title>Signature of i_th_power</title>
 <link>http://eiffelroom.com/article/fun_with_generics#comment-272</link>
 <description>&lt;p&gt;I think that the signature of &lt;code class=&quot;geshifilter eiffel&quot;&gt;i_th_power&lt;/code&gt; has to be:&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;geshifilter eiffel&quot;&gt;i_th_power &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;i: &lt;a href=&quot;http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fdocs.eiffel.com%2Feiffelstudio%2Flibraries+INTEGER&amp;btnI=I%27m+Feeling+Lucky&quot;&gt;&lt;span style=&quot;color: #800000&quot;&gt;INTEGER&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;: &lt;a href=&quot;http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fdocs.eiffel.com%2Feiffelstudio%2Flibraries+SET&amp;btnI=I%27m+Feeling+Lucky&quot;&gt;&lt;span style=&quot;color: #800000&quot;&gt;SET&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;a href=&quot;http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fdocs.eiffel.com%2Feiffelstudio%2Flibraries+ANY&amp;btnI=I%27m+Feeling+Lucky&quot;&gt;&lt;span style=&quot;color: #800000&quot;&gt;ANY&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;I like &lt;code class=&quot;geshifilter eiffel&quot;&gt;NAT&lt;/code&gt;, that helps me on my endless quest to write a program that counts from 1 to 5 in the most complicated way:&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;geshifilter eiffel&quot;&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;nat_to_integer &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;create&lt;/span&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#123;&lt;/span&gt;NAT &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#91;&lt;/span&gt;NAT &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;a href=&quot;http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fdocs.eiffel.com%2Feiffelstudio%2Flibraries+BOOLEAN&amp;btnI=I%27m+Feeling+Lucky&quot;&gt;&lt;span style=&quot;color: #800000&quot;&gt;BOOLEAN&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt; |..| nat_to_integer &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;create&lt;/span&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#123;&lt;/span&gt;NAT &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#91;&lt;/span&gt;NAT &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#91;&lt;/span&gt;NAT &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#91;&lt;/span&gt;NAT &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#91;&lt;/span&gt;NAT &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#91;&lt;/span&gt;NAT &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;a href=&quot;http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fdocs.eiffel.com%2Feiffelstudio%2Flibraries+BOOLEAN&amp;btnI=I%27m+Feeling+Lucky&quot;&gt;&lt;span style=&quot;color: #800000&quot;&gt;BOOLEAN&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #000060;&quot;&gt;do_all&lt;/span&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;agent&lt;/span&gt; &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;a_int: &lt;a href=&quot;http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fdocs.eiffel.com%2Feiffelstudio%2Flibraries+INTEGER&amp;btnI=I%27m+Feeling+Lucky&quot;&gt;&lt;span style=&quot;color: #800000&quot;&gt;INTEGER&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;do&lt;/span&gt; print &lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#40;&lt;/span&gt;a_int.&lt;span style=&quot;color: #000060;&quot;&gt;out&lt;/span&gt; + &lt;span style=&quot;color: #0080A0;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #005070; font-weight: bold;&quot;&gt;%N&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;end&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;(:&lt;/p&gt;

</description>
 <pubDate>Mon, 04 Jun 2007 12:10:58 -0700</pubDate>
 <dc:creator>doenniu</dc:creator>
 <guid isPermaLink="false">comment 272 at http://eiffelroom.com</guid>
</item>
</channel>
</rss>
