A modern functional language such as SML has a similar form:
fun sum l =
if null(l) then 0 else hd(l) + sum(tl(l));
However SML has a sophisticated and rigorous static type system, due to
Hindley and Milner.
A more direct descendent of POP-2 is POP-11:
define sum(l); if null(l) then 0 else hd(l) + sum(tl(l)) endif enddefine;POP-11 is the core language of the POPLOG system, which provides integrated implementations of SML, Prolog and Common Lisp, in addition to POP-11.