[Thread Prev][Thread Next][Thread Index]
Tenne-C
- Subject: Tenne-C
- From: stevenj@xxxxxxxxxxxxx (Steven)
- Date: Wed, 2 Jun 1999 19:20:01 PDT
- Approved: rhf-reruns@netfunny.com
- Followup-to: rec.humor.d
- Keywords: heard it, funny, originally appeared in third quarter, 1988
- Newsgroups: rec.humor.funny.reruns
- Xref: rice rec.humor.funny.reruns:1317
I was recently (as in yesterday) given this announcement for a new C
compiler. Please do not direct any questions concerning this product
to me - all I know is what you see here. Please contact the company
for further information. Also, this is long, so please edit
accordingly when replying via news.
-----------------------------------------------------------------
Tenne-C Announcement
Tenne-C programming language
from Good Ol' Boy Systems.
NOTE: The following is rated PG; programmer's guidance should be
exercised.
For all those unfamiliar with Tenne-C, the comment delimiter is
WHISPER. The computer stores all WHISPERed comments in memory, but the
instruction execution unit can never quite decode them, so they are
ignored. Some beta site users have reported an occasional problem with
IBM clone machines. These machines may get slightly confused or mildly
paranoid due to the whispered remarks in the background, but the
effects are usually limited to an occasional mutterance printed on the
display. Note that the optional extended obcenity instruction set
should not be installed in clone machines. Should such a machine
crash, you could be arrested for making an obscene clone fall.
General Idiosyncrasies of Tenne-C
Data is referred to as Ciphers; the start of a data section should be
so labeled. Data which is external to a given file is denoted by the
term YONDER, similar to the EXTERNAL directive.
Single arguments are not passed to functions individually; rather,
multiple passes are made simultaneously to all functions. Thus, in
Tenne-C, we speak of feuds rather than arguments. This is an extremely
powerful, albeit somewhat destructive feature of Tenne-C.
Relational operators work similarly to those in other languages, but in
Tenne-C these are called kinfolk operators. It will be noted that some
of these interrelate better than others. Kinfolk operators include:
Bettern (mines) bettern (yourn)
Boutlack (mines) boutlack (yourn)
Nearlyboutlack (mines) nearlyboutlack (yourn)
Worsern (yourns) worsern (mine)
Nearlyboutsgoods (yourns) nearlyboutsgoods (mine)
Lack (mines) lack (yourn)
Sortalack (mines) sortalack (yourn)
Differrtn (yourns) differrtn (mine)
The Boolean operators are somewhat different than most. Note the lack
of AND and OR operators:
taint
istoo
tis
aintdunnit
nary
nope
Variable assignments must be explicitly declared with the AHDODECLARE
directive, although one declaration can serve a block of variables.
Variable assignments can be quite interesting and flexible, as can be
seen in the following examples:
ahdodeclare: a's nearlybout 3
b's zacktly 4
c's bout 2
d's morerless TWEV
e's 2, an imeanit WHISPER a constant
Certain constants are implicit, such as SCOSHE, LIBBIT, FAV, SEM, NAN,
LEM, TWEV, THUTTY, etc. Such obvious values need not be declared, as
they reside in the liberry books.
Arrays must be declared with the AHDODECLARE statement, and are
referred to as messa, as in:
Ahdodeclare(dinner) messa(fish) TWEV
Note that until you get the hang of array declarations, you may
encounter a SYNTEXT ERROR; this is a syntax error which has been taken
out of context.
The program section is referred to as CHORES and is labeled as such.
Several loop and conditional constructs are available. These include
the following:
Hauloff and do
Fer, til loop
Whol, longasyerattit
Iffen, theyen
Yehbut, nowait
Code is grouped into hopefully functional units with the standard, []
and () operators, although they are given slightly different names.
They are still called braces, but the [] are called kibbuls and the ()
are called bits. Thus, you can have braces and bits or kibbuls and
bits. Braces and kibbuls are, of course, meaningless.
If a KIBBITZ ERROR is encountered at compile time, that is a single kib
[ with a pair of bits (). The ommision of a single ] can also result
in a NO BULL! error. Very serious compiler errors will be preceeded
by the SELF message. That's right, brace yourself. We're talking
about such errors as SOURCE FILE TURNED TO TRASH, SOURCE FILE CONVERTED
TO RUN FILE, HEX PUT ON SOURCE FILE, that sort of thing. Errors of
this type will be followed by the message "START ALL OVER FROM
SCRATCH," and the offending source file will, of course, be deleted.
Error messages can be quite strong indeed. We have one of the most
arrogant compilers in the business, a source of great pride for us.
Typical error messages include:
WELL, IF THAT AIN'T ABOUT THE DUMBEST DANG THANG
I EVER SEEN!
WHADJA DO THAT FER?
ERROR TWENNY SEM, DUMB AICE!
DAMMIT, BOY, HOW MANY TIMES I GOT TO TELL YOU?!
The compiler is referred to as the THRASHER and is invoked with the
simple THRASH directive. BE SURE NOT TO OMIT THE "H" FROM THIS
COMMAND!!! If you are unsure whether you want to compile the entire
program, you may use the more general THRASH AROUND command.
Good Ol' Boy Systems still clings tenaciously to the notion that
single-sided diskettes are better than double-sided diskettes. We
maintain that a single-sided diskette is in opposition to the laws of
physics as we know them today. However, we further maintain that, at
some time in the future, Good Ol' Boy Systems will be the first to
discover the unlimited storage of the heretofore undiscovered "nether
side" of single-sided diskettes. Now THAT, folks, is virtual disk
space.
A software linker is not yet available. Until the virtual disk space
is truly solved, we strongly recommend double sided disk drives. You
can then purchase our hardware linker, which allows you to superglue
two single-sided diskettes together.
We're working on other things, too. For instance, there's our new
operating system, MS-HOSS, with the 'Mater Vine file structure. And
for 'Mater Vine support, there's 'Mater Stakes. And if you thought
SideKick was good, wait til you see our new ButtKick utility. Expected
to be widely available by the end of next month, regardless of what
month this be, it is being developed using our powerful new Four Barrel
Tenne-C. While we aren't yet ready to develop a Turbo Tenne-C, we feel
that the high data compression ratio of Four Barrel Tenne-C will
suffice.
Here is a sample of our work. This is part of our new floating point
package, written in LOWLIFE, our low-level programming language.
UNSTACKUMDOTNUMBER WHISPER rip number off the stack
JIP DOTREMOVER WHISPER jump if punctuated
DONTDONOTHING WHISPER no op
JUMPEM2DGITBACK WHISPER return
GUMDROPS4EARPLUGS WHISPER sweet things in my ear
DOTREMOVER:
RDLDOTNUMBER WHISPER Rikki, don't lose that
number
ASRDOTNUMBER WHISPER shift the number right
JISPDOTREMOVER WHISPER jump if still punctuated
ABSOLUTELYNOT WHISPER negate and take ABS
BZZBZZBZZ WHISPER WHISPER WHISPER EM2DGITBACK:
RTS WHISPER return to stack
RETURNS WHISPER return estimated truncated
WHISPER unary radix numerix stuff