<p>This is in the context of <a href="http://en.wikipedia.org/wiki/Automatic_differentiation" rel="noreferrer">Automatic Differentiation</a> - what would such a system do with a function like <code>map</code>, or <code>filter</code> - or even one of the <a href="http://en.wikipedia.org/wiki/SKI_combinator_calculus" rel="noreferrer">SKI Combinators</a>?</p>

<p>Example: I have the following function:</p>

<pre><code>def func(x):
    return sum(map(lambda a: a**x, range(20)))
</code></pre>

<p>What would its derivative be? What will an AD system yield as a result? (This function is well-defined on real-number inputs).</p>

Higher-order functions are discrete. They don't have the Cartesian quality of having arguments that have well-defined mappings to points in some n-dimensional space.
However, with your clarification on the answer, there are several things that can be said. Symbolically differentiating some higher-order functions would be possible, but only for certain calling patterns that resolve to well-known functions.
Probably,
numerical differentiation
would be more fruitful, as it can estimate the derivative by repeatedly evaluating the given function.
Also, functions that are totally general - and your example is heading that way, with use of relatively arbitrary functions - eventually you'll hit Turing completeness, which will mean that no amount of cleverness on the part of a symbolic differentiator will be able to automatically differentiate the function.