my-server
← Wiki

Qualification principle

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.

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, <code>tmp</code> variable declared is local to the surrounding block command:
  • 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 <code>g</code> can be used only during evaluation of the following expression:
  • block declaration is one containing a local declaration, the bindings produced by which are used only for elaborating the block declaration. In the following excerpt from ML program, local declaration of function <code>leap</code>, using an auxiliary function <code>multiple</code>:

References