Please correct me if I am off the right track here, but is not the distinction the fact that: 
in a &quot;functional language&quot; or maybe &quot;parenthentical up-cup evaluating language&quot;<p>functions are invoked in an encapsulating way, and no state is kept between function-cup-up-segments-of-code, but there is a R.E.P.L that (replies) when you invoke a (parens) which is, in LISP-land known as a program.<p>However, now that I have mind-dumped that ^ I recall haskell and erlang also being called &quot;functional&quot; but I don&#x27;t know their syntax any more than a chimpanzee knows that the sun is round.