This is not a member of a complete pattern language
at this point. For a more extensive treatment of the
topic, see ''A Pattern Language for Pattern Writing''
(Chapter 29) from ''Pattern Languages of Program Design 3''.
------

'''Pattern Name:''' PatternPattern

'''Aliases:''' A Way to Learn, Acquiring New Mental Tools

'''Context:''' You are searching for additional methods to deal with
your current needs and the unforeseen needs that might arise in the
future.

'''Problem:''' You need to learn something new or add to something you know.

'''Forces:''' You are enabled with a set of mental structures and
functions that can be readily expanded or reconfigured to match
a wide variety of contexts and circumstances.

'''Solution:''' Use a scalable mental meta-structure that reflects your
own internal mental structure and activates those structures to adapt
to an unfamiliar context.

'''Resulting Context:''' Something new is learned, potentially at many levels
of scale and function. Previously unintegrated memories and skills now
relate to each other in previously unforeseen ways. This concentrated approach
to learning also integrates elements of the learning process itself in new ways.

'''Design Rationale:''' Learning requires a flexible, reusable, and scalable
set of active yet stable  relationships that can change in order to adapt to
and reflect changes in the environment, as well as improve the level of
integration in existing mental structures and functions. A pattern is a
template of such a set of relationships. The structure of an effective pattern
reminds its reader of familiar elements, but presents them in unfamiliar
relationships. Once the pattern is related to familiar structures and functions,
the pattern reader is freely able to cross limiting boundaries of thought to
come to new mappings of the pattern to concrete analogs. The pattern may
also complete previously incomplete associations and relationships.
The pattern reader associates "Players" in a set of "Relationships" undergoing
"Transformations" that result in a modified set of "Players" and "Relationships".
Once the pattern is 'learned' (meaning multiple levels of scale have been
engaged and integrated), the process does not end. Each pattern is then
seen in a wider context: a pattern language. The patterns in the pattern
language are related to each other in such a way as to reinforce and the
overall set of "Players", "Relationships", and "Transformations" that
each pattern presents. To put all this in context, consider the following
descriptions:

''Pattern Name:'' An abstract tag that identifies the pattern.

''Context:'' The Players in the scene. Players may be concrete or abstract.

''Problem:'' The Players need a Transformation to modify their relationships
between each other and their environment. Typically this is necessary
due to conflicts in the existing set of relationships. The impact of these
conflicts must be removed or limited.

''Forces:'' Relationships between Players and their  environment.

''Solution:'' The mechanics of carrying out the Transformation in the
relationships between the Players and their environment.

''Resulting Context:'' A transformed set of relationships between Players
and their environment.

''Design Rationale:'' Justification for the use of the specified Transformation
to attain the specified changes in relationships.

''Examples:'' Analogs of the abstract pattern to familiar concrete scenarios.

''Related Patterns:'' Other abstract scenarios that have overlapping
elements in terms of the Players, Relationships, Environment, Conflicts,
and/or Transformations presented in this pattern.

If you think that this Design Rationale is fractal, self-referential,
and/or recursive, you are exactly correct.

'''Examples:''' Cope's OrgPatterns, GOF Patterns, Christopher Alexander's ''A Pattern Language''.

'''Related Patterns:''' TheChildAtPlay, TheFamilyTeachesTheChild,
TheSocietyTeachesTheChild, TheChildBecomesAnAdult, TheAdultAtPlay.

'''Related Publications:'''
Marvin Minsky's
''Society of Mind'',
and certainly '''many''' more.

-- DavidCymbala

------
This pattern is struggling to find the broader context of
''writing'' patterns. Clearly, learning is enhanced
immensely by active participation. Writing patterns
also changes the way one ''reads'' patterns. I would like
to eventually integrate both sides of this process
in this one pattern. --David
------
BrianFoote has noted that this pattern lacks a
specific recommendation of what to ''do''.
It is a rather abstract approach I have taken here,
but I do expect to make it more explicit soon.
The pattern is currently oriented towards ''learning''
from pattern languages rather than ''writing''
pattern languages. Pattern languages convey
subtle information about complex situations which
are almost impossible to say in a short, succinct way.
Hence their importance for learning. --David

----
See also WhenToUsePatternForm, PatternTemplate.