1) What is the mainstream functional programming language today (I don't want to get lost myself studying a plethora of FP languages, just because language X has the feature Y)?
Sarei molto titubante nel nominarne uno solo qui. FP in sé non è affatto mainstream, quindi chiamare "mainstream" qualsiasi linguaggio FP sarebbe sciocco.
Ci sono alcuni linguaggi di programmazione FP che cercano il contatto con la programmazione tradizionale, ad es. Scala, F # e Clojure, con il supporto di una piattaforma mainstream (ad esempio JVM o .NET), e ci sono alcuni linguaggi di programmazione tradizionali con almeno un certo grado di supporto FP (JavaScript è il più popolare).
All'interno del regno di FP, il Lisp (Common Lisp e Scheme sono i dialetti più importanti, con Clojure come un nuovo arrivato relativo) sta probabilmente guidando il pacchetto in termini di numero di utenti, così come supporto di librerie e piattaforme. A meno che tu non contenga JavaScript, che è sorprendentemente simile a Scheme in molti modi (se riesci a guardare oltre la sintassi).
2) What was the first FP language (the Fortran of functional programming if you want)?
Sicuramente Lisp. Non ci sono dubbi.
3) Finally, when talking about pure vs. non pure FP what are the mainstream languages of each category?
Se vuoi essere veramente puro, c'è in realtà una scelta molto piccola - Haskell si impegna a essere completamente puro (il linguaggio stesso: il runtime può e solitamente esegue azioni impure), e ci sono alcune lingue sperimentali che seguono un filosofia simile ma diversa da Haskell in vari modi. AFAIK, gli altri consentono tutti i costrutti impuri in un modo o nell'altro, alcuni sono più accademici rispetto ad altri.