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