If you consider languages such as ML, Lisp and Scheme to be functional (and most would), these are all languages in which functions have undeclared side effects. (In fact, global variables, for example, are quite heavily used in Lisp.)Second, even in pure (I use this as the term of art) languages such as Haskell and Clean, state is quite heavily used: the big difference is in how you manage stat