From the point of view of programming languages and HCI (Human-Computer Interface) research, it seems that the declarative features of a language are those that offered pretty decisive advantages for GUI applications. I really support that view even though I am not so knowledgeable in the field.
(That was possibly surprising for programming languages researchers, but they usually acknowledge that obsevation. HCI researchers find the fact pretty natural but frequently do not seem to have such a clear view of declarative vs. functional features.)
I've seen a few examples of that in those (now old) projects: Garnet (CMU Common Lisp), Amulet (CMU successor to Garnet, C++ based, but very different from C++ in practice), and Mozart-OZ (GUI component).