Re: Database Design Patterns?

From: Bob Badour <bbadour_at_pei.sympatico.ca>
Date: Tue, 03 Apr 2007 12:57:33 GMT
Message-ID: <1bsQh.18839$PV3.195476_at_ursa-nb00s0.nbnet.nb.ca>


Marshall wrote:

> On Apr 2, 6:12 pm, Bob Badour <bbad..._at_pei.sympatico.ca> wrote:
>
>>Doug Morse wrote:
>>
[snip]
>
> Coincidentally, we were just mentioning design patterns
> over in comp.lang.functional like yesterday. Several authors
> have observed that OOP design patterns sort of dissolve
> in a functional language setting. For example:
>
> http://norvig.com/design-patterns/

Having read most of the norvig presentation, I am more convinced than ever we need a convenient way to express big SIGMA style functions over sets of things regardless whether the result is a simple scalar or a relation or some other generic type.

For example, this slide http://norvig.com/design-patterns/img041.gif discusses multiple iteration, which we all know is just an iteration over the join of three relations.

Big SIGMA style functions range over sets, and relations are sets. And intervals are sets. And sets are sets. And tuples are sets.

Whether the base operation is addition as in SIGMA or print as in one of the iterations in the slide above, the operations are function, which are relations. The constraints on those relations expose to the system important properties like commutativity. Even when not explicitly declared for a function, the system may be able to deduce invariants from the algorithms themselves. Received on Tue Apr 03 2007 - 14:57:33 CEST

Original text of this message