> The ability to create self-selecting units of code is very powerful. It resounds of decentralization, local-control, Complex Systems. Wow!
>
>
Complex & powerful , Yes. Thats a double-edged sword, IMHO.
Imagine the entire web as self-selecting. That would be complex and
powerful ! (and really really dangerous).
> Are there other programming languages that support self-selecting units of code?
>
>
Any language that allows function overloading by signature is "self
selecting" in the sense you describe templates, IMHO.
e.g. say in C++ or Java
foo( int x );
foo( String x)
... call
foo( "hi") ;
Self-selects by the parameter type (and number). Perhaps not quite the
same as self-selecting by a select expression but similar in concept.
Some languages self-select by the return type as well (but not java or C++).
Again, powerful, complex, and dangerous.
There have been many debates (undecided IMHO) as to if this is "good"
or "bad".
But its unambiguously "powerful".
> Do you agree that self-selecting units of code represents a more fundamental concept than functions?
>
Not sure exactly what you mean by "fundamental" ... it can have
different meanings.
-------------------------
David A. Lee
http://www.calldei.com
http://www.xmlsh.org