I'm having trouble finding a detailed history of Clean, but I believe it predates Haskell. My understanding is that Miranda prompted a handful of lazy, pure functional languages. Haskell was an attempt to unify them. In Coders at Work, SPJ mentions that a few of those implementors were not interested in participating with the Haskell group. Is Clean one of those languages? (Of course, that doesn't mean they haven't influenced each other over the years, what I'm trying to suggest is that maybe an edge belongs from Miranda to Clean as well.)
It'd be interesting to see a graph of the influence of functional languages on other languages, too. Things like Python's list comprehensions borrowed from Haskell, and JavaScript borrowing lots of things from Scheme. I can only imagine that such a graph would be larger and less comprehensible than the present one!
Lexically scoped closures are from Scheme* and virtually all modern languages have them now. (Well, C++ and Java are late on the lambda boat, but C++11 and it seems Java 8 are getting them.) That's a huge influence.
* Scheme was the first Lisp to gain lexical scope, and C of course has lexical scope but not closures, but what's the full history here? It's also part of the lambda calculus.
In two respects:
* the view patterns syntax was built to enable bit level parsing, inspired by the Erlang support (I wrote the binary library to emulate Erlang support for IP header parsing).
More recently,
* Cloud Haskell
See e.g. for Haskell, originally as http://www.haskell.org/pipermail/haskell-cafe/2010-February/... and now as http://www.haskell.org/wikiupload/6/65/HIW2011-Talk-Tibell.p...
However, your graph will be much more complicated if libraries are allowed to influence each other, rather than strictly considering language features.
[1] http://www.eecs.northwestern.edu/~robby/pubs/papers/ho-contr...
The nice one about this graph is that it is relatively complete.
http://jaisharma.info/static/choice/images/projects/lineage.... .
I mean, from the ones shown, it's sort of obvious, but I'm thinking in general. Also, Common Lisp, Racket, and Clojure are different enough that they count as separate languages in their own right, rather than 'variations', which a dotted line might imply.
How about: If you program in it using s-expressions, it’s a Lisp.
Qi is interesting but the development community is much smaller than its competitors (mainly Haskell). You probably want to look into Shen, not Qi. Qi development has mostly stalled.
Cf. D. Nolen's fantastic work in this field