Re: Declarative constraints in practical terms

From: David Cressey <>
Date: Mon, 27 Feb 2006 12:44:12 GMT
Message-ID: <wuCMf.4813$Gw2.2589_at_trndny03>

"Marshall Spight" <> wrote in message

> Ultimately, statefulness is something to be avoided, except in
> the central datastore. That's my big gripe with OOP: state is
> sprinkled throughout your code, like sand in the machinery. :-)

When we implemented MDL, we spent a lot of time debating whether to support what we called at the time "local static variables". We finally decided against it, and decided that state information would be on the stack, in the heap, or in something called the"association manager". I'm not exactly sure what the association manager did. It must have been, sort of, the "central datastore" of MDL.

The guy who wrote the association manager was Carl Hewitt. Carl had already gotten the idea for a language called "Planner" at the time we wrote MDL. The concepts behind planner influenced the association manager of MDL. Alan Kay, who invented Smalltalk, was enormously impressed with the concepts behind the Planner language.

So I think that, ultimately, there's a traceable connection between OOP, the MVDM (multivalue data model) as expounded by Dawn, the relational model, SQL, the system you intend to build, and my ramblings about MDL. Whether there's enough value in that connection to unearth the details about MDL or not is something I do not know.

Someone recently asked me for the design principles behind MDL. I'm embarrassed by my lack of a coherent answer to that question. So, in my research on MDL, I ran into an online copy of the "Revised Report on the Scheme language" by Gerry Sussman. This paper discussed the relationship between the lambda calculus and MDL better than I can.

All I was in the MDL project was a programmer smart enough to write a compacting garbage collector and dumb enough to think that it was important. Received on Mon Feb 27 2006 - 13:44:12 CET

Original text of this message