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

Off Topic? Guarded commands...

Hi there!

Sorry, I am "abusing" this list because there are so many smart and 
experienced PL people here. If you prefer to reply in private I can 
post a summary later.

I have always been intrigued by Dijkstra's guarded commands, i.e. 
the if .. fi, do .. od things, and I keep wondering why they never 
make it into any (reasonably popular) programming language.

I come back to this question in cycles, and usually it happens when 
I run across a paper or book that mentions them. Two recent 
examples are when I browsed lots of compiler construction books for 
a course I gave, and when I read up a little on the ESC project at 
SRC. It seems that guarded commands are used only

(a) to "abstractly" proof algorithms that are then implemented in 
another notation/language

(b) to "annoy" students in text books on programming languages and 
compiler construction

(c) to serve as an "intermediate representation" for more 
"standard" language constructs (see SRC's ESC or the work on 
"guarded single assignment form" done by Brandis at ETH, 

So, to sum up what I am looking for: Does anyone know references on 
"real" programming languages that use guarded commands, or can 
anyone shed some (possibly subjective, possibly anecdotal) light on 
why they don't seem to catch on?

Peter H. Froehlich @ http://www.ics.uci.edu/~pfroehli/