C+-...???

The Loony Bin ( loonies@bloodaxe.demon.co.uk )
Tue, 7 May 1996 12:02:17 +0100


Hiya People...

Sorry non-comp folk...this one's not for you...

Wishes & Dreams...

- ANDREA
        xx
-- 
************<andrea@bloodaxe.demon.co.uk>************
******************<ajc6@ukc.ac.uk>*******************
***                                               ***
***                THE LOONY BIN                  ***
***          loonies@bloodaxe.demon.co.uk         ***
***                                               ***
******************Internet Goddess*******************
*********************ANDROMEDA***********************

  ------- Forwarded message follows -------

C+-:     (pronounced "C more or less")

Unlike C++, C+- is a subject oriented language.  Each C+- class instance
known as a subject,  holds hidden members, known as prejudices  or
undeclared preferences, which are impervious preferences, which are
impervious to outside messages, as well as public members known as boasts
or claims.  The following C operators are overridden as shown:

>       better than
<       worse than
>>      much better than
<<      forget it
!       not on your life
==      comparable, other things being equal.

C+- is a strongly typed language based on stereotyping and self-righteous
logic.  The Boolean variables TRUE and FALSE  (known as constants in
less realistic languages) are supplemented with CREDIBLE and DUBIOUS, which
are fuzzier than Zadeh's traditional fuzzy categories.  All Booleans can be
declared with the modifiers strong and weak.  Weak implication is said to
"preserve deniability" and was added at the request of the D.O.D. to ensure
compatability with future versions of Ada.  Well-formed falsehoods (WFFs)
are assignment-compatible with all Booleans.  What-if and why-not
interactions are aided by the special conditional evenifnot X then Y.

C+- supports information hiding and, among friend classes only, rumor
sharing.  Borrowing from the Eiffel lexicon, non-friend classes can be
killed by arranging contracts.  Note that friendships are intransitive,
volatile, and non-Abelian.

Single and multiple inheritance mechanisms are implemented with random
mutations.  Disinheritance rules are covered by a complex probate protocol.
In addition to base, derrived, virtual, and abstract  classes, C+- supports
gut classes.  In certian locales,  polygamous derivations and bastard
classes are permitted.  Elsewhere, loose coupling between classes is illegal,
so the marriage and divorce  operators may be needed:

marriage (MParent1, FParent1);
// child classes can now be derrived
sclass MySclass: public MParent1, FParent1
{       //  define MySclass


sclass YourSclass: public MParent1, FParent2
// illegitimate

divorce (MParent1, FParent1);

marriage (MParent1, FParent2);
sclass YourSclass: public MParent1, FParent2
{  //  OK now


Operator precedence rules can be suspended with the directive #pragma dwim,
known as the "Do what I mean" pragma.  ANSIfication will be firmly resisted.
C+-'s slogan is "Be Your Own Standard."