Patterns and Compositionality

Jim Little jiml@inconnect.com
Wed, 26 Jan 2000 16:36:14 -0700


I haven't read the paper yet (but I plan to), but I did want to
contribute a definition:

Massimo Dentico wrote:
> (I am not aware of any formal definition
> of "pattern" in "software engineering", so I suppose that equating
> it with the "pattern" in functional and logic programming sense is
> correct;  is it the same in the Scandinavian school of OO (Beta)?)

Design patterns are based on the patterns of Christopher Alexander. 
Christopher Alexander was an architect, so I doubt there's any
correlation with functional programming.  Here's the definition from
_Design Patterns,_ the premier book on the subject:

"A design pattern names, abstracts, and identifies the key aspects of a
common design structure that make it useful for creating a reusable
object-oriented design.  The design pattern identifies the participating
classes and instances, their roles and collaborations, and the
distribution of responsibilities.  Each design pattern focuses on a
particular object-oriented design problem or issue.  It describes when
it applies, whether it can be applied in view of other design
constraints, and the consequences and trade-offs of its use."

Based on this definition, your later assertion, below, doesn't apply.

> So,  it's seem to me that is  the formal framework of reference to
> be inadequate, not  the whole functional/logic languages as stated
> by Wegner (some has pattern matching).

Jim