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:
tmp
variable declared is local to the surrounding block command:if (a > b) { int tmp; tmp = a; a = b; b = tmp; }
g
can be used only during evaluation of the following expression:let val g = 9.8 in m * g * h end
leap
, using an auxiliary function multiple
:local fun multiple (n: int, d: int) = (n mod d = 0) in fun leap (y: int) = (multiple (y,4) andalso not multiple (y, 100)) orelse multiple (y,400) end
Original source: https://en.wikipedia.org/wiki/Qualification principle.
Read more |