Appearance of Formal Derivative in Algebra When studying polynomials, I know it is useful to introduce the concept of a formal derivative. For example, over a field, a polynomial has no repeated roots iff it and its formal derivative are coprime. My question is, should we be surprised to see the formal derivative here? 
Is there some way we can make sense of the appearance of the derivative (which to me is an analytic object) in algebra? I suspect it might have something to do with the fact that the derivative is linear and satisfies the product rule, which makes it a useful object to consider. It would also be interesting to hear an explanation which explains this in the context of algebraic geometry.
Thanks!

There was a abstract-algebra tag, so this idea by Conor McBride might be of interest to you.
To put it shortly, you can find a meaning for formal derivative in discrete part of mathematics.

Introduction.
Let $A$, $B$, $C$, etc. be some types, and then $A\times B$ be the product type and $A + B$ be the coproduct. Moreover, let $B^A$ be the type of functions from $A$ to $B$. (To gain some intuition, you can think of $A$, $B$, etc., as subsets of some universe $U$, $A\times B$ would be then the Cartesian product and $A + B$ would be the disjoint union.)
Observe, that $|A+B| = |A| + |B|$, $|A\times B| = |A|\cdot|B|$, and $|B^A| = |B|^{|A|}$. Denote as 


*

*$\mathbf{0}$, the uninhibited type (something like an empty set),

*$\mathbf{1}$, a type with one element (something like a singleton),

*$\mathbf{2}$, a type with two elements,

*etc.


Then, $|A\times A| = |A^\mathbf{2}|$, and of course there is an isomorphism between pairs of type $A$ and functions $\mathbf{2} \to A$ (indeed application of the first element of $\mathbf{2}$ would be a $\pi_1$ projection). Many more identities are working, e.g. distributive law
$$(A+B)\times C \equiv A\times C + B \times C,$$
and the well-known law of exponentiation becomes the Currying operation
$$(A^B)^C \equiv A^{B\times C}.$$
Data structures.
Data structures are functions on types. An example of non-trivial data structure is the list. It can be defined recursively as
$$L[X] = \mathbf{1} + X \times L[X], \tag{1}$$
that is, the list is an empty list or it contains the head (which is of the parameter type) and the tail (which is again, a list). Solving $(1)$ for $L[X]$ we get that
$L[X] \equiv \frac{\mathbf{1}}{\mathbf{1}-X} = \mathbf{1} + X + X^2 + X^3 + \ldots$.
In other words, the list is isomorphic to a type that is a singleton, or a 1-tuple, or 2-tuple, etc. Please note, that my description is rather informal, however, it would take ages to introduce proper definitions.
Formal derivative.
Now, the surprise: the formal derivation is similar to removing an element form the data structure in question (which is represented by some function).
For example, $(A^3)' \equiv 3\times A^2$, i.e. if we remove one $A$ from 3-tuple we get a 2-tuple and an indicator, where the element was taken from  (there were three places possible).
$$L'[A] \equiv \left(\frac{1}{1-A}\right)' \equiv \left(\frac{1}{1-A}\right)^2 \equiv L[A]\times L[A],$$
in other words, a list without an element becomes two lists, that is the elements before the taken, and the rest, after the taken. The usual laws also work, e.g.
$$\left(F[G[X]]\right)' \equiv F'[G[X]]\times G'[X],$$ 
that is, if we want to remove $X$ from a nested structure $F[G[X]]$, the we need first to remove some $G[X]$ from $F$, and then from this $G[X]$ remove $X$.
Finally, the Taylor expansion also works, however, I will leave out the interpretation as to not spoil all the fun ;-)
$$F[X+Y] \equiv F[X] + F'[X]\times Y + F''[X]\times \frac{Y^2}{2} + F'''[X]\times\frac{Y^3}{3!} + \ldots$$

I hope I made you curious ;-)
