Principles of Language Design

Late last year, Sophia Drossopoulou and Éric Tanter asked us about the principles behind the design of Grace. About the values, principles, and practices, in fact, with reference to Dave Ungar’s great Dahl-Nygaard ECOOP Keynote.

I’m pretty sure we’ll be able to do a good job of describing Grace’s principles retrospectively, in around 2025 (doing as good a job as Dave will be much harder of course). To be fair, we have made a start, in that the Grace Manifesto and SPLASH sides contain a potpourri of principles — perhaps values and practices too — that we seek to follow in the design of Grace.

So as well as posting notes on language design, in 2011, we plan to post notes on the principles underlying our design of Grace – unpacking the principles in the manifesto and panel slides (they’re not quite the same, it turns out) and no doubt introducing some new principles we discovered along the way.

For now, I’ll start by mentioning one principle that doesn’t get an explicit notice in either the manifesto or the panel slides: openness. We genuinely hope that the design of Grace can be as open as possible: while there is a core group of “committers” to the specification, as yet, nothing’s fixed or final: and we have already made or confirmed significant decisions about Grace based on the feedback from supporters and the blog. We hope to continue as openly and as transparently as we can — that’s what this blog is about — and we hope to augment this with some Grace workshops around the world in 2011.

Wishing you all a happy and graceful New Year