From: Peter Schroder 

  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 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, derived, virtual, and abstract classes,
  C+- supports gut classes.  In certain 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 derived
      sclass MySclass:  public MParent1, FParent1
      {           //    define MySclass

      sclass YourSclass: public MParent1, FParent2
      // illegitimate

      divorce (MParent1, FParent2);

      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.