<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://www.eiffelroom.org" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>eiffelroom - generic - Comments</title>
 <link>http://www.eiffelroom.org/tag/generic</link>
 <description>Comments for &quot;generic&quot;</description>
 <language>en</language>
<item>
 <title>Thank you very much but</title>
 <link>http://www.eiffelroom.org/blog/maverick/experimental_graph_library#comment-418</link>
 <description>&lt;p&gt;Thank you very much but Bernd Schoeller has already sent it to me.  I&#039;ve read the thesis and I found it very interesting.  Is it possible to get access to Olivier Jeger&#039;s graph library?  I think it may be useful to continue my own work.&lt;/p&gt;

&lt;p&gt;As for where it went, I have not updated my Origo page (or my svn repository, for that matter) during this fall but the project is still alive.  For the moment, I&#039;m exploring the possibility to use refinement calculus to help me in my development.&lt;/p&gt;

&lt;p&gt;Simon Hudon&lt;/p&gt;

</description>
 <pubDate>Sat, 29 Dec 2007 00:43:19 -0800</pubDate>
 <dc:creator>maverick</dc:creator>
 <guid isPermaLink="false">comment 418 at http://www.eiffelroom.org</guid>
</item>
<item>
 <title>Look at existing library</title>
 <link>http://www.eiffelroom.org/blog/maverick/experimental_graph_library#comment-416</link>
 <description>&lt;p&gt;I am seeing this discussion just now and don&#039;t know if it went anywhere, but should point out that an ETH student project by Olivier Jeger 3 years ago produced a carefully considered design. The result should be  integrated into EiffelBase, after re-examination and possible improvements. This is in my opinion the place to restart from. See &lt;a href=&quot;http://se.inf.ethz.ch/projects/olivier_jeger/index.html&quot;&gt;http://se.inf.ethz.ch/projects/olivier_jeger/index.html&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;-- Bertrand Meyer&lt;/p&gt;

</description>
 <pubDate>Thu, 27 Dec 2007 15:56:22 -0800</pubDate>
 <dc:creator>bmeyer</dc:creator>
 <guid isPermaLink="false">comment 416 at http://www.eiffelroom.org</guid>
</item>
<item>
 <title>Church numerals</title>
 <link>http://www.eiffelroom.org/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://www.eiffelroom.org</guid>
</item>
<item>
 <title>Fixed ...</title>
 <link>http://www.eiffelroom.org/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://www.eiffelroom.org</guid>
</item>
<item>
 <title>Signature of i_th_power</title>
 <link>http://www.eiffelroom.org/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://www.eiffelroom.org</guid>
</item>
<item>
 <title>project name</title>
 <link>http://www.eiffelroom.org/blog/maverick/experimental_graph_library#comment-270</link>
 <description>&lt;p&gt;It seems important to the personality of a project to get it a good name. It raises interest, makes it half real before it has even started. I don&#039;t pretend following are good names. I just give them as suggestions to give you ideas. Probably you&#039;ll find best to take parts of one and add it to one of yours.&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt; Eiffel Formal Graphs&lt;/li&gt;
    &lt;li&gt; Math2Eiffel&lt;/li&gt;
    &lt;li&gt; Eiffel Graph Theory Port&lt;/li&gt;
    &lt;li&gt; Eiffel Graph Intelligence&lt;/li&gt;
    &lt;li&gt; Graphormalgorithms ! (Graph Formal Algorithms)&lt;/li&gt;
    &lt;li&gt; Eiffel Applied Graphs&lt;/li&gt;
&lt;/ul&gt;

</description>
 <pubDate>Mon, 04 Jun 2007 08:34:09 -0700</pubDate>
 <dc:creator>Vcimdarf</dc:creator>
 <guid isPermaLink="false">comment 270 at http://www.eiffelroom.org</guid>
</item>
<item>
 <title>Name ideas</title>
 <link>http://www.eiffelroom.org/blog/maverick/experimental_graph_library#comment-267</link>
 <description>&lt;p&gt;Looking for a name, I told myself that looking for differences and originalities could help find qualifiers for the library name since GraphLibrary seems a little naked.  I thought that marking especially differences from the &lt;a class=&quot;&quot; style=&quot;&quot; href=&quot;/locate/EiffelGraph&quot;&gt;EiffelGraph&lt;/a&gt; library would help distinguish them.&lt;/p&gt;

&lt;p&gt;I don&#039;t know much about the former and I haven&#039;t found any documentation on the main Eiffel related development sites.  The description provided on EiffelRoom leads me to think that it&#039;s much more a UI related library so there is no overlap between the two and they might even complement one another very well.  In this line of idea, I note that a binding between the two would be interesting.&lt;/p&gt;

&lt;p&gt;So here are the adjectives I thought of to distinguish from EiffelGraph in particular and qualify the library:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt; Algorithmic, rather than graphic or UI oriented;&lt;/li&gt;
    &lt;li&gt; Model driven (we could also say `formal&#039;), which doesn&#039;t seem to be very wide spread;&lt;/li&gt;
    &lt;li&gt; Finally, it&#039;s made in Eiffel (obviously!).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Something like Eiffel Algorithmic and Model Driven Graph Library seems a little overkill even if we only call it EAMDGL.  We could strip the library part and maybe the model driven part since it doesn&#039;t really cover the features of the library.  We would be left with Eiffel Algorithmic Graph or EAG (which somewhat resembles the cry of someone tripping on a root) but it&#039;s not that bad either.  We could also make some kind of mix like  Eiffel AlGraph or Eiffel AlgoGraph.&lt;/p&gt;

&lt;p&gt;If someone has better ideas or a preference among the names I listed, please speak up!&lt;/p&gt;

&lt;p&gt;Simon&lt;/p&gt;

</description>
 <pubDate>Fri, 01 Jun 2007 06:56:26 -0700</pubDate>
 <dc:creator>maverick</dc:creator>
 <guid isPermaLink="false">comment 267 at http://www.eiffelroom.org</guid>
</item>
<item>
 <title>Progress and name search</title>
 <link>http://www.eiffelroom.org/blog/maverick/experimental_graph_library#comment-264</link>
 <description>&lt;p&gt;I finished yesterday the testing of the preorder side of DEPTH_FIRST_SEARCH_CURSOR and I almost finished the postorder side too.&lt;/p&gt;

&lt;p&gt;The way I organized the class, the traversal order is an option that can be set.  I&#039;m not sure yet of the exact effect of changing the traversal order since it discards the validity of the content of the stack.  The options are: &lt;ul&gt;
    &lt;li&gt; Put &lt;code class=&quot;geshifilter eiffel&quot;&gt;begining &lt;span style=&quot;color: #0600FF; font-weight: bold;&quot;&gt;or&lt;/span&gt; off&lt;/code&gt; as precondition of each of the option setting commands and make them maintain the cursor position.&lt;/li&gt;
    &lt;li&gt; The option setting has the effect of putting the cursor off the sequence so a call to start is necessary after it.&lt;/li&gt;
    &lt;li&gt; Merge the option setting commands with the start command like &lt;code class=&quot;geshifilter eiffel&quot;&gt;start_preorder&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;/p&gt;

&lt;p&gt;Since I want precise specification, I was searching for a description that would not over specify a depth first traversal.  Since the order of the vertices&#039; neighbors is not defined a cannot tell that a precise order must be followed.  What I decided is to add a path model to the cursor.  It represents the path followed from root of the search to the current item of the cursor.&lt;/p&gt;

&lt;p&gt;As an invariant, I can say that, in all time when working in preorder, all items in the path except for item must have been visited already.  Also, when we move forth, either we add a vertex to the end of the path or we cut a certain length of the end off it and append one vertex.  This was for the preorder case only.  The postorder case resembles it.  In either case, all vertex of the path must be adjacent to the next.&lt;/p&gt;

&lt;p&gt;On another topic, I&#039;m also looking for a name for the library since EiffelGraph is already taken.  Suggestions are welcome!&lt;/p&gt;

&lt;p&gt;Notice to the interested: the design details along with the code should be coming soon.  I think I&#039;d host it on origo, I&#039;m thinking on it.&lt;/p&gt;

&lt;p&gt;Cheers!&lt;/p&gt;

&lt;p&gt;Simon&lt;/p&gt;

</description>
 <pubDate>Thu, 31 May 2007 09:23:33 -0700</pubDate>
 <dc:creator>maverick</dc:creator>
 <guid isPermaLink="false">comment 264 at http://www.eiffelroom.org</guid>
</item>
<item>
 <title>Hosting</title>
 <link>http://www.eiffelroom.org/blog/maverick/experimental_graph_library#comment-263</link>
 <description>&lt;p&gt;I did not consider any hosting yet but it would be interesting.  I do not know particularly origo hosting services apart from the fact that EiffelStudio is hosted there.  I would have to check it out.&lt;/p&gt;

&lt;p&gt;The source is already well in progress and hosted on my own hard drive and I&#039;m thinking of showing it off as I progress to collect comments.  I&#039;m not very familiar with the licensing issue though so I&#039;ll have to check what suits my needs best.&lt;/p&gt;

&lt;p&gt;I am happy to see that it rises some interest and I&#039;m looking forward to showing it to you guys.&lt;/p&gt;

&lt;p&gt;I will post soon to show what I already have and what I&#039;m planning to do on the short term.&lt;/p&gt;

&lt;p&gt;Cheers!&lt;/p&gt;

&lt;p&gt;Simon&lt;/p&gt;

</description>
 <pubDate>Wed, 30 May 2007 13:16:33 -0700</pubDate>
 <dc:creator>maverick</dc:creator>
 <guid isPermaLink="false">comment 263 at http://www.eiffelroom.org</guid>
</item>
<item>
 <title>Perfect place</title>
 <link>http://www.eiffelroom.org/blog/maverick/experimental_graph_library#comment-262</link>
 <description>&lt;p&gt;I think you are at the right place to do something like this.&lt;/p&gt;

&lt;p&gt;I am very interested in seeing your progress and the design of the library. It is in fact one of the first things I pushed on my to-do-stack. It&#039;s a pity that I decided to use a stack and not a FIFO queue in the first place. But the stack has the advantage that I can to whatever I want ;-)&lt;/p&gt;

&lt;p&gt;Back to business: Is there already source code somewhere? Did you consider &lt;a href=&quot;http://alpha.origo.ethz.ch&quot;&gt;origo &lt;/a&gt; to host your project?&lt;/p&gt;

&lt;p&gt;-- mTn-_-|&lt;/p&gt;

</description>
 <pubDate>Wed, 30 May 2007 12:28:21 -0700</pubDate>
 <dc:creator>mtn</dc:creator>
 <guid isPermaLink="false">comment 262 at http://www.eiffelroom.org</guid>
</item>
<item>
 <title>Error</title>
 <link>http://www.eiffelroom.org/blog/maverick/experimental_graph_library#comment-261</link>
 <description>&lt;p&gt;Next thing I&#039;ll know will be that I&#039;m not even be on an Eiffel related page!&lt;/p&gt;

</description>
 <pubDate>Wed, 30 May 2007 11:01:36 -0700</pubDate>
 <dc:creator>maverick</dc:creator>
 <guid isPermaLink="false">comment 261 at http://www.eiffelroom.org</guid>
</item>
<item>
 <title>Don&#039;t worry, he is not a</title>
 <link>http://www.eiffelroom.org/blog/maverick/experimental_graph_library#comment-260</link>
 <description>&lt;p&gt;Don&#039;t worry, he is not a Prof. either (;&lt;/p&gt;

</description>
 <pubDate>Wed, 30 May 2007 10:33:29 -0700</pubDate>
 <dc:creator>aleitner</dc:creator>
 <guid isPermaLink="false">comment 260 at http://www.eiffelroom.org</guid>
</item>
<item>
 <title>Typo</title>
 <link>http://www.eiffelroom.org/blog/maverick/experimental_graph_library#comment-259</link>
 <description>&lt;p&gt;Sorry, I meant Prof. Schoeller, not Shroeller, my bad!&lt;/p&gt;

</description>
 <pubDate>Wed, 30 May 2007 05:39:46 -0700</pubDate>
 <dc:creator>maverick</dc:creator>
 <guid isPermaLink="false">comment 259 at http://www.eiffelroom.org</guid>
</item>
<item>
 <title>Thank you very much Prof.</title>
 <link>http://www.eiffelroom.org/blog/maverick/experimental_graph_library#comment-258</link>
 <description>&lt;p&gt;Thank you very much Prof. Shroeller!&lt;/p&gt;

&lt;p&gt;I had already encountered the possibility of a combinatorial explosion in the number of classes necessary, already.  I had subclassed the GRAPH class with DIRECTED_GRAPH, UNDIRECTED_GRAPH, WEIGHTED_GRAPH, LABELED_GRAPH and so on for each property but I realized that the only one that is truly important is the fact that the graph is directed or not.  So now, I have a generic parameter for vertices and I&#039;m about to introduce another for edges.  The edges would have to inherit from an EDGE class which has a cost query which returns 1.0 by default.  This way, if we run, say, Dijkstra on a graph that is unweighted, it will only consider the number of edge as a distance.&lt;/p&gt;

&lt;p&gt;Another difficulty is specifying precisely the algorithms, I&#039;m not sure yet how it will be done.&lt;/p&gt;

&lt;p&gt;Also, for the implementation part, I was mostly concentrating on adjacency lists implemented as arrays of arrays.  This way, I have a linear time (in function of the number of neighbors, that we may call k) iterating through the neighborhood of a vertex.  When we check if two vertices are connected, though instead of having a constant time, we may have a O (log k) access at best if we are willing to get O (k) time in edge insertion.  This is a trade off that the user can easily choose, I think.&lt;/p&gt;

&lt;p&gt;I may post what I already accomplished soon.&lt;/p&gt;

&lt;p&gt;I have: &lt;ul&gt;
    &lt;li&gt; the great part of the specifications and implementation of the adjacency list for directed graphs&lt;/li&gt;
    &lt;li&gt; the associated cursors&lt;/li&gt;
    &lt;li&gt; a beginning for a depth-first cursor.&lt;/li&gt;
&lt;/ul&gt;

&lt;/p&gt;

&lt;p&gt;Cheers,&lt;/p&gt;

&lt;p&gt;Simon&lt;/p&gt;

</description>
 <pubDate>Wed, 30 May 2007 05:26:10 -0700</pubDate>
 <dc:creator>maverick</dc:creator>
 <guid isPermaLink="false">comment 258 at http://www.eiffelroom.org</guid>
</item>
<item>
 <title>Some work done ...</title>
 <link>http://www.eiffelroom.org/blog/maverick/experimental_graph_library#comment-257</link>
 <description>&lt;p&gt;Hi, you might have a look at&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://se.inf.ethz.ch/projects/olivier_jeger/index.html&quot;&gt;http://se.inf.ethz.ch/projects/olivier_jeger/index.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;which includes the design of a graph library for Eiffel. From my experience: do not underestimate the complexity and problems you might encounter. ;)&lt;/p&gt;

</description>
 <pubDate>Wed, 30 May 2007 00:15:42 -0700</pubDate>
 <dc:creator>schoelle</dc:creator>
 <guid isPermaLink="false">comment 257 at http://www.eiffelroom.org</guid>
</item>
</channel>
</rss>
