[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

the "blame" pragma



In the amusing paper "Beyond Ada: The First Paranoid Programming Language"
(http://paul.merton.ox.ac.uk/computing/paranoid-programming-language.html)
there is an explicit "blame" pragma, but it can only be directed toward a
specific
procedure:

	Typical pragmas include the following:

		#distrust(procedure)

                                                                       
   	to put extra suspicion on a procedure,

		#ignore(procedure)
                                
	to totally forget about any calls to a procedure,


		#blame(procedure)

	to pin the blame on this procedure whenever anything dies...

The language also includes conditional operators, such as

	IF x WAS_EVER 100 THEN...

	ON_SUSPICION OF x < 100... 

	INSIST UPON a IS 1;;
		UNLESS void OR illegal OR broken;

And "non-pedantic" assignment operators:

	x !:= 3		(assigns any value but three)
	x REALLY 3 	(insists strongly that x is 3)
	x HONESTLY 3	(forces the system to believe that x is 3)
	x MIGHTBE 3	(lets the system decide)

"What makes it so powerful?  For a start, it's a long way from
a traditional von Neumann machine."

Kevin Kelleher