From bloom-picayune.mit.edu!snorkelwacker.mit.edu!spool.mu.edu!uwm.edu!rutgers!cbmvax!snark!eric Tue Dec 31 21:37:44 EST 1991
Article: 240 of alt.lang.intercal
Path: bloom-picayune.mit.edu!snorkelwacker.mit.edu!spool.mu.edu!uwm.edu!rutgers!cbmvax!snark!eric
From: eric@snark.thyrsus.com (Eric S. Raymond)
Newsgroups: alt.lang.intercal
Subject: Re: Error messages
Message-ID: <1dyFNp#3LGfJ11kWf1T7dhvzV7F8RO2=eric@snark.thyrsus.com>
Date: 30 Dec 91 14:09:29 GMT
Article-I.D.: snark.1dyFNp#3LGfJ11kWf1T7dhvzV7F8RO2=eric
References: <1dwcFY#5RH31J3JrqVd5RLc5v83XTMH=eric@snark.thyrsus.com> <NEERI.91Dec29123444@iis.ethz.ch>
Lines: 175
In-Reply-To: eric@snark.thyrsus.com's message of 27 Dec 91 18:56:52 GMT
Nntp-Posting-Host: iis-gw

In <NEERI.91Dec29123444@iis.ethz.ch> Matthias Ulrich Neeracher wrote:
> Personally, I find the INTERCAL-72 message *much* funnier.

Noted.
 
>While I haven't seen the complete list of INTERCAL-72 error messages, from
>those published here, I have the impression that they tend to be travesties of
>"normal" compiler error messages. Your messages, on the other hand, try to turn
>the complier into a comedian.

Ho ho ho.  I see I'd better post the whole list of INTERCAL-72 messages:

/* An undecodable statement has been encountered in the course of execution."*/
#define E000 "000 %s\n\
	ON THE WAY TO %d\n"
/* An expression contains a syntax error. */
#define E017 "017 DO YOU EXPECT ME TO FIGURE THIS OUT?\n\
	ON THE WAY TO %d\n"
/* Improper use has been made of statement identifiers. */
#define E079 "079 PROGRAMMER IS INSUFFICIENTLY POLITE\n\
	ON THE WAY TO %d\n"
/* Improper use has been made of statement identifiers. */
#define E099 "099 PROGRAMMER IS OVERLY POLITE\n\
	ON THE WAY TO %d\n"
/* Program has attempted 80 levels of NEXTing */
#define E123 "123 PROGRAM HAS DISAPPEARED INTO THE BLACK LAGOON\n\
	ON THE WAY TO %d\n"
/* Program has attempted to transfer to a non-existent line label */
#define E129 "129 PROGRAM HAS GOTTEN LOST\n\
	ON THE WAY TO WHO KNOWS WHERE\n"
/* An ABSTAIN or REINSTATE statement references a non-existent line label */
#define E139 "139 I WASN'T PLANNING TO GO THERE ANYWAY\n\
	ON THE WAY TO %d\n"
/* A line label has been multiply defined. */
#define E182 "182 YOU MUST LIKE THIS LABEL A LOT!\n\
	ON THE WAY TO %d\n"
/* An invalid line label has been encountered. */
#define E197 "197 SO!  65535 LABELS AREN'T ENOUGH FOR YOU?\n\
	ON THE WAY TO %d\n"
/* An expression involves an unidentified variable. */
#define E200 "200 NOTHING VENTURED, NOTHING GAINED\n\
	ON THE WAY TO %d\n"
/* An attempt has been made to give an array a dimension of zero. */
#define E240 "240 ERROR HANDLER PRINTED SNIDE REMARK\n\
	ON THE WAY TO %d\n"
/* Invalid dimensioning information was supplied
 * in defining or using an array. */
#define E241 "241 VARIABLES MAY NOT BE STORED IN WEST HYPERSPACE\n\
	ON THE WAY TO %d\n"
/* A 32-bit value has been assigned to a 16-bit variable. */
#define E275 "275 DON'T BYTE OFF MORE THAN YOU CAN CHEW\n\
	ON THE WAY TO %d\n"
/* A retrieval has been attempted for an unSTASHed value. */
#define E436 "436 THROW STICK BEFORE RETRIEVING!\n\
	ON THE WAY TO %d\n"
/* A WRITE IN statement or interleave ($) operation
 * has produced value requiring over 32 bits to represent. */
#define E533 "533 YOU WANT MAYBE WE SHOULD IMPLEMENT 64-BIT VARIABLES?\n\
	ON THE WAY TO %d\n"
/* Insufficient data. (raised by reading past EOF) */
#define E562 "562 I DO NOT COMPUTE\n\
	ON THE WAY TO %d\n"
/* Input data is invalid. */
#define E579 "579 WHAT BASE AND/OR LANGUAGE INCLUDES %s?\n\
	ON THE WAY TO %d\n"
/* The expression of a RESUME statement evaluated to #0. */
#define E621 "621 ERROR TYPE 621 ENCOUNTERED\n\
	ON THE WAY TO %d\n"
/* Program execution terminated via a RESUME statement instead of GIVE UP. */
#define E632 "632 THE NEXT STACK RUPTURES.  ALL DIE.  OH, THE EMBARRASSMENT!\n\
	ON THE WAY TO %d\n"
/* Execution has passed beyond the last statement of the program. */
#define E633 "633 PROGRAM FELL OFF THE EDGE\n\n\
	ON THE WAY TO THE NEW WORLD\n"
/* A compiler error has occurred (see section 8.1). */
#define E774 "774 RANDOM COMPILER BUG\n\
	ON THE WAY TO %d\n"
/* An unexplainable compiler error has occurred (see J. Lyon or D. Woods). */
#define E778 "778 UNEXPLAINED COMPILER BUG\n\
	ON THE WAY TO %d\n"

I think I'm squarely within the tradition established by INTERCAL-72...
 
> So, if you want a consistent set of error messages, I suggest you change 222,
> 333, 444, 666, 777, 888, and 999. 555, 998 and 997 are IMHO very good examples
> of the "pseudo-serious" error messages I would like to see (BTW, what the hell
> is "illegal possession of an unary operator" ?).

It's a spoof of a common criminal charge, "illegal possession of a controlled
substance".  "Controlled substance" is lawyer-talk for "recreational drug".
 
> If you want to go for the "funny" messages, I still think you should try to
> improve 222, 666 and maybe 333. The others *are* funny.

It occurs to me that we may have a more general translation problem here; some
of these are going to be opaque to anyone not steeped in Amewrican pop culture.
Herewith some explanations:

123 PROGRAM HAS DISAPPEARED INTO THE BLACK LAGOON

This refers to a famously deadful monster movie called "The {Creature,Monster,
Terror} from the Black Lagoon" (I'm not sure of the second word).  The
Creature is your archetypal scaled, web-footed, goggle-eyed fish-man.  Pretty
ludicrous.  At the end of the movie he disappears back into the lagoon.

197 SO!  65535 LABELS AREN'T ENOUGH FOR YOU?
533 YOU WANT MAYBE WE SHOULD IMPLEMENT 64-BIT VARIABLES?

It isn't the content of these messages that's funny, but the form.  To a native
English speaker they have a faint but definite flavor of Yiddish, and suggest
some formidable yenta from Brooklyn dripping scorn on a hapless relative.

562 I DO NOT COMPUTE

Refers to a cheesy old TV series called "Lost In Space"; the ridiculous
anthromorphic robot, Robby, used to say "THAT DOES NOT COMPUTE" when
puzzled.

632 THE NEXT STACK RUPTURES.  ALL DIE.  OH, THE EMBARRASSMENT!

This is mine.  It refers to an insanely funny SF short story called "A !Tangled
Web" (the ! represents a "click" sound as in Xhosa),  The !Tang are aliens
who look like ambulatory haystacks.  They have a custom which figures in the
plot; whenever one of them has to disagree with another, he/she has to make
up and utter a disaster story that conventionally ends with "All die.  Oh,
the embarrassment!"  This happens quite a few times in the story.

633 PROGRAM FELL OFF THE EDGE ON THE WAY TO THE NEW WORLD

Refers to the myth that Columbus's sailors feared they would do likewise.
In fact, sailors and educated men of the period knew the world is round.

And, among the new ones:

111 COMMUNIST PLOT DETECTED, COMPILER IS SUICIDING

Well, if you try to use C-INTERCAL extensions with the `traditional' flag
on, it's got to be part of a subversive scheme to corrupt INTERCAL's
purity of essence, right?  I concocted this one on the night the U.S.S.R.
was officially dissolved.

222 BUMMER, DUDE!

This is the "Out of stash space" message.  To grok this, you need to know
that "stash" was 1960s and 70s-era slang for one's cache of controlled
substances.

333 I'M FEELING DIZZY

This is the "Too many variables." message, and I'm not really happy with
it.  Suggestions welcomed.

444 IT CAME FROM BEYOND SPACE

Describes "A COME FROM statement references a non-existent line label".  This
was inspired by 123 and 241; it's the title of yet another dreadful monster
movie.

777 A SOURCE IS A SOURCE, OF COURSE, OF COURSE

"No such source file."  Refers to another famously awful TV series, about
a talking horse named Mr. Ed.  The opening theme of the show had Mr. Ed
singing "A horse is a horse, of course, of course..."

888 I HAVE NO FILE AND I MUST SCREAM

"Can't open C output file."  Another SF reference, this time to a famous
Harlan Ellison short titled "I Have No Mouth, And I Must Scream".

999 NO SKELETON IN MY CLOSET, WOE IS ME!

"Can't open C skeleton file."  In English, to have "a skeleton in one's
closet" is idiomatic for having a dangerous secret in one's past.
-- 
      Eric S. Raymond = eric@snark.thyrsus.com  (mad mastermind of TMN-Netnews)


