Talk:Guarded Command Language

message: Guarded Commands are building blocks of the Guarded Command Language, not the name of the language.
Reference: EWD472
The Dutch version of this article already uses the name Guarded Command Language.
I'm not a regular contributor, and only vaguely familiar with guidelines for such changes. Can someone review this?
DaanS 15:00, 10 March 2006 (UTC)
thread_title: Wrong title?

message: :Add any additional comments
* You can do the move without formal vote or administrator intervention as it's not highly controversial and the target page doesn't exist. However, we could discuss why the proposed name would be more appropriate. In the given paper, my eyes didn't catch the phrase "Guarded Command Language". FOLDOC has an article on "Dijkstra's guarded command language". --TuukkaH 20:12, 10 March 2006 (UTC)
replies: text: I was unsure about controversiality since Guarded Commands is commonly used to name the language even though it's incorrect as far as I know. EWD472 doesn't use Guarded Command Language, but does state that Guarded Commands are building blocks. The main problem is that, as far as I know, the language was never "officially" named by it's creator -DaanS 21:37, 10 March 2006 (UTC)
replies: text: If the language wasn't named officially, wouldn't the commonly used name make sense? Guarded Commands as an abbreviation for the Language of guarded commands doesn't sound incorrect to me. --TuukkaH 22:53, 10 March 2006 (UTC)
replies: text: Actually, both are commonly used names. My problems with Guarded Commands are (1) ambiguity between the language and the construct, and (2) the use of Guarded Command Language to denote the language by Dijkstra's former peers at the Eindhoven University of Technology. I'll admit though that (2) is easily countered. -DaanS 00:05, 11 March 2006 (UTC)

text: Ok, moved as proposed. --TuukkaH 11:21, 15 March 2006 (UTC)

text: Agreed, and fixed. --81.77.124.59 13:25, 2 December 2006 (UTC)
thread_title: Discussion

message: test -> expression
is same as 
if
    test-> expression
fi
is there *any* reason to keep if fi pair if C as the conditino is already a test ;) ? and it seems like only in blocks where is cycle it is needed;) 84.16.123.194 (talk) 02:32, 31 January 2008 (UTC)
thread_title:  is this if necessary? 

message: test -> expression
is same as 
  if
    test-> expression
  fi
is there *any* reason to keep if fi pair if C as the conditino is already a test ;) ? and it seems like only in blocks where is cycle it is needed;) 84.16.123.194 (talk) 02:33, 31 January 2008 (UTC)
thread_title:  is this if necessary? 

message: This gives rather a broad scope to a and y - since  \langle \forall a :b=0: gcd(a,b)=a \rangle \wedge \langle \forall y :b=0: yb=0 \rangle 
apparently x = 1. 
Somehow the usefulness of  Bézout's identity needs additional clarification.  
presumably what is intended is xA + yB = gcd(A,B)
—Preceding unsigned comment added by J.Dering (talk • contribs) 07:51, 7 July 2008 (UTC)
thread_title:  This repetition ends when b = 0, in which case the variables hold the solution to Bézout's identity: xa + yb = gcd(a,b). 

message: If you read for instance the paper on smoothsort, you see that Dijkstra uses various operators in his expressions - obvious arithmetic ones like +, -, . (meaning multiplication), / and mod, but also what appear to be two logical operators, cor and cand. I assume these are the familiar or and and. A later paper of Dijkstra's uses the same names (albeit in a quite different context) to refer to the 'conditional and' and 'conditional or', in which if the first operand is false or true respectively, the second one is ignored - somewhat like the && and || operators in C-family languages. I assume that smoothsort's cor and cand are the same as Rubin's cor and cand (even though in the Rubin paper he concludes those operators "are better avoided"!).
Anyway, my point is that the description of GCL is incomplete without a list of operators that can be used in expressions. Did Dijkstra ever provide one, or did he use operators willy-nilly and just expect people to understand them?  —Preceding unsigned comment added by 93.96.235.0 (talk) 22:23, 13 April 2009 (UTC)
thread_title:  Operators? 

message: This article is very poorly written, which is ironic, given Dijkstra's VERY high standards. I suggest that it be deleted.
:Why don't you just help to improve it? 131.155.204.185 (talk) 12:05, 23 October 2012 (UTC)
thread_title: Quality of this article

message: I wrote a full compiler for this language in the final year of computer studies degree at Southampton University back in 1987. Written in YACC, it compiled down to p-code for interpretation, or native 68020 which ran on one of our Unix boxes. Ran very nicely on the old text terminals of the day! I even wrote a simple finite-state language parser for it - just to prove you could do 'real' computation with it. I was going to augment it with Parnas' it-ti construct, but ran out of time. So sorry, but at least one compiler does (did) exist!
164.129.1.42 (talk) 11:22, 29 June 2009 (UTC)
thread_title: No compilers???

message: The article doesn't make clear whether this is intended as an implementable programming language, a pseudo-code specification, or a mathematical/logical notation for describing algorithms.  Seems to be a pseudo-code, but the article should explicitly mention this.  — 138.100.74.81 (talk) 09:47, 11 June 2012 (UTC)
replies: text: The article does explicitly state that it is not meant as an implementation language. I would not consider it pseudo code either, because its semantics are very strictly defined. So yes, mathematical notation for algorithms. Will need reference, though. 131.155.204.185 (talk) 12:02, 23 October 2012 (UTC)
thread_title:  Pseudocode?  Programming language? 

message: Hello fellow Wikipedians,
I have just modified one external link on Guarded Command Language. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
*Added archive https://web.archive.org/web/20110720175255/http://crest.abo.fi/publications/public/1978/OnTheCorrectnessOfRefinementStepsInProgramDevelpmentTR.pdf to http://crest.abo.fi/publications/public/1978/OnTheCorrectnessOfRefinementStepsInProgramDevelpmentTR.pdf
When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.
Cheers.—InternetArchiveBot (Report bug) 05:23, 15 December 2017 (UTC)
thread_title:  External links modified