Jump to content

Qualification principle

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by EmphasisMine (talk | contribs) at 16:25, 18 April 2011 (provide context in opening sentence). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In programming language theory, the qualification principle states that any semantically meaningful syntactic class may admit local definitions. In other words, it's possible to include a block in any syntactic class, provided that the phrases of that class specify some kind of computation. (Watt 1990)

A common examples for of this principle includes:

  • block command -- a command containing a local declaration, which is used only for executing this command. In the following excerpt from a C program, tmp variable declarared local to surrounding block command:
if (a > b) {
    int tmp;
    tmp = a;
    a = b;
    b = tmp;
}
  • block expression -- an expression containing a local declaration, which is used only for evaluating this expression. In the following excerpt from ML program, local declaration of g can be used only during evaluation of the following expression:
let
    val g = 9.8
in
    m * g * h
end

References

  • Watt, David A. (1990) [1990]. "Bindings". Programming Language Concepts and Paradigms. Prentice Hall. pp. 82โ€“83. ISBN 0-13-728874-3. {{cite book}}: Unknown parameter |origmonth= ignored (help)