home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.disi.unige.it
/
2015-02-11.ftp.disi.unige.it.tar
/
ftp.disi.unige.it
/
pub
/
.person
/
GianuzziV
/
SysOp
/
C+-.txt
next >
Wrap
Text File
|
1998-10-29
|
2KB
|
61 lines
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 claims or boasts.
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 compatibility 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-symmetric.
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, 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."
Carl Kugler III