This is a multi-part message in MIME format.
------_ extPart_001_01C8C28E.E1665354
Content-Type: text/plain;
charset s-ascii"
Content-Transfer-Encoding: quoted-printable
Hello,
For those who look at Java and C# all day, this would not be any harder
then any other part on the language. It is though the unification that
would be a bigger reason. As was mentioned, if you had:
meth -< a { a + 1}, -< b { b * 2 }
or
meth oO a { a + 1}, oO b { b * 2 }
or
meth (\ a { a + 1}, (\ b { b * 2 } # if it was possible
It would still have the same noise and add to the same level of clutter
of choices. Besides the yellow-colored items' low contrast, I read it
all fast on both lines (reading colors in hard, try it). Good day.
Yemi Bedu
P&R Fasteners
325 Pierce St
Somerset, NJ 08873
732-302-3600
________________________________
From: Meinrad Recheis [mailto:meinrad.recheis / gmail.com]
Sent: Monday, May 26, 2008 10:49 AM
To: ruby-core / ruby-lang.org
Subject: Re: [PATCH] lambda with normal block syntax
On Mon, May 26, 2008 at 4:14 PM, Dave Thomas <dave / pragprog.com> wrote:
>
> On May 26, 2008, at 8:54 AM, Yukihiro Matsumoto wrote:
>
>> "trouble with recognition"? I thought they hated the -> mark, mostly
>> because it's different from lambda symbols (and syntax) in other
>> languages (except for Perl6). I assumed those hatred will decrease
>> once they used to the new syntax. But I didn't recognized they had
>> recognition problem.
>
> My personal experience is that I don't find it a natural notation:
when I
> see ->, I don't immediately think 'block coming'. Instead, I think
> 'pointer', 'member access', or something similar. So, for me, it
really is a
> 'cognition' issue (so I guess the second time it's recognition).
>
> You asked people to try the patched syntax that allows
>
> meth {|a| a+1}, {|b| b*2}
>
> I think that this particular syntax is a lot less obtrusive, and a lot
> easier to recognize, than
>
> meth -> a { a + 1}, -> b { b * 2 }
>
> The first one is obviously a couple of blocks: that's what I read when
I see
> {|a| ...}.
I second this. also, from the standpoint of cognition it must be said
that -> will allways be recognized by most people as a binary operator
where something is pointing or assigned to something. There is a good
example that illustrates why such a cognitive misconception is most
disturbing: (non plain text mail reader required to see the colors)
try to read and pronounce these words as fast es possible:
black blue green orange yellow purple red
black
orange green black blue purple yellow black
red
you will notice that the upper line can be read much faster than the
lower line because of the mismatch of color perception and meaning of
the words in the lower line.
so even if we all get used to the syntax the mismatch of the meaning of
-> (lambda) and the general recognition (pointer/assignment) will always
be disturbing for fast perceiving of ruby code.
>
> Please, please consider adding both these patches into 1.9.
>
bike shed or not, please seriously consider it.
-- henon
------_ extPart_001_01C8C28E.E1665354
Content-Type: text/html;
charset s-ascii"
Content-Transfer-Encoding: quoted-printable
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:st1="urn:schemas-microsoft-com:office:smarttags" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]--><o:SmartTagType
namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="PostalCode"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
name="State"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
name="City"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
name="place"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
name="Street"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
name="address"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
/* Font Definitions */
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman";}
a:link, span.MsoHyperlink
{color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{color:blue;
text-decoration:underline;}
p
{mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:12.0pt;
font-family:"Times New Roman";}
span.EmailStyle17
{mso-style-type:personal-reply;
font-family:Arial;
color:navy;}
@page Section1
{size:8.5in 11.0in;
margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
{page:Section1;}
-->
</style>
</head>
<body lang=EN-US link=blue vlink=blue>
<div class=Section1>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Hello,<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'> For those who look at Java and C#
all day, this would not be any harder then any other part on the language. It
is though the unification that would be a bigger reason. As was mentioned, if
you had:<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>meth -< a { a + 1}, -< b { b * 2 }<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>or<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>meth oO a { a + 1}, oO b { b * 2 }<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>or<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>meth (\ a { a + 1}, (\ b { b * 2 } # if it
was possible<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>It would still have the same noise and add
to the same level of clutter of choices. Besides the yellow-colored items’
low contrast, I read it all fast on both lines (reading colors in hard, try it).
Good day.<o:p></o:p></span></font></p>
<div>
<p><font size=2 color=navy face="Times New Roman"><span style='font-size:10.0pt;
color:navy'>Yemi Bedu<br>
<br>
P&R Fasteners<br>
<st1:Street w:st="on"><st1:address w:st="on">325 Pierce St</st1:address></st1:Street><br>
<st1:place w:st="on"><st1:City w:st="on">Somerset</st1:City>, <st1:State w:st="on">NJ</st1:State>
<st1:PostalCode w:st="on">08873</st1:PostalCode></st1:place><br>
732-302-3600</span></font><font color=navy><span style='color:navy'> </span></font><o:p></o:p></p>
</div>
<div>
<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>
<hr size=2 width="100%" align=center tabindex=-1>
</span></font></div>
<p class=MsoNormal><b><font size=2 face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font size=2
face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'> Meinrad Recheis
[mailto:meinrad.recheis / gmail.com] <br>
<b><span style='font-weight:bold'>Sent:</span></b> Monday, May 26, 2008 10:49
AM<br>
<b><span style='font-weight:bold'>To:</span></b> ruby-core / ruby-lang.org<br>
<b><span style='font-weight:bold'>Subject:</span></b> Re: [PATCH] lambda with
normal block syntax</span></font><o:p></o:p></p>
</div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>
<p class=MsoNormal style='margin-bottom:12.0pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>On Mon, May 26, 2008 at
4:14 PM, Dave Thomas <dave / pragprog.com>
wrote:<br>
><br>
> On May 26, 2008, at 8:54 AM, Yukihiro Matsumoto wrote:<br>
><br>
>> "trouble with recognition"? I thought they hated the
-> mark, mostly<br>
>> because it's different from lambda symbols (and syntax) in other<br>
>> languages (except for Perl6). I assumed those hatred will
decrease<br>
>> once they used to the new syntax. But I didn't recognized they
had<br>
>> recognition problem.<br>
><br>
> My personal experience is that I don't find it a natural notation: when I<br>
> see ->, I don't immediately think 'block coming'. Instead, I think<br>
> 'pointer', 'member access', or something similar. So, for me, it really is
a<br>
> 'cognition' issue (so I guess the second time it's recognition).<br>
><br>
> You asked people to try the patched syntax that allows<br>
><br>
> meth {|a| a+1}, {|b| b*2}<br>
><br>
> I think that this particular syntax is a lot less obtrusive, and a lot<br>
> easier to recognize, than<br>
><br>
> meth -> a { a + 1}, -> b { b * 2 }<br>
><br>
> The first one is obviously a couple of blocks: that's what I read when I
see<br>
> {|a| ...}.<br>
<br>
I second this. also, from the standpoint of cognition it must be said that
-> will allways be recognized by most people as a binary
operator where something is pointing or assigned to something. There is a good
example that illustrates why such a cognitive misconception is most disturbing:
(non plain text mail reader required to see the colors) <br>
<br>
try to read and pronounce these words as fast es possible:<br>
<br>
</span></font><b><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:black;font-weight:bold'>black</span></font></b><b><font
size=2 color=red face=Arial><span style='font-size:10.0pt;font-family:Arial;
color:red;font-weight:bold'> </span></font></b><b><font size=2
color="#3333ff" face=Arial><span style='font-size:10.0pt;font-family:Arial;
color:#3333FF;font-weight:bold'>blue</span></font></b><b><font size=2
color=yellow face=Arial><span style='font-size:10.0pt;font-family:Arial;
color:yellow;font-weight:bold'> </span></font></b><b><font
size=2 color="#33ff33" face=Arial><span style='font-size:10.0pt;font-family:
Arial;color:#33FF33;font-weight:bold'>green</span></font></b><b><font size=2
color=orange face=Arial><span style='font-size:10.0pt;font-family:Arial;
color:orange;font-weight:bold'> </span></font></b><b><font
size=2 color="#ff9900" face=Arial><span style='font-size:10.0pt;font-family:
Arial;color:#FF9900;font-weight:bold'>orange</span></font></b><b><font size=2
color=blue face=Arial><span style='font-size:10.0pt;font-family:Arial;
color:blue;font-weight:bold'> </span></font></b><b><font size=2
color="#ffff66" face=Arial><span style='font-size:10.0pt;font-family:Arial;
color:#FFFF66;font-weight:bold'>yellow</span></font></b><b><font size=2
color=purple face=Arial><span style='font-size:10.0pt;font-family:Arial;
color:purple;font-weight:bold'> </span></font></b><b><font
size=2 color="#cc33cc" face=Arial><span style='font-size:10.0pt;font-family:
Arial;color:#CC33CC;font-weight:bold'>purple</span></font></b><b><font size=2
color=pink face=Arial><span style='font-size:10.0pt;font-family:Arial;
color:pink;font-weight:bold'> </span></font></b><b><font size=2
color=red face=Arial><span style='font-size:10.0pt;font-family:Arial;
color:red;font-weight:bold'>red</span></font></b><b><font size=2 color=black
face=Arial><span style='font-size:10.0pt;font-family:Arial;color:black;
font-weight:bold'> black</span></font></b><b><font size=2
color=green face=Arial><span style='font-size:10.0pt;font-family:Arial;
color:green;font-weight:bold'> <br>
</span></font></b><b><font size=2 color=blue face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:blue;font-weight:bold'>orange </span></font></b><b><font
size=2 color=orange face=Arial><span style='font-size:10.0pt;font-family:Arial;
color:orange;font-weight:bold'>green </span></font></b><b><font
size=2 color=red face=Arial><span style='font-size:10.0pt;font-family:Arial;
color:red;font-weight:bold'>black </span></font></b><b><font
size=2 color=yellow face=Arial><span style='font-size:10.0pt;font-family:Arial;
color:yellow;font-weight:bold'>blue </span></font></b><b><font
size=2 color=orange face=Arial><span style='font-size:10.0pt;font-family:Arial;
color:orange;font-weight:bold'> </span></font></b><b><font size=2
color="#ffff33" face=Arial><span style='font-size:10.0pt;font-family:Arial;
color:#FFFF33;font-weight:bold'>purple</span></font></b><b><font size=2
color=orange face=Arial><span style='font-size:10.0pt;font-family:Arial;
color:orange;font-weight:bold'> </span></font></b><b><font size=2
color=blue face=Arial><span style='font-size:10.0pt;font-family:Arial;
color:blue;font-weight:bold'> </span></font></b><b><font size=2
color=purple face=Arial><span style='font-size:10.0pt;font-family:Arial;
color:purple;font-weight:bold'>yellow </span></font></b><b><font
size=2 color=green face=Arial><span style='font-size:10.0pt;font-family:Arial;
color:green;font-weight:bold'>black </span></font></b><b><font
size=2 color=black face=Arial><span style='font-size:10.0pt;font-family:Arial;
color:black;font-weight:bold'>red</span></font></b><b><font size=2 color=red
face=Arial><span style='font-size:10.0pt;font-family:Arial;color:red;
font-weight:bold'><br>
<br>
</span></font></b>you will notice that the upper line can be read much
faster than the lower line because of the mismatch of color perception and
meaning of the words in the lower line. <br>
<br>
so even if we all get used to the syntax the mismatch of the meaning of ->
(lambda) and the general recognition (pointer/assignment) will always be
disturbing for fast perceiving of ruby code.<br>
<br>
><br>
> Please, please consider adding both these patches into 1.9.<br>
><br>
bike shed or not, please seriously consider it.<br>
-- henon<o:p></o:p></p>
</div>
</body>
</html>
------_ extPart_001_01C8C28E.E1665354--