*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
