Re: how about just juxtaposing? (Re: Sane + string concat proposal)

2001-04-24 Thread Michael G Schwern

On Tue, Apr 24, 2001 at 02:32:39PM -0500, Jarkko Hietaniemi wrote:
 Has the road of just putting things next to each other been extensively
 tried?  It works for Awk...  juxtapose, the Famous Invisible Perl
 Operator.
 
   Perl 5  Perl 6
 
   $a = $b . $c;   $a = $b $c; # or $b$c
   $a = foo.$c;  $a = foo $c;  # or foo$c
   $a = foo . $c;  $a = foo$c; # foo $c wouldn't work...
   $a = $c . foo;  $a = ${c}foo# (if foo is a function)
   $a = foo() . $c;$a = foo() $c;
   $a = $c . foo();$a = $c foo();
   $a = $b-c . $d;$a = $b-c $d;  # or $b-c$d;

This is going to make finding syntax errors a bit difficult, as many
will simply become concatination operators.  Consider

print Foo
foo(bar);

Did the author forget a semi-colon, or did they intend to concatinate
there?  Also, consider this...

print foo bar;

Is that 'print foo(bar);' or 'print foo().bar;' in Perl 5?


 I can see that the indirect objects can be painful

That's ok, just kill indirect objects.  Ooop, I'll be leaving before
Nathan finishes loading his gun. ;)


-- 

Michael G. Schwern   [EMAIL PROTECTED]http://www.pobox.com/~schwern/
Perl6 Quality Assurance [EMAIL PROTECTED]   Kwalitee Is Job One
purl Hey Schwern! honk, honk, honk, honk, honk, honk, honk, honk,
honk, honk, honk, honk, honk, honk, honk, honk, honk, honk, honk,
honk, honk, honk, honk, honk, honk, honk, honk, honk, honk, honk,
honk, honk, honk, honk, honk, honk, honk, honk, honk, honk, honk,
honk, honk, honk, honk, honk, honk, honk, honk, honk, honk!  



Re: how about just juxtaposing? (Re: Sane + string concat proposal)

2001-04-24 Thread Casey West

On Tue, Apr 24, 2001 at 08:42:10PM +0100, Michael G Schwern wrote:
: On Tue, Apr 24, 2001 at 02:32:39PM -0500, Jarkko Hietaniemi wrote:
:  Has the road of just putting things next to each other been extensively
:  tried?  It works for Awk...  juxtapose, the Famous Invisible Perl
:  Operator.
:  
:  Perl 5  Perl 6
:  
:  $a = $b . $c;   $a = $b $c; # or $b$c
:  $a = foo.$c;  $a = foo $c;  # or foo$c
:  $a = foo . $c;  $a = foo$c; # foo $c wouldn't work...
:  $a = $c . foo;  $a = ${c}foo# (if foo is a function)
:  $a = foo() . $c;$a = foo() $c;
:  $a = $c . foo();$a = $c foo();
:  $a = $b-c . $d;$a = $b-c $d;  # or $b-c$d;
: 
: This is going to make finding syntax errors a bit difficult, as many
: will simply become concatination operators.  Consider
: 
: print Foo
: foo(bar);
: 
: Did the author forget a semi-colon, or did they intend to concatinate
: there?  Also, consider this...

Or, did they intend to concatinate 'print' and Foo in void context?

-- 
Casey West



Re: how about just juxtaposing? (Re: Sane + string concat proposal)

2001-04-24 Thread Edward Peschko

 This is going to make finding syntax errors a bit difficult, as many
 will simply become concatination operators.  Consider
 
 print Foo
 foo(bar);
 
 Did the author forget a semi-colon, or did they intend to concatinate
 there?  Also, consider this...

*sigh*. Ok, how about: '++'?

Ed



Re: how about just juxtaposing? (Re: Sane + string concat proposal)

2001-04-24 Thread David L. Nicol


Ah.. I knew I'd find the thread in here somewhere.

The problems go away if you allow white space to signify.


 [...]  Consider
 
 print Foo
 foo(bar);
 
 Did the author forget a semi-colon, or did they intend to concatinate
 there?  Also, consider this...
they forgot a semicolon.  A spaceless juxtaposed concat would look like

 print Foofoo(bar);


and we insist that indirect objects have a space in them. And introduce
  for when you absolutely positively don't want to write an expression
with Cjoin.


-- 
  David Nicol 816.235.1187 [EMAIL PROTECTED]
   Henrik's keyboard has nice letters like 'æ', 'ø' and 'å'