On Fri, Apr 02, 2004 at 03:05:30PM +0100, Simon Cozens wrote:
: [EMAIL PROTECTED] (Austin Hastings) writes:
: > >      if (specific() ?? detail1() && detail2() :: general()) {...}
: > 
: > For some value of "correct" I suppose. Using ??:: within an if/else context
: > makes my skin crawl, stylistically. :-(
: 
: Ah, then use if!
: 
:   if (if(specific()) { detail() } else { general() }) {
:       ...
:   } else {
:       ...
:   }

What's that?  PL/Ruby?

In Perl 6 that would more clearly be written:

    if do { if specific() { detail() } else { general() } } {
      ...
    } else {
      ...
    }

or, of course,

    if specific() ?? detail() :: general() {
      ...
    } else {
      ...
    }

Sorry, Perl 6 is just not going to confuse statements and expressions.
A statement is the artificial equivalent of a sentence, and it's no
coincidence that every natural language has something like a sentence
for the purpose of clocking and resynchronizing the discourse.
I think pinning the large-scale control structures to the discourse
structure is a really good idea, both for the computer trying to
decide what error message to spew, and for the person who is going
to have to try to decipher that error message.   To break that in
the name of orthogonality ignores the linguistic evidence built up
over many thousands of years.  Even an almost purely RPN language
like Japanese likes to use honorifics and/or a bunch of particles to
mark the ends of its sentences, yo?

Larry

Reply via email to