That specific formalism is only specific to McCarthy's implementation though, not even CL counts, as it greatly expands and derives beyond it.
Even McCarthy's lisp had iterations of itself.
Personally, I think the second paper actually points to the essential component for me:
> LISP data are symbolic expressions that can be either atoms or lists. Atoms are strings of letters and digits and other characters not otherwise used in LISP. A list consists of a left parenthesis followed by zero or more atoms or lists separated by spaces and ending with a right parenthesis. The LISP programming language is defined by rules
whereby certain LISP expressions have other LISP expressions as
values.
I would use that to generalize to a family of languages like so:
"""
A Lisp language consists of:
1) Some data representation which are symbolic expressions that can be either atoms or lists. Atoms are strings of letters and digits and other characters not otherwise used in the given Lisp language. A list consists of a starting character (commonly left parentheses) followed by zero or more atoms or lists separated by seperator characters (commonly spaces) and ending with a terminating character (commonly right parenthesis).
2) A programming language whose code uses that data representation and is defined by rules
whereby certain Lisp expressions have other Lisp expressions as
values.
"""
Personally I think that's the key aspect, the characteristics of what those rules are, and what the chosen characters are is what creates the family of language, they are the parameters you're allowed to change and must change for it to be a dialect and not just an alternate implementation of the same language.