Claus Reinke: regarding Tennent's "Language Design based on Semantic Principles"
Gives interesting interpretation of the principles:
"Correspondence is the principle that lets us say that
let(this=obj, x=5) { .. }
and
((function(x) { .. }).call(obj,5))
should be equivalent, and that anything we can do in
formal parameter lists, we should also be able to do in
declarations, and vice versa." [see also, Reinke, below.]
R. D. Tennent: Language design methods based on semantic principles
"Two language design methods based on principles derived from the denotational approach to programming language semantics are described and illustrated by an application to the language Pascal. The principles are, firstly, the correspondence between parametric and declarative mechanisms, and secondly, a principle of abstraction for programming languages adapted from set theory. Several useful extensions and generalizations of Pascal emerge by applying these principles, including a solution to the array parameter problem, and a modularization facility."
Claus Reinke: "On functional programming, language design, and persistence" on Haskell
exprgets the current stack trace. – Landei Nov 18 '11 at 9:16