On 21/09/2011 20:57, Randal L. Schwartz wrote:
>>>>>> "Rob" == Rob Dixon<rob.di...@gmx.com>  writes:
> 
> Rob>  I don't have Try::Tiny installed, but will take a look.

I am back at my desk, and have this horror from you to respond to. I had
started to enjoy some of your posts, and hoped that your legendary
brutal negativity was beginning to lapse.

Whatever your thoughts, please drop the shield that says you are
responding to people's coding rather than the people themselves. The
difference is an age-old philosophy, and I would love to hear your
thoughts on the distinction.

> I have an addressbar query shortcut of:
> 
>    http://search.cpan.org/perldoc/#query#
> 
> aliased to "perldoc", so I can type "perldoc Try::Tiny" and get the
> latest manpage on it directly from the CPAN without installing it.

Hooray for you. I use my editor as an IDE to do the very same thing.

> Rob>   If you mean that $@ may be accessed by several pieces of code
> Rob>   when a program dies,
> 
> No.  See the referenced docs.

I have thought a lot about how an 'eval' block may be unsafe, and have
commented several times to discourage it.

I have now read the POD for Try::Tiny, and I cannot see anything that I
hadn't already envisaged: that when a Perl process dies $@ may be
accessed by several pieces of code.

The Try::Tiny documentation says this

>     When you run an eval block and it succeeds, $@ will be cleared,
>     potentially clobbering an error that is currently being caught.

Oddly, you chose to misquote me by splitting a sentence. Your version of
my post is irregular and inappropriate. It is not what I would have written.

What I wrote was

> I don't have Try::Tiny installed, but will take a look. If you mean that
> $@ may be accessed by several pieces of code when a program dies, then I
> agree, but my main concern is that try / catch are both simply
> prototyped subroutines, and the compile can not tie things down to requiring
> 
>   try BLOCK catch BLOCK;

Your version:

 Rob>   then I agree, but my main concern is that try / catch are both
 Rob>  simply prototyped subroutines, and the compile can not tie things
 Rob>  down to requiring
 Rob> 
 Rob>    try BLOCK catch BLOCK;
 
> Why does that matter?  It's the semantics that you have to get right,
> not just the syntax.

I am sure you know the answer to that. It matters because the
presentation of the mechanism is deceptive. It looks very like

  while () {
    :
  }
  continue
    :
  }

but instead is something very different. As I have described, it amounts
to two obscure prototyped subroutine definitions. From the source:

  sub try (&;@);

and

  sub catch (&;@);

which is far from what the average man expects of 'while', 'for',
'continue' and so on. It is a deception, and should not be published
until the equivalent functionality is part of the Perl language.

> Rob>  Maybe Try::Tiny works differently but I can't see how it could
> Rob>  cover this.
> 
> Again, read the referenced doc.  It would have taken you about 5
> minutes, and you wouldn't have had to write this entire ignorant reply
> or waste my time replying to it.

Randal, as I opened, I had started to enjoy and respect your posts here
and elsewhere. You were never required to reply to my 'ignorant post',
yet you chose to show your foolish emptiness once again.

It seems to me that you place your entire worth in your extreme and
detailed knowledge of Perl and its teaching. Please believe me that, as
a fellow human being, I would love to hear about your personal
experiences and how programming has played a part in your character.

You certainly seem insecure, and your silliness about your criticism not
applying to a person but to their deeds needs to be washed ashore. Stop
it and be real. Believe me, you wouldn't cease to exist if you lost your
technical ability.

Rob

-- 
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to