WG211/M12Erwig

From WG 2.11
Jump to: navigation, search

Towards Explicitness as a Language Design Criterion by Martin Erwig

The specific set of features offered by a particular (programming) language is often a reflection of a (potentially unconcious) design decision about which aspects of the language's semantic domain are made explicit and which aspects are left implicit. Among the advantages offered by explicit representations are the promise for users to being better able to express intent, the avoidance of hidden and thus often vague and ambiguous assumptions, and the opportunity for manipulability, that is, the opportunity for transformations of all kinds. The disadvantages of explicit representations are that they lead to more complex languages with more interactions between features and thus potentially more complex semantics.

In this presentation I want to draw attention to the aspect of explicitness by presenting a number of examples. I would like to start a discussion of the subject that can help to answer the following questions: (1) How can we perform cost/benefit analysis for explicit representations? (2) What obvious and not-so-obvious guidelines can we devise that could help language designers decide whether or not to make a particular language aspect explicit? (3) Can those cost/benefit analyses and guidelines employed efficaciously in the redesign of existing languages and notations?