<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
I'm pretty sure I can tweak the parser to treat specially $- as last
char of a binary selector, so that<br>
<br>
1@-2 creates a Point.<br>
1 @ -2 also creates a Point.<br>
1 @- 2 (note the space between - and 2) sends #@-, whatever that
might mean.<br>
<br>
I know it wouldn't be strictly ANSI, but that shouldn't be too
important.<br>
<br>
Do you folks think this would be reasonable behavior?<br>
<br>
Thanks,<br>
<br>
On 5/13/2022 11:07 AM, Luciano Notarfrancesco via Cuis-dev wrote:
<blockquote
cite="mid:CAL5GDyonHP_F9XGGpKduXMHZj8Hn3du3d55AAav-yeGQVujHUA@mail.gmail.com"
type="cite">
<meta http-equiv="Context-Type" content="text/html; charset=UTF-8">
<div>Can you think of other characters that could be problematic
when allowing them in binary selectors? I don’t use selectors
ending with $-, and I agree that the original behavior is more
convenient and intuitive. The only disadvantage of keeping the
original behavior for this case would be not being ANSI
compliant, not a problem for me.</div>
<div><br>
<div>
<div>On Fri, 13 May 2022 at 8:58 PM Luciano Notarfrancesco
<<a moz-do-not-send="true"
href="mailto:luchiano@gmail.com">luchiano@gmail.com</a>>
wrote:<br>
</div>
<blockquote>
<div>Personally I don’t mind if we decide to make an
exception for the special case of $-, but only for that
character, because I want to have more options available
for binary operators (for example with $|).</div>
<div><br>
</div>
<div>
<div>
<div>On Fri, 13 May 2022 at 8:53 PM Hernan Wilkinson
<<a moz-do-not-send="true"
href="mailto:hernan.wilkinson@10pines.com">hernan.wilkinson@10pines.com</a>>
wrote:<br>
</div>
<blockquote>
<div>Even more... this change makes things like: 1*-2
or 1/-2 or 1//-2 or 1+-2, etc etc etc to generate an
error.<br>
<div>I think it does not make sense.... any common
programmer will expect 1*-2 to return -2 and not
an error.</div>
<div>I think we should get back to the previous
behavior.</div>
<div><br>
</div>
<div>What do you think?</div>
</div>
<div>
<div><br>
</div>
<div>Hernan.</div>
</div>
<br>
<div>
<div>On Fri, May 13, 2022 at 10:34 AM Hernan
Wilkinson <<a moz-do-not-send="true"
href="mailto:hernan.wilkinson@10pines.com">hernan.wilkinson@10pines.com</a>>
wrote:<br>
</div>
<blockquote>
<div>Hi all!
<div> I'm just wondering why you guys think that
having @- as a unary selector is better than
interpreting it as valid for a negative y of a
point... </div>
<div> I mean, it is much more common to write
1@-1 as a point whose y is -1 than to use @-
as a selector...</div>
<div> Newcomers will have bit time problems to
understand why 1@-1 does not generate a point
with a -1 as the y, unless the @- message is
implemented in Point to create a point with
the negation of the parameter which is for me
an unnecessary indirection...</div>
<div> I mean, what other class is going to
implement a message such as @- ? </div>
<div> It seems to me more useful the behavior we
had previous to this change.</div>
<div><br>
</div>
<div>Hernan.</div>
<div> </div>
</div>
<br>
<div>
<div>On Fri, May 13, 2022 at 9:52 AM Luciano
Notarfrancesco via Cuis-dev <<a
moz-do-not-send="true"
href="mailto:cuis-dev@lists.cuis.st">cuis-dev@lists.cuis.st</a>>
wrote:<br>
</div>
<blockquote>
<div>If you don't mind, I think these printOns
look better (either one)</div>
<br>
<div>
<div>On Fri, May 13, 2022 at 2:36 AM Luciano
Notarfrancesco <<a
moz-do-not-send="true"
href="mailto:luchiano@gmail.com">luchiano@gmail.com</a>>
wrote:<br>
</div>
<blockquote>
<div>Oh, great, thanks! I was just
thinking that “1@(-1)” could have been a
better choice for the fix, and that
maybe we should have a preference to
avoid overwriting timestamp and other
people’s initials when we do trivial
changes like this.</div>
<div><br>
</div>
<div><br>
<div>
<div>On Fri, 13 May 2022 at 3:41 AM
Juan Vuletich <<a
moz-do-not-send="true"
href="mailto:JuanVuletich@zoho.com">JuanVuletich@zoho.com</a>>
wrote:<br>
</div>
<blockquote>
<div> Thanks Folks!<br>
<br>
Luciano, I just pushed your
changes. I also found an instance
of '\\-' that I fixed too. There
are several changes required for
optional packages in the
Cuis-Smalltalk organization. Will
push them tomorrow.<br>
<br>
WRT to Decompiler, decompiled code
is actually OK, with a space after
binary selectors. What was wrong
was the #storeString of literal
Points. Fixed
Point>>#printOn: for that.
Now DecompilerTests pass.<br>
<br>
Cheers!</div>
<div><br>
<br>
On 5/9/2022 3:21 PM, Luciano
Notarfrancesco via Cuis-dev wrote:
<blockquote type="cite">
<div>Martin,
<div>Thanks for the very
detailed explanation! I went
ahead and replaced '@-' with
'@ -' in the image and the
tests. There are still 10
tests producing errors
because the decompiler
decompiles it without the
space, tho.</div>
<div><br>
</div>
</div>
<br>
<div>
<div>On Mon, May 9, 2022 at
5:04 PM Martin McClure <<a
moz-do-not-send="true"
href="mailto:martin@hand2mouse.com">martin@hand2mouse.com</a>>
wrote:<br>
</div>
<blockquote>
<div>
<div>The ANSI Smalltalk
grammar says that "@-"
should be a valid binary
selector, and would
require whitespace in
"1@ -1" to interpret the
argument as a literal
negative one.<br>
<br>
The Blue Book grammar,
though, does not allow
"@-" as a binary
selector. The Blue Book
grammar, as printed,
also does not allow ","
as a binary selector,
even though that was
clearly used as a binary
selector in
Smalltalk-80. The Blue
Book grammar also does
not talk about
whitespace at all, even
though that is clearly
required in some places,
so the Blue Book is a
bit fuzzier than one
would want as a grammar
reference.<br>
<br>
Going with ANSI-like
grammar and putting a
space in expressions
like "1 @- 1" makes more
sense to me. Allows more
valid selectors, and the
code is more readable
with the whitespace.<br>
<br>
Regards,<br>
-Martin <br>
<br>
On 5/9/22 03:48, Luciano
Notarfrancesco via
Cuis-dev wrote:<br>
</div>
<blockquote type="cite">
<div>After this change
'1@-1' is parsed as a
binary message #@-,
and this causes some
base image tests to
fail. Should we add a
space between @ and -1
or should we fix the
parser?</div>
<br>
<div>
<div>On Fri, May 6,
2022 at 1:56 PM
Luciano
Notarfrancesco <<a
moz-do-not-send="true" href="mailto:luchiano@gmail.com">luchiano@gmail.com</a>>
wrote:<br>
</div>
<blockquote>
<div>That was quick.
Thanks a lot!</div>
<div><br>
<div>
<div>On Fri, 6
May 2022 at
8:55 PM Juan
Vuletich <<a
moz-do-not-send="true" href="mailto:JuanVuletich@zoho.com">JuanVuletich@zoho.com</a>>
wrote:<br>
</div>
<blockquote>
<div> On
5/6/2022 10:48
AM, Luciano
Notarfrancesco
via Cuis-dev
wrote:
<blockquote
type="cite">
<div>I’m not
sure I was
clear, I meant
a method
implementing
those
messages, not
sending those
messages.</div>
<div><br>
</div>
<div>
<div>
<div>On Fri, 6
May 2022 at
1:22 PM
Luciano
Notarfrancesco
<<a
moz-do-not-send="true"
href="mailto:luchiano@gmail.com">luchiano@gmail.com</a>> wrote:<br>
</div>
<blockquote>I’m
getting
“Argument name
expected” when
trying to
compile a
method with
selector
<|. On the
other hand,
|>, | and
|| all compile
fine as binary
selectors, but
|| breaks
syntax
highlighting.
</blockquote>
</div>
</div>
</blockquote>
<br>
</div>
<div> Sure.
Fixes at
GitHub now.<br>
<br>
A small
detail: Now an
empty temporal
declaration
`||` is parsed
as a binary
selector, and
therefore
marked as
invalid. Not a
big deal. We'd
just remove
any such.<br>
<br>
Cheers,<br>
<pre>--
Juan Vuletich
<a moz-do-not-send="true" href="http://www.cuis-smalltalk.org">www.cuis-smalltalk.org</a>
<a moz-do-not-send="true" href="https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev">https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev</a>
<a moz-do-not-send="true" href="https://github.com/jvuletich">https://github.com/jvuletich</a>
<a moz-do-not-send="true" href="https://www.linkedin.com/in/juan-vuletich-75611b3">https://www.linkedin.com/in/juan-vuletich-75611b3</a>
<a moz-do-not-send="true" href="https://independent.academia.edu/JuanVuletich">https://independent.academia.edu/JuanVuletich</a>
<a moz-do-not-send="true" href="https://www.researchgate.net/profile/Juan-Vuletich">https://www.researchgate.net/profile/Juan-Vuletich</a>
<a moz-do-not-send="true" href="https://patents.justia.com/inventor/juan-manuel-vuletich">https://patents.justia.com/inventor/juan-manuel-vuletich</a>
<a moz-do-not-send="true" href="https://twitter.com/JuanVuletich">https://twitter.com/JuanVuletich</a></pre>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
<br>
</blockquote>
<br>
</div>
</blockquote>
</div>
</blockquote>
<br>
<br>
<pre>--
Juan Vuletich
<a moz-do-not-send="true" href="http://www.cuis-smalltalk.org">www.cuis-smalltalk.org</a>
<a moz-do-not-send="true" href="https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev">https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev</a>
<a moz-do-not-send="true" href="https://github.com/jvuletich">https://github.com/jvuletich</a>
<a moz-do-not-send="true" href="https://www.linkedin.com/in/juan-vuletich-75611b3">https://www.linkedin.com/in/juan-vuletich-75611b3</a>
<a moz-do-not-send="true" href="https://independent.academia.edu/JuanVuletich">https://independent.academia.edu/JuanVuletich</a>
<a moz-do-not-send="true" href="https://www.researchgate.net/profile/Juan-Vuletich">https://www.researchgate.net/profile/Juan-Vuletich</a>
<a moz-do-not-send="true" href="https://patents.justia.com/inventor/juan-manuel-vuletich">https://patents.justia.com/inventor/juan-manuel-vuletich</a>
<a moz-do-not-send="true" href="https://twitter.com/JuanVuletich">https://twitter.com/JuanVuletich</a></pre>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
-- <br>
Cuis-dev mailing list<br>
<a moz-do-not-send="true"
href="mailto:Cuis-dev@lists.cuis.st">Cuis-dev@lists.cuis.st</a><br>
<a moz-do-not-send="true"
href="https://lists.cuis.st/mailman/listinfo/cuis-dev">https://lists.cuis.st/mailman/listinfo/cuis-dev</a><br>
</blockquote>
</div>
<br>
<div><br>
</div>
-- <br>
<div>
<div><span>
<div><a moz-do-not-send="true"
href="https://10pines.com/"><img
moz-do-not-send="true"></a><span></span>
<h1>Hernán Wilkinson</h1>
<h2>Software Developer & Coach</h2>
<p>Alem 896, Floor 6, Buenos Aires,
Argentina</p>
<p>+54 11 6091 3125</p>
<p>@HernanWilkinson</p>
</div>
</span></div>
</div>
</blockquote>
</div>
<br>
<div><br>
</div>
-- <br>
<div>
<div><span>
<div><a moz-do-not-send="true"
href="https://10pines.com/"><img
moz-do-not-send="true"></a><span></span>
<h1>Hernán Wilkinson</h1>
<h2>Software Developer & Coach</h2>
<p>Alem 896, Floor 6, Buenos Aires, Argentina</p>
<p>+54 11 6091 3125</p>
<p>@HernanWilkinson</p>
</div>
</span></div>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
Juan Vuletich
<a class="moz-txt-link-abbreviated" href="http://www.cuis-smalltalk.org">www.cuis-smalltalk.org</a>
<a class="moz-txt-link-freetext" href="https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev">https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev</a>
<a class="moz-txt-link-freetext" href="https://github.com/jvuletich">https://github.com/jvuletich</a>
<a class="moz-txt-link-freetext" href="https://www.linkedin.com/in/juan-vuletich-75611b3">https://www.linkedin.com/in/juan-vuletich-75611b3</a>
<a class="moz-txt-link-freetext" href="https://independent.academia.edu/JuanVuletich">https://independent.academia.edu/JuanVuletich</a>
<a class="moz-txt-link-freetext" href="https://www.researchgate.net/profile/Juan-Vuletich">https://www.researchgate.net/profile/Juan-Vuletich</a>
<a class="moz-txt-link-freetext" href="https://patents.justia.com/inventor/juan-manuel-vuletich">https://patents.justia.com/inventor/juan-manuel-vuletich</a>
<a class="moz-txt-link-freetext" href="https://twitter.com/JuanVuletich">https://twitter.com/JuanVuletich</a></pre>
</body>
</html>