[BUG][FIX] Re: Running your tests for Arrows

Brian Rice water@tunes.org
Sat Mar 23 17:04:06 2002


<!x-stuff-for-pete id="0">
<!doctype html public "-//W3C//DTD W3 HTML//EN">
<html><head><style type="text/css"><!--
blockquote, dl, ul, ol, li { margin-top: 0 ; margin-bottom: 0 }
 --></style><title>[BUG][FIX] Re: Running your tests for
Arrows</title></head><body>
<div>Hey Piedro,</div>
<div><br></div>
<blockquote type="cite" cite><font
face="Times New Roman">&gt;FrameGraph was WorldGraph, and they are
both classes. When you file<br>
&gt;in a changeset, all classes get initialized, so that was a very
old<br>
&gt;debugging statement that is not necessary. Just run
&quot;ArrowWorld<br>
&gt;explore&quot;.</font></blockquote>
<blockquote type="cite" cite>&nbsp;</blockquote>
<blockquote type="cite" cite><font size="-1">OK, thanks. Please,
report this to</font></blockquote>
<blockquote type="cite" cite><font size="-1">the mailing list, or -
better - update</font></blockquote>
<blockquote type="cite" cite><font size="-1">the test file so that the
ingenuous</font></blockquote>
<blockquote type="cite" cite><font size="-1">user will not make my
error.</font></blockquote>
<div><br></div>
<div>Everyone note that Arrow Tests.text has been updated to fix the
bug mentioned above.</div>
<div>Okay, I've done both.</div>
<div><br></div>
<blockquote type="cite" cite><font size="-1">I&nbsp;obtained a basic
Squeak tutorial, I</font></blockquote>
<blockquote type="cite" cite><font size="-1">loaded the changeset file
and I run the</font></blockquote>
<blockquote type="cite" cite><font size="-1">tests.&nbsp;An exception
raised, so here you</font></blockquote>
<blockquote type="cite" cite><font size="-1">are.</font></blockquote>
<blockquote type="cite" cite>&nbsp;</blockquote>
<blockquote type="cite" cite><font size="-1">a _ Arrow new name:
'a'.<br>
b _ a clone name: 'b'.<br>
c _ a-&gt;b name: 'c'.<br>
d _ b-&gt;c name: 'd'.<br>
Result: returned 4 arrows</font></blockquote>
<blockquote type="cite" cite>&nbsp;</blockquote>
<blockquote type="cite" cite><font size="-1">d ++ c == nil.<br>
c head == d tail.<br>
c ++ d = (a-&gt;c).<br>
(d head: a) ~~ d.<br>
c boxMeUp == c boxMeUp.<br>
c inv = c inv.<br>
Result: all true</font></blockquote>
<blockquote type="cite" cite>&nbsp;</blockquote>
<blockquote type="cite" cite><font size="-1">e _ InductionGraph
new.<br>
Result: raised an exception: MessageNotUnderstood
@</font></blockquote>
<blockquote type="cite" cite>&nbsp;</blockquote>
<blockquote type="cite" cite><font size="-1">Seems that
when&nbsp;executing</font></blockquote>
<blockquote type="cite" cite>&nbsp;</blockquote>
<blockquote type="cite" cite><font size="-1">kernel _ monoid anyOne
name: '0'.</font></blockquote>
<blockquote type="cite" cite>&nbsp;</blockquote>
<blockquote type="cite" cite><font size="-1">in
InductionGraph:initialize, the instruction</font></blockquote>
<blockquote type="cite" cite>&nbsp;</blockquote>
<blockquote type="cite" cite><font size="-1">&nbsp;^ kernel @
kernel</font></blockquote>
<blockquote type="cite" cite>&nbsp;</blockquote>
<blockquote type="cite" cite><font
size="-1">of&nbsp;MonoidGraph:anyOne raises the
exception.</font></blockquote>
<div><br></div>
<div>Which means that kernel is still nil (un-initialized, that is).
Yes, I see that in that method I forgot to set the monoid's kernel
before asking for an example arrow. Okay, I have a changeset which
fixes that and which I've merged into my own code. Until then, use the
attached file as a fix. It winds up changing the protocol of
InductionGraph class in a very minor way.</div>
<div><br></div>
<blockquote type="cite" cite><font size="-1">Now that I am gaining
some knowledge of the</font></blockquote>
<blockquote type="cite" cite><font size="-1">platform I would like to
be more useful, and</font></blockquote>
<blockquote type="cite" cite><font size="-1">also to verify the
usefulness of Arrow. But the</font></blockquote>
<blockquote type="cite" cite><font size="-1">only available paper on
Arrow is the general</font></blockquote>
<blockquote type="cite" cite><font size="-1">introduction, which is
too much high level for</font></blockquote>
<blockquote type="cite" cite><font size="-1">the user.&nbsp;Since a
working system is now available,</font></blockquote>
<blockquote type="cite" cite><font size="-1">even if it is just a beta
implementation,</font></blockquote>
<blockquote type="cite" cite><font size="-1">a more practical paper
would&nbsp;be necessary to</font></blockquote>
<blockquote type="cite" cite><font size="-1">show&nbsp;people how they
can do things with Arrow, and</font></blockquote>
<blockquote type="cite" cite><font size="-1">why it should be
preferred to, e.g., a relational</font></blockquote>
<blockquote type="cite" cite><font size="-1">database: maybe a
tutorial with a sample</font></blockquote>
<blockquote type="cite" cite><font size="-1">application would work. I
must confess that</font></blockquote>
<blockquote type="cite" cite><font size="-1">I did not understand so
much of your Arrow</font></blockquote>
<blockquote type="cite" cite><font size="-1">paper, it is too complex
and multidisciplinary</font></blockquote>
<blockquote type="cite" cite><font size="-1">and would need some
clarification.</font></blockquote>
<div><br></div>
<div>Yes, and that's exactly where I'm going with this, but Arrow is
missing a major aspect which I insist on completing before giving it a
version number. Basically, there needs to be equational constraint and
rewrite semantics workable within it, which means things like arrows
whose state is only specified algebraically (and so may not even have
a consistent or singular notion of state!), as well as a few other
things. If you want something like Arrows but more database-like, look
up the Pointrel data repository in the Squeak archives.</div>
<div><br></div>
<blockquote type="cite" cite><font
size="-1">Pietro.</font></blockquote>
<blockquote type="cite" cite>&nbsp;</blockquote>
<blockquote type="cite" cite><font size="-1">P.S:</font></blockquote>
<blockquote type="cite" cite><font size="-1">By the way,&nbsp;I tried
to download the project file</font></blockquote>
<blockquote type="cite" cite><font size="-1">from another wintel box,
but it seems that the</font></blockquote>
<blockquote type="cite" cite><font size="-1">most used browser in the
world, on the most</font></blockquote>
<blockquote type="cite" cite><font size="-1">used PC operating system
in the world, is unable</font></blockquote>
<blockquote type="cite" cite><font size="-1">to correctly download
arrows.pr. I will try to</font></blockquote>
<blockquote type="cite" cite><font size="-1">get it from
linux+netscape, but I would like to</font></blockquote>
<blockquote type="cite" cite><font size="-1">suggest you to put the
files also on the ftp</font></blockquote>
<blockquote type="cite" cite><font size="-1">site.</font></blockquote>
<div><br></div>
<div>Okay, I'll talk with Tril about this. Maybe we'll set up an
arrow.tunes.org or something, or just some easily accessible directory
in the existing structure.</div>
<div>~</div>
</body>
</html>