Functional Reactive Programming (FRP) is a specific programming model with a specific semantics.
(Actually, there are two variants, which are sometimes called "classic FRP" and "arrow FRP".)
I've given a summary in an answer to "What is (functional) reactive programming?".
As I said there, the two key properties for me have always been (a) precise & simple denotation and (b) continuous time.
I regret that this model came to be called "functional reactive programming", for a few reasons:
That name omits "time", and time is central for me.
The term "functional" has so little specific/clear meaning.
I much prefer Peter Landin's suggested replacement "denotative".
(See the quotes and reference in this blog comment.)
It's easy for people to incorrectly think they know what the term means because they know meanings (more or less) of each of the three words.
For descriptiveness & accuracy, I prefer the term "denotative continuous-time programming" (suggested by Jake McArthur in a conversation a while back) over "functional reactive programming".
FRP is a combination of Functional programming(programming paradigm built upon the idea of everything is a pure function) and reactive programming paradigm (built upon the idea that everything is a stream(observer and observable philosophy)). It is suppose to be the best of both the worlds.
The definition of both give a more clear distinction between the two.