> > wow incrementing with ++ is not orthogonal to +1!

My wording was bad, I meant that the break of symmetry of '++' and '+1' "lowers the orthogonality" of the language.

This comment from a Java board reflects my understanding of orthogonal:

Orthogonality is a boolean property. You have it or you don't. It is not a number or count. ...

What Wirth specifically meant was that Pascal control statements and declarations are independent of each other. This is the reason why Pascal compilers can be so small. See here.

The concept in programming languages comes from Van Wijngaarden's paper Orthogonal design and description of a formal language prepared for the Algol-68 group, in which he expressed the desire to 'see the definition of a (programming) language as the Cartesian product of its concepts'.

And if features of the concept of addition are not parallel, the product of the features becomes "less" Cartesian, i.e. one gets "more exceptions from the rule". That's my personal definition of "lowering orthogonality".

Cheers Rolf

UPDATE: to be more explicit:

:~$ perl -wde0 ... DB<1> my %a; $a{1}=$a{1}+1;print $a{1} Use of uninitialized value $a{"1"} in addition (+) at (eval 5)[/usr/sh +are/perl/5.10/perl5db.pl:638] line 2. ... 1 DB<2> my %a; $a{1}++;print $a{1} 1

in perl lingo you might say ++ has special magic!


In reply to Re^5: Numification of strings by LanX
in thread Numification of strings by LanX

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.