<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
On 5/1/2020 5:19 AM, Phil B via Cuis-dev wrote:
<blockquote
cite="mid:CAMJMOeieNoYBecoYow9B9-q496+cwyNSB5ngPrJu1PsLWBR_nw@mail.gmail.com"
type="cite">
<div dir="ltr">
<div dir="ltr">Erik,</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Fri, May 1, 2020 at 3:46
AM Erik Stel 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 class="gmail_quote" style="margin: 0px 0px 0px
0.8ex; border-left: 1px solid rgb(204, 204, 204);
padding-left: 1ex;">
<div style="">Maybe I wasn’t clear (because it was part of
another topic, see below) or tread on a sensitive subject,
but I’m still eager to hear the reasoning for having
backticks (which are not in Squeak nor Pharo) from the
simplicity point of view. Would anyone care to elaborate?
<div><br>
</div>
</div>
</blockquote>
<div><br>
</div>
<div>Years ago I noticed that we had a lot of pointless
dynamism in the image especially since moving to local
coordinates (i.e. we had 0@0 all over the image.) In an
attempt to *not* extend the language, I proposed Point
class>>zero for effectively a singleton 0@0 instance.
Juan surprised me and effectively said 'I don't like that,
let's go this way instead' (i.e. backticks). It was a
pretty elegant and minimal solution so I didn't have a
problem with it at the time and it has definitely grown on
me. While addressing 0@0 was the initial motivation, it is
useful anywhere you want to create ad hoc literals. I use
it a ton and only wish we went a little further and had a
full macro system in Smalltalk ;-)</div>
</div>
</div>
</blockquote>
<br>
Just in case, let me tell why I prefer the backticks to the Point
zero singleton.<br>
- Point zero only works for Points. And just for one specific value:
0@0. Backticks work with any object.<br>
- Point zero saves memory, but not message sends. Backticks saves
both.<br>
- The ratio complexity/uses (if that can be meaningfully defined) is
much lower for backticks.<br>
<br>
Still, they are not exactly the same. Point zero would allow having
a single zero point for all the system (like Symbols). Backticks
require having one instance of 0@0 on each method.<br>
<br>
It's all about tradeoffs.<br>
<br>
<blockquote
cite="mid:CAMJMOeieNoYBecoYow9B9-q496+cwyNSB5ngPrJu1PsLWBR_nw@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_quote">
<div><br>
</div>
<div>As far as compatibility with Squeak and Pharo... well
that's extremely problematic IMO. Pharo changes things all
the time (and not always for the better) seemingly based on
the weather. So any attempt to keep in sync with it would
mean breaking Cuis whether or not we thought the change was
a good idea. Squeak has the opposite problem: it doesn't
change much at all. To some, this is an asset, to me it's a
liability: I don't mind working with an obscure/fringe
language, I do mind working with a dead language. To me,
Smalltalk-80 was great 40 years ago but should not be the
final stop in language evolution.</div>
<div><br>
</div>
<div><br>
</div>
<blockquote class="gmail_quote" style="margin: 0px 0px 0px
0.8ex; border-left: 1px solid rgb(204, 204, 204);
padding-left: 1ex;">
<div style="">
<div>I am also eager to know what others think about
language constructs such as #(), {} and `` for daily
usage. And I mean this in the sense ‘Do you use these
often? Could you live without them?’. I do understand
how they can be used and what their meaning is ;-). And
I can also lookup their current use in the default
image, but that does not answer how you/we use them in
our (application) code.</div>
</div>
</blockquote>
<div><br>
</div>
<div>I tend to use {} more than #(), but I do use both of
those as well. My only gripe is that all of the damned
brackets have been used up by Smalltalk (as most other
languages do as well)... I really would have liked to have
at least one set of brackets that were available for
'user-defined' purposes but, oh well.</div>
<div> </div>
<blockquote class="gmail_quote" style="margin: 0px 0px 0px
0.8ex; border-left: 1px solid rgb(204, 204, 204);
padding-left: 1ex;">
<div style="">
<div><br>
</div>
<div>Kind regards,</div>
<div>Erik<br>
<div><br>
</div>
</div>
</div>
</blockquote>
<div><br>
</div>
<div>Thanks,</div>
<div>Phil </div>
</div>
</div>
</blockquote>
<br>
Cheers,<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>
@JuanVuletich</pre>
</body>
</html>