*Pattern *suggests *design pattern*. Perhaps closer but still not quite
right since *design pattern *doesn't imply executable code whereas the
examples I gave earlier do. Some design patterns do fit my categorization.
The Visitor pattern is a good example because it can be implemented as code.
One can write a visitor function that takes a tree and a function and
applies the function to each node of the tree -- like map except on trees.

-- Russ



On Mon, Sep 7, 2009 at 12:30 PM, Russ Abbott <[email protected]> wrote:

> A private message suggested *template *or *pattern*. The problem with 
> *template
> *or *pattern *is that they are too generic. Neither implies any kind of
> defined processing. Each is just a pattern with holes and without suggesting
> that the pattern *does anything* to whatever fits into the holes.
>
> -- Russ
>
>
>
> On Mon, Sep 7, 2009 at 12:14 PM, Russ Abbott <[email protected]>wrote:
>
>> This is to the programmers on this list.
>>
>> I'm looking for a word that refers generically to software that is open to
>> virtually object in its host language. The best way for me to explain it is
>> with examples.
>>
>>    - In Java, the various collection classes each have this property. A
>>    List can be a list of anything. (Note that this isn’t about generics such 
>> as
>>    List<type>. It’s about the fact that the List functionality does not limit
>>    the sorts of things one can put into a list. Typed lists are simply a way 
>> of
>>    ensuring that a program gets its types right. That's a separate
>>    consideration.)
>>
>>
>>    - Other examples include map and reduce in functional programming.
>>    They are open if not to anything at least to lists of any sort and to
>>    functions or any sort that operate on elements in those lists.
>>
>>
>>    - Another example is a genetic algorithm in that it does not limit the
>>    function that is used as a fitness function or the possible population
>>    elements.  Again, these can be anything.
>>
>> So is there a generic word for software with this sort of "downwardly
>> open" property?
>>
>> It may be something like "structural" in that the software defines an
>> operational structure but not the elements that occupy the structure. Is
>> there any commonly used word for this?
>>
>> -- Russ
>>
>> P.S. This demonstrates that one can have an idea before having a word for
>> the idea.
>>
>>
>
============================================================
FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org

Reply via email to