If you believe in some form of afterlife and event programming
when ('trumpet call') rise_to_heaven() ;
when( 'rebirth') become_ant() ;
when( 'zombie apocalypse') eat_brains() ;
etc.
/^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 …
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;