How about....
Simply
"Goodbye, World"
/^v.+b$/i
After I've gone In a melancholy mood, this week. Went back home to have a look at Dad's bench. He was a Classics scholar, actually; went up to Cambridge and everything. And so above his name and dates on the brass plaque screwed into the wood, instead of "He loved this place" or something equally fatuous, it says: ORE STABIT …
Pascal - the first proper language I learnt and one I can still think in, as opposed to continuously translating
or
Objective C (SunOS vintage before Jobs got his hands on it). I remember the joys of writing my first polymorphic Edit buffer [[copyBuffer copy this ] paste]. Given an epitaph of
[[afterLife cut this] paste]
I think I recall seeing a rough approximation to The 12 Days of Christmas forming a syntactically valid Algol 68 program (though I might have imagined it over the intervening decades) - not necessarily appropriate words for a headstone but presumably it's an indication that other sentiments might be expressed (as well as an indication why the language never caught on).
Not that it need be a complicated message: "if I.exists() then raise alarm" should suffice for most purposes.
Alternatively, I think I have somewhere a listing of a Modula-2 compiler which is of no use for any living creature and, if stood next to your last resting place, would provide plenty of space for the bereaved to add their own messages at the final END;
This post has been deleted by its author
///////////////////////////////////////////////////////////////////////
// Tombstone_Header.h
// ------------------------------
//
// Author: None
//
// Copyright: Google
//
// License: Mine!!!
//
///////////////////////////////////////////////////////////////////////
IF HeartBeatPresent = True AND BreathingInAndOut = True THEN
Dig me up this f***ing instant
ELSE
Leave flowers and beer below
END IF
Assuming these entries might go into some funeral director's database you could ask for something that will end up as an awesome SQL injection attack resulting in your name going on every headstone created that week.
For some value of "awesome".
And where has the headstone icon gone?!
extern void graham(char& worms);
The worms go in, the worms go out. I'll be cremated. When I'm done, I won't be returning from the afterlife (if one exists) with any information for you. And if you know me, you can fill in the details of what I got up to.
Although
Body graham = gcnew Body;
has a certain ring to it. Someone else set my body up for me. And when I'm finished with it, someone else is going to have to free its resources, bcos I'll be done processing.
The only programming language suitable to put on your tombstone is GEORDIE, or as is more commonly known in the ultra-geeky community - Gulping Excessively Often Ruins Decent Indian Edibles.
<begin tombstone>
If ya ganna smork ya tab in ear,
ah'll belt ya from ear to Geeatsheed, mun
</aye enough>
int Age=0;
bool AsLongAsPossible = true;
try
{
while ( AsLongAsPossible )
{
Age++;
If(Age > 50)
{
int randomEvent = Random.Next(0, 9);
switch ( randomEvent )
{
case 0: throw new FatalException (" Old Age" );
case 1: throw new FatalException (" Body Failure" );
case 2: throw new FatalException (" Murdered " );
case 3: throw new FatalException (" Digitas" );
case 4: throw new FatalException (" Death by SnuSnu" );
default: break;
}
}
}
}
catch(FatalException death)
{
Dispose();
}
int expired = 0;
do {
expired = life();
while (!expired);
printf("Goodbye, world\n");
The function life() may factorise several parameters, functions and states, viz:
int life(void) {
static int age = 0;
eat();
drink();
if (age < 18) {
grow_up();
some_fun();
} else if (age >=18 && age <110) {
more_fun();
beer();
sex();
} else {
return 1;
}
return 0;
}
Ada. Has to be Ada. It has an honorable ancestry both with computer scientists (oops, excuse me, "boffins") *and* with English mathematics and literature. Plus it has enough Pascal-like features to let you feel comfortable (or at least, to rest in peace).
If that doesn't appeal to you, I offer as a second choice the original form of BASIC, line numbers (which should be Date of Birth and Date of Passing) and all.
Oh, as as usual, your column is wonderful.
STATE EQU $3EF
L_STATE STRUCT 0
@@Birth EQU 0
@@Youth EQU 1
@@Adult EQU 2
@@MidLife EQU 3
@@Senior EQU 4
@@OldLoon EQU 5
@@Dead EQU -1
ENDS
; =====================================
END_OF_LIFE PROC
MVII #L_STATE.Dead, R0 ; \_ Update state
MVO R0, STATE ; /
HLT ; He's dead, Jim.
ENDP
<-Verity
where the "<-" is meant as APL's left-pointing arrow (inexpressible in plain text but readily carved into granite) signifying the assignment operator. With no name to the left, the operator simply absorbs the value of Stob into the bit bucket. This is useful because to speak a name in APL, a la
Verity
is to summon its value to be displayed on the output stream, even if said value is an array with 93 dimensions and 111 levels of nesting and requires more than available memory to format.
Old tale from ICL on the use of "while". Code written in Bracknell wouldn't run in West Gorton (Manchester). The compiler was written and maintained in Manchester.
Now, in southern thinking "while" means "during" or "until" so "do x during the period y is true"
In Lancashire, it means "when", so "don't do x until y happens"
You can see the source of confusion.
//LIFE JOB (1111,GOD,01),
// CLASS=A,
// MSGCLASS=1,
// REGION=0M,
/*LOGONID GOD
//***********************************************
//CREATE EXEC PGM=BIRTH,PARM='/STA PGM VERITY'
//SYSOUT DD FREE=CLOSE,SYSOUT=*
//**********************************************
//*************************************
//WAITABIT EXEC PGM=ILACWAIT,COND=(0,NE),PARM=&LIFE
//SYSOUT DD FREE=CLOSE,SYSOUT=*
//*
//****************************************************
//DEATH EXEC IPJCLCMD,PRM='/CANCEL VERITY
//**********************************************************'
: have "Currently having " swap concat ;
: fun "fun" ;
: main 1 while "#somechannel" fun have say endwhile ;
I like easy to read though, so how about something less obscure?
def have(something)
puts "Currently having #{something}"
end
def fun
"fun"
end
alive = true
have fun while alive
There are those who study "continuations" aka "control effects". In the continuation-passing style, which is used for compiling functional programming languages suich as (NJS)ML, the "continuation" aka return address is passed as an argument, as it is in Assembly code.
It is therefore possible that the continuation may be called once, never or even more than once.
When I first heard of this it reminded me of the restoration of the English Monarchy in 1660, when all of the signatories of Charles I's death warrant were declared traitors and hanged. Those that had died in the meantime were dug up first.
Don't forget about ADA
use VStrings;
Index : Integer; --number of items in memory
Success : Boolean; --determines success of delete
ItemToDelete : Recording; --requested item to be deleted
begin
Ada.Text_IO.Put ("Enter Item To Delete => ");
Ada.Text_IO.Skip_Line;
VStrings.IO.Get_Line (Item => ItemToDelete.Name,
MaxLength => MaxLineLength);
Index := 1;
Success := False;
Myles na gCopaleen quoted a headstone that went as follows
hic jacet 1 5 4
0 4 1 2 8
0 1 4 2 0
... sadly the rest escapes my memory. The above translates (probably) as:
Here lies one fifer
Nothing for one to hate
Nothing for one to love
...
Whether the stonemason could carve out the letters with one hand while updating his facebook account with th eother is not recorded.
(A pint, because "a pint of plain is your only man".)
Really, out of 147 comments so far there is not one that simply suggests a simple NOP? If you are picky about it, you can put a jump after it.
As always, if you fail to describe something, do it in assembly. Here for Atmel AVR 8bit microcontrollers.
0000 NOP No operation
CFFE RJMP PC-0x0001 Relative jump
But just NOP has a nice ring to it, I must say. Short, to the point and looks a bit like RIP.
011010010110011000100000011110010110111101110101001
000000110001101100001011011100010000001110010011001
01011000010110010000100000011101000110100001101001
011100110010110000100000011110010110111101110101001
00000011000010111001001100101001000000111001101110
100011000010110111001100100011010010110111001100111
001000000110111101101110001000000110110101111001001
0000001100110011001010110010101110100
The lfs are el reg's...
No-one's mentioned Inform. Probably for very good reason. But nonetheless, my offering (and I hope the comments system doesn't mangle things too much):
"The Life and Times of Verity Stob" by Maksim Rukov
This Mortal Coil is a room. "Not a bad place, really. You should probably not leave."
The player is a woman called Verity Stob.
Instead of going nowhere in This Mortal Coil, end the story saying "You have died."
You can play it online if you fancy (if I can post URLs).
http://iplayif.com/?story=http%3A//members.iinet.net.au/~nichevo/zcode/stob.zblorb
It's assumed one's epitaph is influenced by their view on the nature of life, and death. Unfortunately we readers aren't privy to those innermost of your details, so it's hard to be truly helpful.
That leaves two main schools of thought: do you continue, or do you not?
Brevity is also encouraged, for some strange reason. Perhaps the cost of cutting stone.
In the one side, it could be as simple as: !Stob
On the other: function Stob { exit(); }
Though one could see how the latter possibly indicates lack of continued existence as well. Would all depend on garbage routines in the afterlife.
Good luck finding your final words!
Various bad puns based on RIP:
.
.
function Peace(){
sleep(1);
}
or
while(true){ sleep(1); }
or a full class
class Stob extends Person{
const DOB; //Set your value here
const DOD; //Set your value here
public function Stob(){
$now = new DateTime();
while($now < DOD){
$this->live();
$now = new DateTime();
}
}
public function __destruct(){
while(true){
sleep(peace);
}
}
}
$stob = new Stob();
\ nd = no data - empty posting because the title was sufficient. Don't look here for meaning, reason or cleverness. This post was for the authour and not for you. Figure out yer own epitaph. One of my aunts was deflicted with a Latin version of "misers make great ancestors, but terrible relatives." Go figure. It was commissioned by her son. The first try was mis-spelled by the stone mason; which seems to encapsulate much of her life.
Next time remember: "\ nd" means "no data." because I won't post an explanation.