PaulChisholm:
A ``Patterns Handbook Language''
combines loosely coupled, general patterns.
The patterns, and the language itself,
captures expertise in a problem or solution domain.
(Compare with
PrescriptivePatternLanguage.)
Because ``handbook'' patterns are so abstract,
the elements of
AlexandrianForm
(motivation, context, examples, etc.)
are important.
Examples:
The
GangOfFour DesignPatterns book[1].
The patterns handbook being published by Siemens[2].
JimCoplien's ``Advanced C++'' book[3]
(arguably ``just''
ProgrammingIdioms).
JimCoplien:
I feel that, to be a pattern language at all, the patterns
must work together just as the grammatical constructs of
a natural language work together to form literary works.
I perceive a (weakly) established distinction between a
PatternCatalog and a
PatternLanguage.
A
PatternCatalog assembles largely disjoint patterns;
a
PatternLanguage weaves related patterns together.
JimCoplien's ``Advanced C++'' contains idioms.
Idioms are language-specific (low-level?) patterns
(
KindsOfPatterns).
However, ``Advanced C++'' may be neither a
PatternCatalog
nor a
PatternLanguage, as it is organized around the
abstracting principles of the language, not around the
idioms themselves.
CategoryGroupsOfPatterns